Ultimate Member – User Profile & Membership Plugin - Version 1.3.73

Version Description

Download this release

Release Info

Developer champsupertramp
Plugin Icon 128x128 Ultimate Member – User Profile & Membership Plugin
Version 1.3.73
Comparing to
See all releases

Code changes from version 1.3.72 to 1.3.73

Files changed (441) hide show
  1. addons/bp_avatar_transfer.php +98 -98
  2. addons/generate_random_users.php +260 -260
  3. addons/gravatar_transfer.php +82 -82
  4. addons/system_info.php +410 -410
  5. admin/assets/css/um-admin-builder.css +301 -301
  6. admin/assets/css/um-admin-columns.css +66 -66
  7. admin/assets/css/um-admin-dashboard.css +127 -127
  8. admin/assets/css/um-admin-form.css +60 -60
  9. admin/assets/css/um-admin-global.css +89 -89
  10. admin/assets/css/um-admin-menu.css +2 -2
  11. admin/assets/css/um-admin-misc.css +259 -259
  12. admin/assets/css/um-admin-modal.css +297 -297
  13. admin/assets/css/um-admin-redux.css +226 -226
  14. admin/assets/css/um-admin-rtl.css +73 -73
  15. admin/assets/css/um-admin-select2.css +192 -192
  16. admin/assets/js/um-admin-ajax.js +52 -52
  17. admin/assets/js/um-admin-builder.js +41 -41
  18. admin/assets/js/um-admin-dashboard.js +2 -2
  19. admin/assets/js/um-admin-dragdrop.js +409 -409
  20. admin/assets/js/um-admin-field.js +88 -88
  21. admin/assets/js/um-admin-form.js +37 -37
  22. admin/assets/js/um-admin-modal.js +364 -331
  23. admin/assets/js/um-admin-scripts.js +194 -194
  24. admin/assets/js/um-admin-users.js +30 -30
  25. admin/core/lib/ReduxFramework/.jshintrc +0 -19
  26. admin/core/lib/ReduxFramework/CHANGELOG.md +0 -1857
  27. admin/core/lib/ReduxFramework/CONTRIBUTING.md +0 -27
  28. admin/core/lib/ReduxFramework/Gruntfile.js +0 -439
  29. admin/core/lib/ReduxFramework/ReduxCore/assets/css/select2.css +0 -704
  30. admin/core/lib/ReduxFramework/ReduxCore/assets/js/ace.min.js +0 -11
  31. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/README.md +0 -114
  32. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/release.sh +0 -79
  33. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-bootstrap.css +0 -87
  34. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2-spinner.gif +0 -0
  35. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.css +0 -704
  36. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.jquery.json +0 -36
  37. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.js +0 -3541
  38. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.min.js +0 -23
  39. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2.png +0 -0
  40. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ar.js +0 -19
  41. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_az.js +0 -20
  42. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_bg.js +0 -20
  43. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ca.js +0 -19
  44. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_cs.js +0 -51
  45. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_da.js +0 -19
  46. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_de.js +0 -18
  47. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_el.js +0 -19
  48. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_en.js.template +0 -20
  49. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_es.js +0 -19
  50. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_et.js +0 -19
  51. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_eu.js +0 -45
  52. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fa.js +0 -21
  53. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fi.js +0 -30
  54. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_fr.js +0 -18
  55. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_gl.js +0 -45
  56. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_he.js +0 -19
  57. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hr.js +0 -24
  58. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_hu.js +0 -17
  59. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_id.js +0 -19
  60. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_is.js +0 -17
  61. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_it.js +0 -17
  62. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ja.js +0 -17
  63. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ka.js +0 -19
  64. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ko.js +0 -19
  65. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lt.js +0 -26
  66. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_lv.js +0 -19
  67. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_mk.js +0 -19
  68. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ms.js +0 -19
  69. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nb.js +0 -22
  70. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_nl.js +0 -17
  71. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pl.js +0 -54
  72. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-BR.js +0 -18
  73. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_pt-PT.js +0 -17
  74. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ro.js +0 -17
  75. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_rs.js +0 -19
  76. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ru.js +0 -23
  77. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sk.js +0 -50
  78. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_sv.js +0 -19
  79. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_th.js +0 -19
  80. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_tr.js +0 -19
  81. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_ug-CN.js +0 -16
  82. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_uk.js +0 -25
  83. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_vi.js +0 -20
  84. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-CN.js +0 -16
  85. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2_locale_zh-TW.js +0 -16
  86. admin/core/lib/ReduxFramework/ReduxCore/assets/js/vendor/select2/select2x2.png +0 -0
  87. admin/core/lib/ReduxFramework/ReduxCore/inc/class.redux_themecheck.php +0 -123
  88. admin/core/lib/ReduxFramework/ReduxCore/inc/debug.php +0 -84
  89. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ace.js +0 -11
  90. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-emmet.js +0 -5
  91. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/ext-searchbox.js +0 -5
  92. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-css.js +0 -1
  93. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-html.js +0 -1
  94. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-javascript.js +0 -1
  95. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-json.js +0 -1
  96. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-less.js +0 -1
  97. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-markdown.js +0 -1
  98. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-mysql.js +0 -1
  99. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-php.js +0 -1
  100. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-plain_text.js +0 -1
  101. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-sass.js +0 -1
  102. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-scss.js +0 -1
  103. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-text.js +0 -0
  104. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/mode-xml.js +0 -1
  105. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/css.js +0 -1
  106. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/html.js +0 -1
  107. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/javascript.js +0 -1
  108. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/json.js +0 -1
  109. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/less.js +0 -1
  110. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/markdown.js +0 -1
  111. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/mysql.js +0 -1
  112. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/php.js +0 -1
  113. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/plain_text.js +0 -1
  114. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/sass.js +0 -1
  115. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/scss.js +0 -1
  116. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/text.js +0 -1
  117. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/snippets/xml.js +0 -1
  118. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/theme-chrome.js +0 -1
  119. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/theme-monokai.js +0 -1
  120. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-css.js +0 -1
  121. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-html.js +0 -1
  122. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-javascript.js +0 -1
  123. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-json.js +0 -1
  124. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/ace_editor/vendor/worker-php.js +0 -1
  125. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sorter/field_sorter-works.js +0 -40
  126. admin/core/lib/ReduxFramework/ReduxCore/inc/fields/sorter/field_sorter-works.min.js +0 -1
  127. admin/core/lib/ReduxFramework/ReduxCore/inc/scssphp/scss.inc.php +0 -4582
  128. admin/core/lib/ReduxFramework/ReduxCore/inc/sysinfo.php +0 -280
  129. admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/zeroclipboard/ZeroClipboard.swf +0 -0
  130. admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/zeroclipboard/jquery.zeroclipboard.js +0 -1881
  131. admin/core/lib/ReduxFramework/ReduxCore/inc/welcome/js/zeroclipboard/jquery.zeroclipboard.min.js +0 -17
  132. admin/core/lib/ReduxFramework/ReduxCore/languages/ar.mo +0 -0
  133. admin/core/lib/ReduxFramework/ReduxCore/languages/bg_BG.mo +0 -0
  134. admin/core/lib/ReduxFramework/ReduxCore/languages/bn_BD.mo +0 -0
  135. admin/core/lib/ReduxFramework/ReduxCore/languages/cs_CZ.mo +0 -0
  136. admin/core/lib/ReduxFramework/ReduxCore/languages/da_DK.mo +0 -0
  137. admin/core/lib/ReduxFramework/ReduxCore/languages/de_DE.mo +0 -0
  138. admin/core/lib/ReduxFramework/ReduxCore/languages/el.mo +0 -0
  139. admin/core/lib/ReduxFramework/ReduxCore/languages/es_ES.mo +0 -0
  140. admin/core/lib/ReduxFramework/ReduxCore/languages/es_MX.mo +0 -0
  141. admin/core/lib/ReduxFramework/ReduxCore/languages/fa_IR.mo +0 -0
  142. admin/core/lib/ReduxFramework/ReduxCore/languages/fi.mo +0 -0
  143. admin/core/lib/ReduxFramework/ReduxCore/languages/fr_FR.mo +0 -0
  144. admin/core/lib/ReduxFramework/ReduxCore/languages/he_IL.mo +0 -0
  145. admin/core/lib/ReduxFramework/ReduxCore/languages/hi_IN.mo +0 -0
  146. admin/core/lib/ReduxFramework/ReduxCore/languages/hr.mo +0 -0
  147. admin/core/lib/ReduxFramework/ReduxCore/languages/hu_HU.mo +0 -0
  148. admin/core/lib/ReduxFramework/ReduxCore/languages/id_ID.mo +0 -0
  149. admin/core/lib/ReduxFramework/ReduxCore/languages/it_IT.mo +0 -0
  150. admin/core/lib/ReduxFramework/ReduxCore/languages/ja.mo +0 -0
  151. admin/core/lib/ReduxFramework/ReduxCore/languages/km.mo +0 -0
  152. admin/core/lib/ReduxFramework/ReduxCore/languages/lt_LT.mo +0 -0
  153. admin/core/lib/ReduxFramework/ReduxCore/languages/nb_NO.mo +0 -0
  154. admin/core/lib/ReduxFramework/ReduxCore/languages/ne_NP.mo +0 -0
  155. admin/core/lib/ReduxFramework/ReduxCore/languages/nl_NL.mo +0 -0
  156. admin/core/lib/ReduxFramework/ReduxCore/languages/pl_PL.mo +0 -0
  157. admin/core/lib/ReduxFramework/ReduxCore/languages/pt_BR.mo +0 -0
  158. admin/core/lib/ReduxFramework/ReduxCore/languages/pt_PT.mo +0 -0
  159. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-ar.mo +0 -0
  160. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-bg_BG.mo +0 -0
  161. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-bn_BD.mo +0 -0
  162. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-cs_CZ.mo +0 -0
  163. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-da_DK.mo +0 -0
  164. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-de_DE.mo +0 -0
  165. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-el.mo +0 -0
  166. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-es_ES.mo +0 -0
  167. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-es_MX.mo +0 -0
  168. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-fa_IR.mo +0 -0
  169. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-fi.mo +0 -0
  170. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-fr_FR.mo +0 -0
  171. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-he_IL.mo +0 -0
  172. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-hi_IN.mo +0 -0
  173. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-hr.mo +0 -0
  174. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-hu_HU.mo +0 -0
  175. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-id_ID.mo +0 -0
  176. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-it_IT.mo +0 -0
  177. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-ja.mo +0 -0
  178. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-km.mo +0 -0
  179. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-lt_LT.mo +0 -0
  180. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-nb_NO.mo +0 -0
  181. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-ne_NP.mo +0 -0
  182. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-nl_NL.mo +0 -0
  183. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-pl_PL.mo +0 -0
  184. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-pt_BR.mo +0 -0
  185. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-pt_PT.mo +0 -0
  186. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-ro_RO.mo +0 -0
  187. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-ru_RU.mo +0 -0
  188. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-sk_SK.mo +0 -0
  189. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-sl_SI.mo +0 -0
  190. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-sv_SE.mo +0 -0
  191. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-th.mo +0 -0
  192. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-tr_TR.mo +0 -0
  193. admin/core/lib/ReduxFramework/ReduxCore/languages/redux-framework-zh_CN.mo +0 -0
  194. admin/core/lib/ReduxFramework/ReduxCore/languages/ro_RO.mo +0 -0
  195. admin/core/lib/ReduxFramework/ReduxCore/languages/ru_RU.mo +0 -0
  196. admin/core/lib/ReduxFramework/ReduxCore/languages/sk_SK.mo +0 -0
  197. admin/core/lib/ReduxFramework/ReduxCore/languages/sl_SI.mo +0 -0
  198. admin/core/lib/ReduxFramework/ReduxCore/languages/sv_SE.mo +0 -0
  199. admin/core/lib/ReduxFramework/ReduxCore/languages/th.mo +0 -0
  200. admin/core/lib/ReduxFramework/ReduxCore/languages/tr_TR.mo +0 -0
  201. admin/core/lib/ReduxFramework/ReduxCore/languages/zh_CN.mo +0 -0
  202. admin/core/lib/ReduxFramework/codestyles/.editorconfig +0 -24
  203. admin/core/lib/ReduxFramework/codestyles/PHPStorm.xml +0 -91
  204. admin/core/lib/ReduxFramework/codestyles/README.md +0 -1
  205. admin/core/lib/ReduxFramework/composer.json +0 -21
  206. admin/core/lib/ReduxFramework/package.json +0 -50
  207. admin/core/lib/ReduxFramework/sample/barebones-config-legacy.php +0 -275
  208. admin/core/lib/ReduxFramework/sample/barebones-config.php +0 -302
  209. admin/core/lib/ReduxFramework/sample/info-html.html +0 -67
  210. admin/core/lib/ReduxFramework/sample/patterns/tree_bark.png +0 -0
  211. admin/core/lib/ReduxFramework/sample/patterns/triangular.png +0 -0
  212. admin/core/lib/ReduxFramework/sample/patterns/triangular_@2X.png +0 -0
  213. admin/core/lib/ReduxFramework/sample/patterns/wild_flowers.png +0 -0
  214. admin/core/lib/ReduxFramework/sample/presets/preset1.png +0 -0
  215. admin/core/lib/ReduxFramework/sample/presets/preset2.png +0 -0
  216. admin/core/lib/ReduxFramework/sample/sample-config-legacy.php +0 -1905
  217. admin/core/lib/ReduxFramework/sample/sample-config.php +0 -2385
  218. admin/core/packages/1.3.39.php +26 -26
  219. admin/core/um-admin-access.php +145 -145
  220. admin/core/um-admin-actions-ajax.php +78 -51
  221. admin/core/um-admin-actions-fields.php +66 -66
  222. admin/core/um-admin-actions-modal.php +368 -368
  223. admin/core/um-admin-actions-user.php +44 -44
  224. admin/core/um-admin-actions.php +445 -445
  225. admin/core/um-admin-builder.php +289 -289
  226. admin/core/um-admin-columns.php +118 -118
  227. admin/core/um-admin-dashboard.php +345 -345
  228. admin/core/um-admin-dragdrop.php +216 -216
  229. admin/core/um-admin-enqueue.php +294 -294
  230. admin/core/um-admin-filters-fields.php +132 -132
  231. admin/core/um-admin-functions.php +111 -111
  232. admin/core/um-admin-metabox.php +1547 -1512
  233. admin/core/um-admin-notices.php +225 -225
  234. admin/core/um-admin-redux.php +126 -126
  235. admin/core/um-admin-roles.php +85 -85
  236. admin/core/um-admin-upgrade.php +31 -31
  237. admin/core/um-admin-users.php +410 -410
  238. admin/index.php +4 -4
  239. admin/templates/access/settings.php +72 -72
  240. admin/templates/dashboard/cache.php +16 -16
  241. admin/templates/dashboard/feed.php +17 -17
  242. admin/templates/dashboard/language-contrib.php +2 -2
  243. admin/templates/dashboard/language-download.php +2 -2
  244. admin/templates/dashboard/language-update.php +2 -2
  245. admin/templates/dashboard/purge.php +10 -10
  246. admin/templates/dashboard/users.php +44 -44
  247. admin/templates/directory/appearance.php +14 -14
  248. admin/templates/directory/general.php +97 -97
  249. admin/templates/directory/pagination.php +35 -35
  250. admin/templates/directory/profile.php +167 -167
  251. admin/templates/directory/profile_card.php +22 -22
  252. admin/templates/directory/search.php +118 -118
  253. admin/templates/directory/shortcode.php +4 -4
  254. admin/templates/extensions.php +193 -193
  255. admin/templates/form/builder.php +31 -31
  256. admin/templates/form/login_css.php +7 -7
  257. admin/templates/form/login_customize.php +110 -110
  258. admin/templates/form/login_settings.php +19 -19
  259. admin/templates/form/mode.php +16 -16
  260. admin/templates/form/profile_css.php +7 -7
  261. admin/templates/form/profile_customize.php +203 -203
  262. admin/templates/form/profile_settings.php +50 -50
  263. admin/templates/form/register_css.php +7 -7
  264. admin/templates/form/register_customize.php +104 -104
  265. admin/templates/form/shortcode.php +4 -4
  266. admin/templates/modal/dynamic_edit_field.php +19 -19
  267. admin/templates/modal/dynamic_edit_row.php +19 -19
  268. admin/templates/modal/dynamic_form_preview.php +14 -14
  269. admin/templates/modal/dynamic_new_divider.php +19 -19
  270. admin/templates/modal/dynamic_new_field.php +19 -19
  271. admin/templates/modal/dynamic_new_group.php +19 -19
  272. admin/templates/modal/dynamic_registration_preview.php +14 -14
  273. admin/templates/modal/fields.php +10 -10
  274. admin/templates/modal/fonticons.php +15 -15
  275. admin/templates/role/admin.php +64 -64
  276. admin/templates/role/delete.php +29 -29
  277. admin/templates/role/general.php +18 -18
  278. admin/templates/role/home.php +26 -26
  279. admin/templates/role/login.php +31 -31
  280. admin/templates/role/logout.php +29 -29
  281. admin/templates/role/profile.php +36 -36
  282. admin/templates/role/register.php +148 -148
  283. admin/templates/role/sync.php +33 -33
  284. admin/templates/welcome/about.php +69 -69
  285. admin/templates/welcome/about_footer.php +13 -13
  286. admin/templates/welcome/about_header.php +42 -42
  287. admin/templates/welcome/start.php +61 -61
  288. admin/um-admin-init.php +76 -76
  289. assets/css/pickadate/default.css +167 -167
  290. assets/css/pickadate/default.date.css +244 -244
  291. assets/css/pickadate/default.time.css +108 -108
  292. assets/css/pickadate/rtl.css +29 -29
  293. assets/css/um-account.css +207 -207
  294. assets/css/um-crop.css +271 -271
  295. assets/css/um-fileupload.css +199 -199
  296. assets/css/um-fonticons-fa.css +1578 -1578
  297. assets/css/um-fonticons-ii.css +1490 -1490
  298. assets/css/um-members.css +339 -339
  299. assets/css/um-misc.css +107 -107
  300. assets/css/um-modal.css +199 -199
  301. assets/css/um-profile.css +543 -543
  302. assets/css/um-raty.css +39 -39
  303. assets/css/um-responsive.css +731 -731
  304. assets/css/um-scrollbar.css +1067 -1067
  305. assets/css/um-select.css +619 -619
  306. assets/css/um-styles.css +903 -903
  307. assets/css/um-tipsy.css +30 -30
  308. assets/css/um.min.css +3 -3
  309. assets/css/um.rtl.css +94 -94
  310. assets/dynamic_css/dynamic_directory.php +44 -44
  311. assets/dynamic_css/dynamic_global.php +306 -306
  312. assets/dynamic_css/dynamic_profile.php +116 -116
  313. assets/font/fontawesome-webfont.svg +519 -519
  314. assets/font/ionicons.svg +2232 -2232
  315. assets/font/raty.svg +14 -14
  316. assets/js/pickadate/legacy.js +133 -133
  317. assets/js/pickadate/picker.date.js +1354 -1354
  318. assets/js/pickadate/picker.js +1163 -1163
  319. assets/js/pickadate/picker.time.js +1013 -1013
  320. assets/js/um-account.js +55 -55
  321. assets/js/um-conditional.js +37 -37
  322. assets/js/um-crop.js +1570 -1570
  323. assets/js/um-fileupload.js +7 -7
  324. assets/js/um-functions.js +997 -997
  325. assets/js/um-jquery-form.js +1277 -1277
  326. assets/js/um-members.js +52 -52
  327. assets/js/um-modal.js +186 -187
  328. assets/js/um-profile.js +99 -99
  329. assets/js/um-raty.js +646 -646
  330. assets/js/um-responsive.js +15 -15
  331. assets/js/um-scripts.js +411 -294
  332. assets/js/um-scrollbar.js +4 -4
  333. assets/js/um-scrollto.js +210 -210
  334. assets/js/um-select.js +21 -21
  335. assets/js/um-tipsy.js +266 -266
  336. assets/js/um.min.js +8 -8
  337. core/lib/array2xml.php +136 -136
  338. core/lib/mobiledetect/Mobile_Detect.php +1319 -1319
  339. core/lib/upload/um-file-upload.php +59 -59
  340. core/lib/upload/um-image-upload.php +57 -57
  341. core/um-access.php +84 -84
  342. core/um-account.php +343 -343
  343. core/um-actions-access.php +765 -765
  344. core/um-actions-account.php +474 -474
  345. core/um-actions-ajax.php +222 -160
  346. core/um-actions-core.php +87 -87
  347. core/um-actions-form.php +488 -484
  348. core/um-actions-global.php +56 -56
  349. core/um-actions-login.php +301 -301
  350. core/um-actions-members.php +227 -227
  351. core/um-actions-misc.php +142 -142
  352. core/um-actions-modal.php +24 -24
  353. core/um-actions-password.php +287 -287
  354. core/um-actions-profile.php +707 -707
  355. core/um-actions-register.php +350 -339
  356. core/um-actions-save-profile.php +65 -65
  357. core/um-actions-user.php +83 -83
  358. core/um-actions-wpadmin.php +134 -134
  359. core/um-api.php +865 -865
  360. core/um-builtin.php +1623 -1623
  361. core/um-chart.php +129 -129
  362. core/um-cron.php +51 -51
  363. core/um-datetime.php +118 -118
  364. core/um-enqueue.php +396 -396
  365. core/um-fields.php +2862 -2601
  366. core/um-files.php +698 -698
  367. core/um-filters-account.php +49 -49
  368. core/um-filters-addons.php +66 -66
  369. core/um-filters-arguments.php +49 -49
  370. core/um-filters-avatars.php +69 -69
  371. core/um-filters-commenting.php +25 -25
  372. core/um-filters-fields.php +434 -386
  373. core/um-filters-files.php +20 -20
  374. core/um-filters-language.php +35 -35
  375. core/um-filters-login.php +94 -94
  376. core/um-filters-members.php +355 -337
  377. core/um-filters-misc.php +9 -9
  378. core/um-filters-navmenu.php +81 -81
  379. core/um-filters-profile.php +98 -98
  380. core/um-filters-user.php +207 -207
  381. core/um-fonticons.php +36 -36
  382. core/um-form.php +279 -284
  383. core/um-login.php +4 -4
  384. core/um-logout.php +41 -41
  385. core/um-mail.php +123 -123
  386. core/um-members.php +326 -322
  387. core/um-menu.php +32 -32
  388. core/um-modal.php +24 -24
  389. core/um-navmenu-walker-edit.php +142 -142
  390. core/um-navmenu-walker.php +24 -24
  391. core/um-navmenu.php +24 -24
  392. core/um-password.php +233 -233
  393. core/um-permalinks.php +498 -491
  394. core/um-profile.php +207 -200
  395. core/um-query.php +428 -428
  396. core/um-register.php +30 -30
  397. core/um-rewrite.php +190 -189
  398. core/um-setup.php +491 -491
  399. core/um-short-functions.php +1894 -1889
  400. core/um-shortcodes.php +605 -605
  401. core/um-taxonomies.php +75 -75
  402. core/um-tracking.php +155 -155
  403. core/um-uninstall.php +48 -48
  404. core/um-user-posts.php +126 -126
  405. core/um-user.php +1074 -1072
  406. core/um-validation.php +202 -202
  407. core/widgets/um-search-widget.php +71 -71
  408. index.php +63 -63
  409. languages/ultimatemember-en_US.mo +0 -0
  410. languages/ultimatemember-en_US.po +61 -61
  411. license.txt +281 -281
  412. readme.txt +1617 -1586
  413. templates/account.php +63 -63
  414. templates/email/approved_email.html +39 -39
  415. templates/email/changedpw_email.html +31 -31
  416. templates/email/checkmail_email.html +31 -31
  417. templates/email/deletion_email.html +29 -29
  418. templates/email/inactive_email.html +29 -29
  419. templates/email/pending_email.html +29 -29
  420. templates/email/rejected_email.html +29 -29
  421. templates/email/resetpw_email.html +31 -31
  422. templates/email/welcome_email.html +32 -32
  423. templates/login-to-view.php +4 -4
  424. templates/login.php +26 -26
  425. templates/logout.php +24 -24
  426. templates/members-grid.php +112 -112
  427. templates/members.php +14 -14
  428. templates/message.php +8 -8
  429. templates/modal/um_upload_single.php +2 -2
  430. templates/modal/um_view_photo.php +12 -12
  431. templates/password-change.php +24 -24
  432. templates/password-reset.php +32 -32
  433. templates/profile.php +33 -33
  434. templates/profile/comments-single.php +17 -17
  435. templates/profile/comments.php +24 -24
  436. templates/profile/posts-single.php +29 -29
  437. templates/profile/posts.php +26 -26
  438. templates/register.php +26 -26
  439. templates/searchform.php +8 -8
  440. um-config.php +2160 -2160
  441. um-init.php +235 -226
addons/bp_avatar_transfer.php CHANGED
@@ -1,99 +1,99 @@
1
- <?php
2
-
3
- class UM_ADDON_bp_avatar_transfer {
4
-
5
- function __construct() {
6
-
7
- add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
-
9
- add_action('admin_init', array(&$this, 'admin_init'), 1);
10
-
11
- add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
-
13
- }
14
-
15
- function admin_menu() {
16
-
17
- global $ultimatemember;
18
- $this->addon = $ultimatemember->addons['bp_avatar_transfer'];
19
- add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'bp_avatar_transfer', array(&$this, 'content') );
20
-
21
- }
22
-
23
- function um_admin_addon_hook( $hook ) {
24
- global $ultimatemember;
25
- switch( $hook ) {
26
- case 'bp_avatar_transfer':
27
- if ( class_exists('BuddyPress') ) {
28
-
29
- $path = bp_core_avatar_upload_path() . '/avatars';
30
-
31
- $files = glob( $path . '/*');
32
- $i = 0;
33
- foreach( $files as $key ) {
34
- $q = (count(glob("$key/*")) === 0) ? 0 : 1;
35
- if ( $q == 1 ) {
36
- $photo = glob( $key . '/*');
37
- foreach( $photo as $file ) {
38
- if ( strstr( $file, 'bpfull' ) ) {
39
- $get_user_id = explode('/', $file);
40
- array_pop($get_user_id);
41
- $user_id = end($get_user_id);
42
- if ( !file_exists( $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' ) ) {
43
- $ultimatemember->files->new_user( $user_id );
44
- copy( $file, $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' );
45
- update_user_meta($user_id, 'profile_photo', 'profile_photo.jpg');
46
- $i++;
47
- }
48
- }
49
- }
50
- }
51
- }
52
-
53
- $this->content = '<p><strong>Done. Process completed!</p>';
54
- $this->content .= $i . ' user(s) changed.</strong></p>';
55
-
56
- }
57
- break;
58
- }
59
- }
60
-
61
- function admin_init() {
62
- if ( isset( $_REQUEST['um-addon-hook'] ) ) {
63
- $hook = $_REQUEST['um-addon-hook'];
64
- do_action("um_admin_addon_hook", $hook);
65
- }
66
- }
67
-
68
- function content() {
69
-
70
- $this->process_link = add_query_arg('um-addon-hook','bp_avatar_transfer');
71
-
72
- ?>
73
-
74
- <div class="wrap">
75
-
76
- <h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
77
-
78
- <h3><?php echo $this->addon[0]; ?></h3>
79
-
80
- <?php if ( isset( $this->content ) ) {
81
- echo $this->content;
82
- } else { ?>
83
-
84
- <p>This tool allows you to move all custom user photos/avatars from BuddyPress to Ultimate Member platform. This can help you If you are switching from BuddyPress.</p>
85
- <p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
86
-
87
- <p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start transferring avatars</a></p>
88
-
89
- <?php } ?>
90
-
91
- </div><div class="clear"></div>
92
-
93
- <?php
94
-
95
- }
96
-
97
- }
98
-
99
$UM_ADDON_bp_avatar_transfer = new UM_ADDON_bp_avatar_transfer();
1
+ <?php
2
+
3
+ class UM_ADDON_bp_avatar_transfer {
4
+
5
+ function __construct() {
6
+
7
+ add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
+
9
+ add_action('admin_init', array(&$this, 'admin_init'), 1);
10
+
11
+ add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
+
13
+ }
14
+
15
+ function admin_menu() {
16
+
17
+ global $ultimatemember;
18
+ $this->addon = $ultimatemember->addons['bp_avatar_transfer'];
19
+ add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'bp_avatar_transfer', array(&$this, 'content') );
20
+
21
+ }
22
+
23
+ function um_admin_addon_hook( $hook ) {
24
+ global $ultimatemember;
25
+ switch( $hook ) {
26
+ case 'bp_avatar_transfer':
27
+ if ( class_exists('BuddyPress') ) {
28
+
29
+ $path = bp_core_avatar_upload_path() . '/avatars';
30
+
31
+ $files = glob( $path . '/*');
32
+ $i = 0;
33
+ foreach( $files as $key ) {
34
+ $q = (count(glob("$key/*")) === 0) ? 0 : 1;
35
+ if ( $q == 1 ) {
36
+ $photo = glob( $key . '/*');
37
+ foreach( $photo as $file ) {
38
+ if ( strstr( $file, 'bpfull' ) ) {
39
+ $get_user_id = explode('/', $file);
40
+ array_pop($get_user_id);
41
+ $user_id = end($get_user_id);
42
+ if ( !file_exists( $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' ) ) {
43
+ $ultimatemember->files->new_user( $user_id );
44
+ copy( $file, $ultimatemember->files->upload_basedir . $user_id . '/profile_photo.jpg' );
45
+ update_user_meta($user_id, 'profile_photo', 'profile_photo.jpg');
46
+ $i++;
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+
53
+ $this->content = '<p><strong>Done. Process completed!</p>';
54
+ $this->content .= $i . ' user(s) changed.</strong></p>';
55
+
56
+ }
57
+ break;
58
+ }
59
+ }
60
+
61
+ function admin_init() {
62
+ if ( isset( $_REQUEST['um-addon-hook'] ) ) {
63
+ $hook = $_REQUEST['um-addon-hook'];
64
+ do_action("um_admin_addon_hook", $hook);
65
+ }
66
+ }
67
+
68
+ function content() {
69
+
70
+ $this->process_link = add_query_arg('um-addon-hook','bp_avatar_transfer');
71
+
72
+ ?>
73
+
74
+ <div class="wrap">
75
+
76
+ <h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
77
+
78
+ <h3><?php echo $this->addon[0]; ?></h3>
79
+
80
+ <?php if ( isset( $this->content ) ) {
81
+ echo $this->content;
82
+ } else { ?>
83
+
84
+ <p>This tool allows you to move all custom user photos/avatars from BuddyPress to Ultimate Member platform. This can help you If you are switching from BuddyPress.</p>
85
+ <p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
86
+
87
+ <p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start transferring avatars</a></p>
88
+
89
+ <?php } ?>
90
+
91
+ </div><div class="clear"></div>
92
+
93
+ <?php
94
+
95
+ }
96
+
97
+ }
98
+
99
$UM_ADDON_bp_avatar_transfer = new UM_ADDON_bp_avatar_transfer();
addons/generate_random_users.php CHANGED
@@ -1,261 +1,261 @@
1
- <?php
2
-
3
- class UM_ADDON_generate_random_users {
4
-
5
- function __construct() {
6
-
7
- add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
-
9
- add_action('admin_init', array(&$this, 'admin_init'), 1);
10
-
11
- add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
-
13
- }
14
-
15
-
16
- function admin_menu() {
17
-
18
- global $ultimatemember;
19
- $this->addon = $ultimatemember->addons['generate_random_users'];
20
- add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') );
21
-
22
- }
23
-
24
- function um_admin_addon_hook( $hook ) {
25
- global $ultimatemember;
26
-
27
- switch ( $hook ) {
28
- case 'generate_random_users':
29
- $json_url = "https://randomuser.me/api/";
30
-
31
- $arr_post_header = array( );
32
-
33
- if( isset( $_GET['gender'] ) ){
34
- $gender = $_GET['gender'];
35
- if( $gender != 'both' ){
36
- $json_url = add_query_arg('gender', $gender, $json_url );
37
- $arr_post_header['gender'] = $gender;
38
- }
39
- }
40
-
41
- if( isset( $_GET['nationality'] ) ){
42
- $nationality = implode(",", $_GET['nationality']);
43
- if( ! empty( $nationality ) ){
44
- $json_url = add_query_arg('nat', $nationality, $json_url );
45
- }
46
- $arr_post_header['nat'] = $nationality;
47
- }
48
-
49
- if( isset( $_GET['total_users'] ) ){
50
- $total_users = intval( $_GET['total_users'] );
51
- $json_url = add_query_arg('results', $total_users, $json_url );
52
- $arr_post_header['results'] = $total_users;
53
- }
54
-
55
-
56
- $response = wp_remote_get( $json_url, array('timeout' => 120 ) );
57
- $json = '';
58
-
59
- if( is_array($response) ) {
60
- if( isset( $response['body'] ) && ! empty( $response['body'] ) ){
61
- $json = json_decode( $response['body'] );
62
- }
63
- }
64
-
65
- if( is_wp_error( $response ) ){
66
- wp_die( $response->get_error_message() );
67
- }
68
-
69
- if( ! empty( $json ) ){
70
-
71
- remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
72
-
73
- $failed_dummies = 0;
74
- $default_role = um_get_option("default_role");
75
-
76
- foreach( $json->results as $dummy ){
77
-
78
- if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){
79
- $password = $_GET['password'];
80
- }else{
81
- $password = wp_generate_password( 8, false );
82
- }
83
-
84
- $site_url = @$_SERVER['SERVER_NAME'];
85
- $random_generate = wp_generate_password( 4, false );
86
-
87
- if( username_exists( $dummy->login->username ) ){
88
- $dummy->login->username = $dummy->login->username.'_'. $random_generate;
89
- }
90
-
91
- $dummy->login->email = $dummy->login->username."_dummy@{$site_url}";
92
-
93
- if( email_exists( $dummy->login->email ) ){
94
- $dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}";
95
- }
96
-
97
- $userdata = array(
98
- 'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ),
99
- 'first_name' => ucfirst( $dummy->name->first ),
100
- 'last_name' => ucfirst( $dummy->name->last ),
101
- 'user_email' => $dummy->login->email,
102
- 'user_login' => $dummy->login->username,
103
- 'user_pass' => $password,
104
- );
105
-
106
- $user_id = wp_insert_user( $userdata );
107
-
108
- if( is_wp_error( $user_id ) ){
109
- $failed_dummies++;
110
- }
111
-
112
- $usermeta = array(
113
- 'synced_profile_photo' => $dummy->picture->large,
114
- 'gender' => ucfirst($dummy->gender),
115
- 'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ),
116
- '_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ),
117
- 'mobile_number' => $dummy->cell,
118
- 'phone_number' => $dummy->phone,
119
- 'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ),
120
- 'account_status' => 'approved',
121
- '_um_profile_dummy' => true,
122
- 'role' => isset( $default_role ) ? $default_role: 'member'
123
- );
124
-
125
- if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){
126
-
127
- $rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
128
- $color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
129
-
130
- $usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color;
131
-
132
- }
133
-
134
- foreach ( $usermeta as $key => $value ) {
135
- update_user_meta( $user_id, $key, $value );
136
- }
137
-
138
-
139
- }
140
- wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit;
141
- }
142
-
143
- break;
144
-
145
- case 'remove_random_users':
146
-
147
- $dummies = new WP_User_Query(
148
- array(
149
- 'fields' => array('ID'),
150
- 'meta_key' => '_um_profile_dummy',
151
- 'meta_value' => true,
152
- 'meta_compare' => '='
153
- )
154
- );
155
-
156
- if( $dummies->total_users > 0 ){
157
- foreach ( $dummies->get_results() as $dummy ) {
158
-
159
- if( isset( $dummy->ID ) ){
160
- wp_delete_user( $dummy->ID );
161
- }
162
-
163
- }
164
- }
165
-
166
- delete_option('um_generated_dumies');
167
- wp_redirect( admin_url("admin.php?page=generate_random_users") );
168
- exit;
169
-
170
- break;
171
-
172
- default:
173
-
174
- break;
175
- }
176
-
177
- }
178
-
179
- function admin_init() {
180
- if ( isset( $_REQUEST['um-addon-hook'] ) ) {
181
- $hook = $_REQUEST['um-addon-hook'];
182
- do_action("um_admin_addon_hook", $hook );
183
- }
184
- }
185
-
186
- function content() {
187
-
188
- ?>
189
-
190
- <div class="wrap">
191
-
192
- <h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
193
-
194
- <h3><?php echo $this->addon[0]; ?></h3>
195
-
196
- <?php if ( isset( $this->content ) ) {
197
- echo $this->content;
198
- } else { ?>
199
-
200
- <p>This tool allows you to add dummies as Ultimate Member users. </p>
201
- <?php
202
- $dummies = new WP_User_Query(
203
- array(
204
- 'fields' => array('ID'),
205
- 'meta_key' => '_um_profile_dummy',
206
- 'meta_value' => true,
207
- 'meta_compare' => '='
208
- )
209
- );
210
- ?>
211
- <?php if( $dummies->total_users > 0 ): ?>
212
- <form method="get">
213
- <p>
214
- &nbsp;<input type="submit" class="button button-secondary" value="Remove Generated Dummies (<?php echo $dummies->total_users;?>)"/>
215
- <input type="hidden" name="um-addon-hook" value="remove_random_users"/>
216
- <input type="hidden" name="page" value="generate_random_users"/>
217
- </form>
218
- <br/>
219
- <?php endif; ?>
220
- <form method="get">
221
- <label for="total_users">How many dummies? <br/><input type="text" name="total_users" value="30" /> <br/><br/>
222
- <label for="gender">Gender:</label> <br/>
223
- <label><input type='radio' name="gender" value="male"/> Male</label> <br/>
224
- <label><input type='radio' name="gender" value="female"/> Female</label> <br/>
225
- <label><input type='radio' checked="checked" name="gender" value="both"/> Both</label>
226
- <br/><br/>
227
- <label for="nationality">Available Nationalities:</label><br/>
228
- <select style="width:150px" name="nationality[]" multiple>
229
- <?php
230
- $nationality = array( 'AU', 'BR', 'CA', 'CH', 'DE', 'DK', 'ES', 'FI', 'FR', 'GB', 'IE', 'IR', 'NL', 'NZ', 'TR', 'US' );
231
- foreach ($nationality as $code ) {
232
- $value = strtolower($code);
233
- echo "<option value='".$value."'/> ".$code."</option>";
234
- }
235
- ?>
236
- </select>
237
- <br/><br/>
238
- <label for="add_cover_photo"><input type="checkbox" name="add_cover_photo" value="1" />
239
- Add cover photos?</label>
240
- <br/><small>Generates random colored cover photos</small>
241
- <br/><br/>
242
- <label for="password">
243
- Account Passwords:
244
- <input type="password" name="password" />
245
- <br/><small>if you leave this blank, it will generate random strings password</small>
246
- </label>
247
- <br/>
248
- <input type="submit" class="button button-primary" value="Start Generating Dummies"/>
249
- <input type="hidden" name="um-addon-hook" value="generate_random_users"/>
250
-
251
- <?php } ?>
252
- </form>
253
-
254
- </div><div class="clear"></div>
255
-
256
- <?php
257
-
258
- }
259
- }
260
-
261
$UM_ADDON_generate_random_users = new UM_ADDON_generate_random_users ();
1
+ <?php
2
+
3
+ class UM_ADDON_generate_random_users {
4
+
5
+ function __construct() {
6
+
7
+ add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
+
9
+ add_action('admin_init', array(&$this, 'admin_init'), 1);
10
+
11
+ add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
+
13
+ }
14
+
15
+
16
+ function admin_menu() {
17
+
18
+ global $ultimatemember;
19
+ $this->addon = $ultimatemember->addons['generate_random_users'];
20
+ add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'generate_random_users', array(&$this, 'content') );
21
+
22
+ }
23
+
24
+ function um_admin_addon_hook( $hook ) {
25
+ global $ultimatemember;
26
+
27
+ switch ( $hook ) {
28
+ case 'generate_random_users':
29
+ $json_url = "https://randomuser.me/api/";
30
+
31
+ $arr_post_header = array( );
32
+
33
+ if( isset( $_GET['gender'] ) ){
34
+ $gender = $_GET['gender'];
35
+ if( $gender != 'both' ){
36
+ $json_url = add_query_arg('gender', $gender, $json_url );
37
+ $arr_post_header['gender'] = $gender;
38
+ }
39
+ }
40
+
41
+ if( isset( $_GET['nationality'] ) ){
42
+ $nationality = implode(",", $_GET['nationality']);
43
+ if( ! empty( $nationality ) ){
44
+ $json_url = add_query_arg('nat', $nationality, $json_url );
45
+ }
46
+ $arr_post_header['nat'] = $nationality;
47
+ }
48
+
49
+ if( isset( $_GET['total_users'] ) ){
50
+ $total_users = intval( $_GET['total_users'] );
51
+ $json_url = add_query_arg('results', $total_users, $json_url );
52
+ $arr_post_header['results'] = $total_users;
53
+ }
54
+
55
+
56
+ $response = wp_remote_get( $json_url, array('timeout' => 120 ) );
57
+ $json = '';
58
+
59
+ if( is_array($response) ) {
60
+ if( isset( $response['body'] ) && ! empty( $response['body'] ) ){
61
+ $json = json_decode( $response['body'] );
62
+ }
63
+ }
64
+
65
+ if( is_wp_error( $response ) ){
66
+ wp_die( $response->get_error_message() );
67
+ }
68
+
69
+ if( ! empty( $json ) ){
70
+
71
+ remove_action('um_after_new_user_register', 'um_after_new_user_register', 10, 2);
72
+
73
+ $failed_dummies = 0;
74
+ $default_role = um_get_option("default_role");
75
+
76
+ foreach( $json->results as $dummy ){
77
+
78
+ if( isset( $_GET['password'] ) && ! empty( $_GET['password'] ) ){
79
+ $password = $_GET['password'];
80
+ }else{
81
+ $password = wp_generate_password( 8, false );
82
+ }
83
+
84
+ $site_url = @$_SERVER['SERVER_NAME'];
85
+ $random_generate = wp_generate_password( 4, false );
86
+
87
+ if( username_exists( $dummy->login->username ) ){
88
+ $dummy->login->username = $dummy->login->username.'_'. $random_generate;
89
+ }
90
+
91
+ $dummy->login->email = $dummy->login->username."_dummy@{$site_url}";
92
+
93
+ if( email_exists( $dummy->login->email ) ){
94
+ $dummy->login->email = $dummy->login->username."_dummy_{$random_generate}@{$site_url}";
95
+ }
96
+
97
+ $userdata = array(
98
+ 'display_name' => ucfirst( $dummy->name->first )." ".ucfirst( $dummy->name->last ),
99
+ 'first_name' => ucfirst( $dummy->name->first ),
100
+ 'last_name' => ucfirst( $dummy->name->last ),
101
+ 'user_email' => $dummy->login->email,
102
+ 'user_login' => $dummy->login->username,
103
+ 'user_pass' => $password,
104
+ );
105
+
106
+ $user_id = wp_insert_user( $userdata );
107
+
108
+ if( is_wp_error( $user_id ) ){
109
+ $failed_dummies++;
110
+ }
111
+
112
+ $usermeta = array(
113
+ 'synced_profile_photo' => $dummy->picture->large,
114
+ 'gender' => ucfirst($dummy->gender),
115
+ 'birth_date' => date("Y/m/d", strtotime( $dummy->dob) ),
116
+ '_um_last_login' => date("Y/m/d", strtotime( $dummy->registered ) ),
117
+ 'mobile_number' => $dummy->cell,
118
+ 'phone_number' => $dummy->phone,
119
+ 'synced_gravatar_hashed_id' => md5( strtolower( trim( $dummy->email ) ) ),
120
+ 'account_status' => 'approved',
121
+ '_um_profile_dummy' => true,
122
+ 'role' => isset( $default_role ) ? $default_role: 'member'
123
+ );
124
+
125
+ if( isset( $_GET['add_cover_photo'] ) && $_GET['add_cover_photo'] == 1 ){
126
+
127
+ $rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
128
+ $color = $rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
129
+
130
+ $usermeta['synced_cover_photo'] = 'http://placehold.it/650x350/'.$color.'/'.$color;
131
+
132
+ }
133
+
134
+ foreach ( $usermeta as $key => $value ) {
135
+ update_user_meta( $user_id, $key, $value );
136
+ }
137
+
138
+
139
+ }
140
+ wp_redirect( admin_url("admin.php?page=generate_random_users") ); exit;
141
+ }
142
+
143
+ break;
144
+
145
+ case 'remove_random_users':
146
+
147
+ $dummies = new WP_User_Query(
148
+ array(
149
+ 'fields' => array('ID'),
150
+ 'meta_key' => '_um_profile_dummy',
151
+ 'meta_value' => true,
152
+ 'meta_compare' => '='
153
+ )
154
+ );
155
+
156
+ if( $dummies->total_users > 0 ){
157
+ foreach ( $dummies->get_results() as $dummy ) {
158
+
159
+ if( isset( $dummy->ID ) ){
160
+ wp_delete_user( $dummy->ID );
161
+ }
162
+
163
+ }
164
+ }
165
+
166
+ delete_option('um_generated_dumies');
167
+ wp_redirect( admin_url("admin.php?page=generate_random_users") );
168
+ exit;
169
+
170
+ break;
171
+
172
+ default:
173
+
174
+ break;
175
+ }
176
+
177
+ }
178
+
179
+ function admin_init() {
180
+ if ( isset( $_REQUEST['um-addon-hook'] ) ) {
181
+ $hook = $_REQUEST['um-addon-hook'];
182
+ do_action("um_admin_addon_hook", $hook );
183
+ }
184
+ }
185
+
186
+ function content() {
187
+
188
+ ?>
189
+
190
+ <div class="wrap">
191
+
192
+ <h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
193
+
194
+ <h3><?php echo $this->addon[0]; ?></h3>
195
+
196
+ <?php if ( isset( $this->content ) ) {
197
+ echo $this->content;
198
+ } else { ?>
199
+
200
+ <p>This tool allows you to add dummies as Ultimate Member users. </p>
201
+ <?php
202
+ $dummies = new WP_User_Query(
203
+ array(
204
+ 'fields' => array('ID'),
205
+ 'meta_key' => '_um_profile_dummy',
206
+ 'meta_value' => true,
207
+ 'meta_compare' => '='
208
+ )
209
+ );
210
+ ?>
211
+ <?php if( $dummies->total_users > 0 ): ?>
212
+ <form method="get">
213
+ <p>
214
+ &nbsp;<input type="submit" class="button button-secondary" value="Remove Generated Dummies (<?php echo $dummies->total_users;?>)"/>
215
+ <input type="hidden" name="um-addon-hook" value="remove_random_users"/>
216
+ <input type="hidden" name="page" value="generate_random_users"/>
217
+ </form>
218
+ <br/>
219
+ <?php endif; ?>
220
+ <form method="get">
221
+ <label for="total_users">How many dummies? <br/><input type="text" name="total_users" value="30" /> <br/><br/>
222
+ <label for="gender">Gender:</label> <br/>
223
+ <label><input type='radio' name="gender" value="male"/> Male</label> <br/>
224
+ <label><input type='radio' name="gender" value="female"/> Female</label> <br/>
225
+ <label><input type='radio' checked="checked" name="gender" value="both"/> Both</label>
226
+ <br/><br/>
227
+ <label for="nationality">Available Nationalities:</label><br/>
228
+ <select style="width:150px" name="nationality[]" multiple>
229
+ <?php
230
+ $nationality = array( 'AU', 'BR', 'CA', 'CH', 'DE', 'DK', 'ES', 'FI', 'FR', 'GB', 'IE', 'IR', 'NL', 'NZ', 'TR', 'US' );
231
+ foreach ($nationality as $code ) {
232
+ $value = strtolower($code);
233
+ echo "<option value='".$value."'/> ".$code."</option>";
234
+ }
235
+ ?>
236
+ </select>
237
+ <br/><br/>
238
+ <label for="add_cover_photo"><input type="checkbox" name="add_cover_photo" value="1" />
239
+ Add cover photos?</label>
240
+ <br/><small>Generates random colored cover photos</small>
241
+ <br/><br/>
242
+ <label for="password">
243
+ Account Passwords:
244
+ <input type="password" name="password" />
245
+ <br/><small>if you leave this blank, it will generate random strings password</small>
246
+ </label>
247
+ <br/>
248
+ <input type="submit" class="button button-primary" value="Start Generating Dummies"/>
249
+ <input type="hidden" name="um-addon-hook" value="generate_random_users"/>
250
+
251
+ <?php } ?>
252
+ </form>
253
+
254
+ </div><div class="clear"></div>
255
+
256
+ <?php
257
+
258
+ }
259
+ }
260
+
261
$UM_ADDON_generate_random_users = new UM_ADDON_generate_random_users ();
addons/gravatar_transfer.php CHANGED
@@ -1,83 +1,83 @@
1
- <?php
2
-
3
- class UM_ADDON_gravatar_transfer {
4
-
5
- function __construct() {
6
-
7
- add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
-
9
- add_action('admin_init', array(&$this, 'admin_init'), 1);
10
-
11
- add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
-
13
- }
14
-
15
- function gravatar_hash(){
16
- global $wpdb;
17
- $wpdb->query('DELETE FROM '.$wpdb->usermeta.' WHERE meta_key = "synced_gravatar_hashed_id" ');
18
-
19
- $wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
20
- SELECT ID, "synced_gravatar_hashed_id", MD5( LOWER( TRIM(user_email) ) ) FROM '.$wpdb->users.' ');
21
-
22
- return true;
23
- }
24
-
25
- function admin_menu() {
26
-
27
- global $ultimatemember;
28
- $this->addon = $ultimatemember->addons['gravatar_transfer'];
29
- add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'gravatar_transfer', array(&$this, 'content') );
30
-
31
- }
32
-
33
- function um_admin_addon_hook( $hook ) {
34
- global $ultimatemember;
35
- switch( $hook ) {
36
- case 'gravatar_transfer':
37
- if( $this->gravatar_hash() ){
38
- $this->content = '<p><strong>Done. Process completed!</p>';
39
- $result = count_users();
40
- $this->content .= $result['total_users'] . ' user(s) changed.</strong></p>';
41
- }
42
- break;
43
- }
44
- }
45
-
46
- function admin_init() {
47
- if ( isset( $_REQUEST['um-addon-hook'] ) ) {
48
- $hook = $_REQUEST['um-addon-hook'];
49
- do_action("um_admin_addon_hook", $hook);
50
- }
51
- }
52
-
53
- function content() {
54
-
55
- $this->process_link = add_query_arg('um-addon-hook','gravatar_transfer');
56
-
57
- ?>
58
-
59
- <div class="wrap">
60
-
61
- <h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
62
-
63
- <h3><?php echo $this->addon[0]; ?></h3>
64
-
65
- <?php if ( isset( $this->content ) ) {
66
- echo $this->content;
67
- } else { ?>
68
-
69
- <p>This tool allows you to add gravatars to Ultimate Member users. This can help you to link gravatar photos to user accounts with their email address.</p>
70
- <p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
71
-
72
- <p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start adding gravatars</a></p>
73
-
74
- <?php } ?>
75
-
76
- </div><div class="clear"></div>
77
-
78
- <?php
79
-
80
- }
81
- }
82
-
83
$UM_ADDON_gravatar_transfer = new UM_ADDON_gravatar_transfer();
1
+ <?php
2
+
3
+ class UM_ADDON_gravatar_transfer {
4
+
5
+ function __construct() {
6
+
7
+ add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
+
9
+ add_action('admin_init', array(&$this, 'admin_init'), 1);
10
+
11
+ add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
+
13
+ }
14
+
15
+ function gravatar_hash(){
16
+ global $wpdb;
17
+ $wpdb->query('DELETE FROM '.$wpdb->usermeta.' WHERE meta_key = "synced_gravatar_hashed_id" ');
18
+
19
+ $wpdb->query('INSERT INTO '.$wpdb->usermeta.'(user_id, meta_key, meta_value)
20
+ SELECT ID, "synced_gravatar_hashed_id", MD5( LOWER( TRIM(user_email) ) ) FROM '.$wpdb->users.' ');
21
+
22
+ return true;
23
+ }
24
+
25
+ function admin_menu() {
26
+
27
+ global $ultimatemember;
28
+ $this->addon = $ultimatemember->addons['gravatar_transfer'];
29
+ add_submenu_page('ultimatemember', $this->addon[0], $this->addon[0], 'manage_options', 'gravatar_transfer', array(&$this, 'content') );
30
+
31
+ }
32
+
33
+ function um_admin_addon_hook( $hook ) {
34
+ global $ultimatemember;
35
+ switch( $hook ) {
36
+ case 'gravatar_transfer':
37
+ if( $this->gravatar_hash() ){
38
+ $this->content = '<p><strong>Done. Process completed!</p>';
39
+ $result = count_users();
40
+ $this->content .= $result['total_users'] . ' user(s) changed.</strong></p>';
41
+ }
42
+ break;
43
+ }
44
+ }
45
+
46
+ function admin_init() {
47
+ if ( isset( $_REQUEST['um-addon-hook'] ) ) {
48
+ $hook = $_REQUEST['um-addon-hook'];
49
+ do_action("um_admin_addon_hook", $hook);
50
+ }
51
+ }
52
+
53
+ function content() {
54
+
55
+ $this->process_link = add_query_arg('um-addon-hook','gravatar_transfer');
56
+
57
+ ?>
58
+
59
+ <div class="wrap">
60
+
61
+ <h2>Ultimate Member <sup style="font-size:15px"><?php echo ultimatemember_version; ?></sup></h2>
62
+
63
+ <h3><?php echo $this->addon[0]; ?></h3>
64
+
65
+ <?php if ( isset( $this->content ) ) {
66
+ echo $this->content;
67
+ } else { ?>
68
+
69
+ <p>This tool allows you to add gravatars to Ultimate Member users. This can help you to link gravatar photos to user accounts with their email address.</p>
70
+ <p>Depending on your users database, this could take a few moments. To start the process, click the following button.</p>
71
+
72
+ <p><a href="<?php echo $this->process_link; ?>" class="button button-primary">Start adding gravatars</a></p>
73
+
74
+ <?php } ?>
75
+
76
+ </div><div class="clear"></div>
77
+
78
+ <?php
79
+
80
+ }
81
+ }
82
+
83
$UM_ADDON_gravatar_transfer = new UM_ADDON_gravatar_transfer();
addons/system_info.php CHANGED
@@ -1,411 +1,411 @@
1
- <?php
2
-
3
- class UM_ADDON_system_info {
4
-
5
- function __construct() {
6
-
7
- add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
-
9
- add_action('admin_init', array(&$this, 'admin_init'), 1);
10
-
11
- add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
-
13
- }
14
-
15
-
16
- function admin_menu() {
17
-
18
- global $ultimatemember;
19
- $this->addon = $ultimatemember->addons['system_info'];
20
- add_submenu_page('ultimatemember', "System Info","System Info", 'manage_options', 'um_system_info', array(&$this, 'content') );
21
-
22
- }
23
-
24
- function um_admin_addon_hook( $hook ) {
25
- global $ultimatemember;
26
-
27
- switch ( $hook ) {
28
-
29
- case 'download_system_info':
30
-
31
- nocache_headers();
32
-
33
- header( "Content-type: text/plain" );
34
- header( 'Content-Disposition: attachment; filename="ultimatemember-system-info.txt"' );
35
-
36
- echo wp_strip_all_tags( $_POST['um-sysinfo'] );
37
- exit;
38
-
39
- break;
40
-
41
- default:
42
-
43
- break;
44
- }
45
-
46
- }
47
-
48
- function admin_init() {
49
- if ( isset( $_REQUEST['um-addon-hook'] ) ) {
50
- $hook = $_REQUEST['um-addon-hook'];
51
- do_action("um_admin_addon_hook", $hook );
52
- }
53
- }
54
-
55
- function content() {
56
- global $wpdb, $ultimatemember;
57
-
58
- if( !class_exists( 'Browser' ) )
59
- require_once um_path . 'core/lib/browser.php';
60
-
61
- // Detect browser
62
- $browser = new Browser();
63
-
64
- // Get theme info
65
- $theme_data = wp_get_theme();
66
- $theme = $theme_data->Name . ' ' . $theme_data->Version;
67
-
68
- // Identify Hosting Provider
69
- $host = um_get_host();
70
-
71
- ?>
72
-
73
- <div class="wrap">
74
-
75
- <h2>Ultimate Member</h2>
76
-
77
- <h3><?php echo $this->addon[0]; ?></h3>
78
-
79
- <?php if ( isset( $this->content ) ) {
80
- echo $this->content;
81
- } else { ?>
82
-
83
- <form action="<?php echo esc_url( admin_url( 'admin.php?page=um_system_info' ) ); ?>" method="post" dir="ltr">
84
- <textarea style="width:100%; height:400px;" readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="um-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd' ); ?>">
85
- ### Begin System Info ###
86
-
87
- ## Please include this information when posting support requests ##
88
-
89
- <?php do_action( 'um_system_info_before' ); ?>
90
-
91
- --- Site Info ---
92
-
93
- Site URL: <?php echo site_url() . "\n"; ?>
94
- Home URL: <?php echo home_url() . "\n"; ?>
95
- Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
96
-
97
- --- Hosting Provider ---
98
-
99
- <?php if( $host ) : ?>
100
- Host: <?php echo $host . "\n"; ?>
101
- <?php endif; ?>
102
-
103
- --- User Browser ---
104
-
105
- <?php echo $browser ; ?>
106
-
107
- --- WordPress Configurations ---
108
-
109
- Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
110
- Language: <?php echo get_locale()."\n"; ?>
111
- Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
112
- Active Theme: <?php echo $theme . "\n"; ?>
113
- <?php $show_on_front = get_option( 'show_on_front' ); ?>
114
- <?php if( $show_on_front == "posts" ): ?>
115
- Show On Front: <?php echo get_option( 'show_on_front' ) . "/static\n" ?>
116
- <?php elseif( $show_on_front == "page" ): ?>
117
- Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
118
- Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
119
- <?php endif; ?>
120
- ABSPATH: <?php echo ABSPATH."\n"; ?>
121
- <?php $wp_count_posts = wp_count_posts(); ?>
122
- All Posts/Pages: <?php echo array_sum((array)$wp_count_posts)."\n";?>
123
- <?php
124
- $request['cmd'] = '_notify-validate';
125
-
126
- $params = array(
127
- 'sslverify' => false,
128
- 'timeout' => 60,
129
- 'user-agent' => 'UltimateMember/' . ultimatemember_version,
130
- 'body' => $request
131
- );
132
-
133
- $response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
134
-
135
- if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
136
- $WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
137
- } else {
138
- $WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
139
- }
140
- ?>
141
- WP Remote Post: <?php echo $WP_REMOTE_POST; ?>
142
- WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
143
- WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo ", Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
144
- Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB"; ?><?php echo "\n"; ?>
145
-
146
- --- UM Configurations ---
147
-
148
- Version: <?php echo ultimatemember_version . "\n"; ?>
149
- Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
150
- Current URL Method: <?php echo um_get_option( 'current_url_method' ). "\n"; ?>
151
- Cache User Profile: <?php if( um_get_option( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
152
- Generate Slugs on Directories: <?php if( um_get_option( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
153
- Rewrite Rules: <?php if( um_get_option( 'um_flush_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
154
- Force UTF-8 Encoding: <?php if( um_get_option( 'um_force_utf8_strings' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
155
- Time Check Security: <?php if( um_get_option( 'enable_timebot' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
156
- JS/CSS Compression: <?php if( um_get_option( 'disable_minify' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
157
- <?php if( is_multisite() ): ?>
158
- Network Structure: <?php echo um_get_option( 'network_permalink_structure' ). "\n"; ?>
159
- <?php endif; ?>
160
- Nav Menu Settings: <?php if( um_get_option( 'disable_menu' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
161
- Port Forwarding in URL: <?php if( um_get_option( 'um_port_forwarding_url' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
162
- Exclude CSS/JS on Home: <?php if( um_get_option( 'js_css_exlcude_home' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
163
-
164
- --- UM Pages Configuration ---
165
-
166
- <?php do_action("um_system_info_before_page_config") ?>
167
- User: <?php echo get_permalink( um_get_option('core_user') ) . "\n"; ?>
168
- Account: <?php echo get_permalink( um_get_option('core_account') ) . "\n"; ?>
169
- Members: <?php echo get_permalink( um_get_option('core_members') ) . "\n"; ?>
170
- Register: <?php echo get_permalink( um_get_option('core_register') ) . "\n"; ?>
171
- Login: <?php echo get_permalink( um_get_option('core_login') ) . "\n"; ?>
172
- Logout: <?php echo get_permalink( um_get_option('core_logout') ) . "\n"; ?>
173
- Password Reset: <?php echo get_permalink( um_get_option('core_password-reset') ) . "\n"; ?>
174
- <?php do_action("um_system_info_after_page_config") ?>
175
-
176
- -- UM Users Configuration ---
177
-
178
- Default New User Role: <?php echo um_get_option('default_role') . "\n"; ?>
179
- Profile Permalink Base: <?php echo um_get_option('permalink_base') . "\n"; ?>
180
- User Display Name: <?php echo um_get_option('display_name') . "\n"; ?>
181
- Force Name to Uppercase: <?php echo $this->value( um_get_option('force_display_name_capitlized'), 'yesno', true ); ?>
182
- Redirect author to profile: <?php echo $this->value( um_get_option('author_redirect'), 'yesno', true ); ?>
183
- Enable Members Directory: <?php echo $this->value( um_get_option('members_page'), 'yesno', true ); ?>
184
- Use Gravatars: <?php echo $this->value( um_get_option('use_gravatars'), 'yesno', true ); ?>
185
- <?php if( um_get_option('use_gravatars') ): ?>Gravatar builtin image: <?php echo um_get_option('use_um_gravatar_default_builtin_image') . "\n"; ?>
186
- UM Avatar as blank Gravatar: <?php echo $this->value( um_get_option('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
187
- Require a strong password: <?php echo $this->value( um_get_option('reset_require_strongpass'), 'onoff', true ); ?>
188
- Editable primary email field in profile view: <?php echo $this->value( um_get_option('editable_primary_email_in_profile'), 'onoff', true ); ?>
189
-
190
- -- UM Access Configuration ---
191
-
192
- Panic Key: <?php echo um_get_option('panic_key') . "\n"; ?>
193
- Global Site Access: <?php $arr = array('Site accessible to Everyone','','Site accessible to Logged In Users'); echo $arr[ intval( um_get_option('accessible') ) ] . "\n"; ?>
194
- <?php if( um_get_option('accessible') == 2 ):?>
195
- Custom Redirect URL: <?php echo um_get_option('access_redirect')."\n";?>
196
- Exclude the following URLs:<?php echo "\t\t\t\t".implode("\t\n\t\t\t\t\t\t\t\t\t\t",um_get_option('access_exclude_uris') )."\n";?><?php endif;?>
197
- Backend Login Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_login'), 'yesno', true ); ?>
198
- <?php if( ! um_get_option('wpadmin_login') ):?>Redirect to alternative login page: <?php if( um_get_option('wpadmin_login_redirect') == 'um_login_page' ){ echo um_get_core_page('login')."\n"; }else{ echo um_get_option('wpadmin_login_redirect_url')."\n"; }?><?php endif; ?>
199
- Backend Register Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_register'), 'yesno', true ); ?>
200
- <?php if( ! um_get_option('wpadmin_register') ):?>Redirect to alternative register page: <?php if( um_get_option('wpadmin_register_redirect') == 'um_register_page' ){ echo um_get_core_page('register')."\n"; }else{ echo um_get_option('wpadmin_register_redirect_url')."\n"; }?><?php endif; ?>
201
- Access Control widget for Admins only: <?php echo $this->value( um_get_option('access_widget_admin_only'), 'yesno', true ); ?>
202
- Enable the Reset Password Limit: <?php echo $this->value( um_get_option('enable_reset_password_limit'), 'yesno', true ); ?>
203
- <?php if( um_get_option('enable_reset_password_limit') ) {
204
- echo "Reset Password Limit:\t\t\t\t\t\t".um_get_option('reset_password_limit_number')."\n";
205
- echo "Disable Reset Password Limit for Admins:\t".$this->value( um_get_option('disable_admin_reset_password_limit'), 'yesno', true );
206
- } ?>
207
- <?php $wpadmin_allow_ips = um_get_option('wpadmin_allow_ips'); if( ! empty( $wpadmin_allow_ips ) ){ ?>
208
- Whitelisted Backend IPs: <?php echo count( explode("\n",trim(um_get_option('wpadmin_allow_ips') ) ) )."\n"; ?>
209
- <?php }?>
210
- <?php $blocked_ips = um_get_option('blocked_ips'); if( ! empty( $blocked_ips ) ){ ?>
211
- Blocked IP Addresses: <?php echo count( explode("\n",um_get_option('blocked_ips') ) )."\n"; ?>
212
- <?php }?>
213
- <?php $blocked_emails = um_get_option('blocked_emails'); if( ! empty( $blocked_emails ) ){ ?>
214
- Blocked Email Addresses: <?php echo count( explode("\n",um_get_option('blocked_emails') ) )."\n"; ?>
215
- <?php }?>
216
- <?php $blocked_words = um_get_option('blocked_words'); if( ! empty( $blocked_words ) ){ ?>
217
- Blacklist Words: <?php echo count( explode("\n",um_get_option('blocked_words') ) )."\n"; ?>
218
- <?php }?>
219
-
220
-
221
- --- UM Email Configurations --
222
-
223
- Mail appears from: <?php $mail_from = um_get_option('mail_from'); if( ! empty( $mail_from ) ){echo um_get_option('mail_from');}else{echo "-";}; echo "\n";?>
224
- Mail appears from address: <?php $mail_from_addr = um_get_option('mail_from_addr'); if( ! empty( $mail_from_addr ) ){echo um_get_option('mail_from_addr');}else{echo "-";}; echo "\n";?>
225
- Use HTML for E-mails: <?php echo $this->value( um_get_option('email_html'), 'yesno', true ); ?>
226
- Account Welcome Email: <?php echo $this->value( um_get_option('welcome_email_on'), 'yesno', true ); ?>
227
- Account Activation Email: <?php echo $this->value( um_get_option('checkmail_email_on'), 'yesno', true ); ?>
228
- Pending Review Email: <?php echo $this->value( um_get_option('pending_email_on'), 'yesno', true ); ?>
229
- Account Approved Email: <?php echo $this->value( um_get_option('approved_email_on'), 'yesno', true ); ?>
230
- Account Rejected Email: <?php echo $this->value( um_get_option('rejected_email_on'), 'yesno', true ); ?>
231
- Account Deactivated Email: <?php echo $this->value( um_get_option('inactive_email_on'), 'yesno', true ); ?>
232
- Account Deleted Email: <?php echo $this->value( um_get_option('deletion_email_on'), 'yesno', true ); ?>
233
- Password Reset Email: <?php echo $this->value( um_get_option('resetpw_email_on'), 'yesno', true ); ?>
234
- Password Changed Email: <?php echo $this->value( um_get_option('changedpw_email_on'), 'yesno', true ); ?>
235
-
236
-
237
- --- UM Total Users ---
238
-
239
- <?php
240
-
241
- $result = count_users();
242
- echo 'All Users('.$result['total_users'].")\n";
243
- foreach($result['avail_roles'] as $role => $count){
244
- echo $role."(".$count.")\n";
245
- }
246
- ?>
247
-
248
-
249
- --- UM Roles ---
250
-
251
- <?php
252
-
253
- foreach( $ultimatemember->query->get_roles() as $role_id => $role ) {
254
- echo $role." ({$role_id})\n";
255
- }
256
-
257
- ?>
258
-
259
-
260
- --- UM Custom Templates ---
261
-
262
- <?php
263
- // Show templates that have been copied to the theme's edd_templates dir
264
-
265
- $dir = get_stylesheet_directory() . '/ultimate-member/templates/*.php';
266
- if ( ! empty( $dir ) ){
267
- $found = glob( $dir );
268
- if( ! empty( $found ) ){
269
- foreach ( glob( $dir ) as $file ) {
270
- echo "File: " . $file . "\n";
271
- }
272
- }else {
273
- echo 'N/A'."\n";
274
- }
275
- }
276
- echo "\n\n";
277
-
278
- $dir = get_stylesheet_directory() . '/ultimate-member/templates/emails/*.html';
279
- echo "-- UM Email HTML Templates -- \n\n";
280
-
281
- if ( ! empty( $dir ) ){
282
- $found = glob( $dir );
283
- if( ! empty( $found ) ){
284
- foreach ( glob( $dir ) as $file ) {
285
- echo "File: ". $file . "\n";
286
- }
287
- }else {
288
- echo 'N/A'."\n";
289
- }
290
- }
291
-
292
- ?>
293
-
294
- --- Web Server Configurations ---
295
-
296
- PHP Version: <?php echo PHP_VERSION . "\n"; ?>
297
- MySQL Version: <?php echo $wpdb->db_version() . "\n"; ?>
298
- Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
299
-
300
- --- PHP Configurations --
301
-
302
- PHP Safe Mode: <?php echo $this->value( ini_get( 'safe_mode' ), 'yesno', true ); ?>
303
- PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
304
- PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
305
- PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
306
- PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
307
- PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
308
- PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
309
- PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
310
- PHP Allow URL File Open: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes\n" : "No\n"; ?>
311
-
312
-
313
- --- Web Server Extensions/Modules ---
314
-
315
- DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
316
- FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
317
- cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
318
- SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
319
- SUHOSIN: <?php echo ( extension_loaded( 'suhosin' ) ) ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.'; ?><?php echo "\n"; ?>
320
-
321
-
322
- --- Session Configurations ---
323
-
324
- Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
325
- Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
326
- Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
327
- Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
328
- Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
329
- Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
330
-
331
-
332
-
333
- --- WordPress Active Plugins ---
334
-
335
- <?php
336
- $plugins = get_plugins();
337
- $active_plugins = get_option( 'active_plugins', array() );
338
-
339
- foreach ( $plugins as $plugin_path => $plugin ) {
340
- // If the plugin isn't active, don't show it.
341
- if ( ! in_array( $plugin_path, $active_plugins ) )
342
- continue;
343
-
344
- echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
345
- }
346
-
347
- if ( is_multisite() ) :
348
- ?>
349
-
350
- --- WordPress Network Active Plugins ---
351
-
352
- <?php
353
- $plugins = wp_get_active_network_plugins();
354
- $active_plugins = get_site_option( 'active_sitewide_plugins', array() );
355
-
356
- foreach ( $plugins as $plugin_path ) {
357
- $plugin_base = plugin_basename( $plugin_path );
358
-
359
- // If the plugin isn't active, don't show it.
360
- if ( ! array_key_exists( $plugin_base, $active_plugins ) )
361
- continue;
362
-
363
- $plugin = get_plugin_data( $plugin_path );
364
-
365
- echo $plugin['Name'] . ' :' . $plugin['Version'] ."\n";
366
- }
367
-
368
- endif;
369
- ?>
370
- <?php
371
- do_action( 'um_system_info_after' );
372
- ?>
373
-
374
-
375
-
376
-
377
- ### End System Info ###</textarea>
378
- <p class="submit">
379
- <input type="hidden" name="um-addon-hook" value="download_system_info" />
380
- <?php submit_button( 'Download System Info File', 'primary', 'download_system_info', false ); ?>
381
- </p>
382
- </form>
383
-
384
- <?php } ?>
385
-
386
- <?php
387
-
388
- }
389
-
390
- function value( $raw_value = '', $type = 'yesno', $default = '', $default_negate = '' ){
391
-
392
- if( $type == 'yesno' ){
393
- if( $default == $raw_value ){
394
- $raw_value = "Yes";
395
- }else{
396
- $raw_value = "No";
397
- }
398
- }else if( $type == 'onoff' ){
399
- if( $default == $raw_value ){
400
- $raw_value = "On";
401
- }else{
402
- $raw_value = "Off";
403
- }
404
- }
405
-
406
- return $raw_value."\n";
407
- }
408
-
409
- }
410
-
411
$UM_ADDON_system_info = new UM_ADDON_system_info();
1
+ <?php
2
+
3
+ class UM_ADDON_system_info {
4
+
5
+ function __construct() {
6
+
7
+ add_action('admin_menu', array(&$this, 'admin_menu'), 1001);
8
+
9
+ add_action('admin_init', array(&$this, 'admin_init'), 1);
10
+
11
+ add_action('um_admin_addon_hook', array(&$this, 'um_admin_addon_hook') );
12
+
13
+ }
14
+
15
+
16
+ function admin_menu() {
17
+
18
+ global $ultimatemember;
19
+ $this->addon = $ultimatemember->addons['system_info'];
20
+ add_submenu_page('ultimatemember', "System Info","System Info", 'manage_options', 'um_system_info', array(&$this, 'content') );
21
+
22
+ }
23
+
24
+ function um_admin_addon_hook( $hook ) {
25
+ global $ultimatemember;
26
+
27
+ switch ( $hook ) {
28
+
29
+ case 'download_system_info':
30
+
31
+ nocache_headers();
32
+
33
+ header( "Content-type: text/plain" );
34
+ header( 'Content-Disposition: attachment; filename="ultimatemember-system-info.txt"' );
35
+
36
+ echo wp_strip_all_tags( $_POST['um-sysinfo'] );
37
+ exit;
38
+
39
+ break;
40
+
41
+ default:
42
+
43
+ break;
44
+ }
45
+
46
+ }
47
+
48
+ function admin_init() {
49
+ if ( isset( $_REQUEST['um-addon-hook'] ) ) {
50
+ $hook = $_REQUEST['um-addon-hook'];
51
+ do_action("um_admin_addon_hook", $hook );
52
+ }
53
+ }
54
+
55
+ function content() {
56
+ global $wpdb, $ultimatemember;
57
+
58
+ if( !class_exists( 'Browser' ) )
59
+ require_once um_path . 'core/lib/browser.php';
60
+
61
+ // Detect browser
62
+ $browser = new Browser();
63
+
64
+ // Get theme info
65
+ $theme_data = wp_get_theme();
66
+ $theme = $theme_data->Name . ' ' . $theme_data->Version;
67
+
68
+ // Identify Hosting Provider
69
+ $host = um_get_host();
70
+
71
+ ?>
72
+
73
+ <div class="wrap">
74
+
75
+ <h2>Ultimate Member</h2>
76
+
77
+ <h3><?php echo $this->addon[0]; ?></h3>
78
+
79
+ <?php if ( isset( $this->content ) ) {
80
+ echo $this->content;
81
+ } else { ?>
82
+
83
+ <form action="<?php echo esc_url( admin_url( 'admin.php?page=um_system_info' ) ); ?>" method="post" dir="ltr">
84
+ <textarea style="width:100%; height:400px;" readonly="readonly" onclick="this.focus();this.select()" id="system-info-textarea" name="um-sysinfo" title="<?php _e( 'To copy the system info, click below then press Ctrl + C (PC) or Cmd + C (Mac).', 'edd' ); ?>">
85
+ ### Begin System Info ###
86
+
87
+ ## Please include this information when posting support requests ##
88
+
89
+ <?php do_action( 'um_system_info_before' ); ?>
90
+
91
+ --- Site Info ---
92
+
93
+ Site URL: <?php echo site_url() . "\n"; ?>
94
+ Home URL: <?php echo home_url() . "\n"; ?>
95
+ Multisite: <?php echo is_multisite() ? 'Yes' . "\n" : 'No' . "\n" ?>
96
+
97
+ --- Hosting Provider ---
98
+
99
+ <?php if( $host ) : ?>
100
+ Host: <?php echo $host . "\n"; ?>
101
+ <?php endif; ?>
102
+
103
+ --- User Browser ---
104
+
105
+ <?php echo $browser ; ?>
106
+
107
+ --- WordPress Configurations ---
108
+
109
+ Version: <?php echo get_bloginfo( 'version' ) . "\n"; ?>
110
+ Language: <?php echo get_locale()."\n"; ?>
111
+ Permalink Structure: <?php echo get_option( 'permalink_structure' ) . "\n"; ?>
112
+ Active Theme: <?php echo $theme . "\n"; ?>
113
+ <?php $show_on_front = get_option( 'show_on_front' ); ?>
114
+ <?php if( $show_on_front == "posts" ): ?>
115
+ Show On Front: <?php echo get_option( 'show_on_front' ) . "/static\n" ?>
116
+ <?php elseif( $show_on_front == "page" ): ?>
117
+ Page On Front: <?php $id = get_option( 'page_on_front' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
118
+ Page For Posts: <?php $id = get_option( 'page_for_posts' ); echo get_the_title( $id ) . ' (#' . $id . ')' . "\n" ?>
119
+ <?php endif; ?>
120
+ ABSPATH: <?php echo ABSPATH."\n"; ?>
121
+ <?php $wp_count_posts = wp_count_posts(); ?>
122
+ All Posts/Pages: <?php echo array_sum((array)$wp_count_posts)."\n";?>
123
+ <?php
124
+ $request['cmd'] = '_notify-validate';
125
+
126
+ $params = array(
127
+ 'sslverify' => false,
128
+ 'timeout' => 60,
129
+ 'user-agent' => 'UltimateMember/' . ultimatemember_version,
130
+ 'body' => $request
131
+ );
132
+
133
+ $response = wp_remote_post( 'https://www.paypal.com/cgi-bin/webscr', $params );
134
+
135
+ if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 ) {
136
+ $WP_REMOTE_POST = 'wp_remote_post() works' . "\n";
137
+ } else {
138
+ $WP_REMOTE_POST = 'wp_remote_post() does not work' . "\n";
139
+ }
140
+ ?>
141
+ WP Remote Post: <?php echo $WP_REMOTE_POST; ?>
142
+ WP_DEBUG: <?php echo defined( 'WP_DEBUG' ) ? WP_DEBUG ? 'Enabled' . "\n" : 'Disabled' . "\n" : 'Not set' . "\n" ?>
143
+ WP Table Prefix: <?php echo "Length: ". strlen( $wpdb->prefix ); echo ", Status:"; if ( strlen( $wpdb->prefix )>16 ) {echo " ERROR: Too Long";} else {echo " Acceptable";} echo "\n"; ?>
144
+ Memory Limit: <?php echo ( um_let_to_num( WP_MEMORY_LIMIT )/( 1024 ) )."MB"; ?><?php echo "\n"; ?>
145
+
146
+ --- UM Configurations ---
147
+
148
+ Version: <?php echo ultimatemember_version . "\n"; ?>
149
+ Upgraded From: <?php echo get_option( 'um_version_upgraded_from', 'None' ) . "\n"; ?>
150
+ Current URL Method: <?php echo um_get_option( 'current_url_method' ). "\n"; ?>
151
+ Cache User Profile: <?php if( um_get_option( 'um_profile_object_cache_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
152
+ Generate Slugs on Directories: <?php if( um_get_option( 'um_generate_slug_in_directory' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
153
+ Rewrite Rules: <?php if( um_get_option( 'um_flush_stop' ) == 1 ){ echo "No"; }else{ echo "Yes"; } echo "\n"; ?>
154
+ Force UTF-8 Encoding: <?php if( um_get_option( 'um_force_utf8_strings' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
155
+ Time Check Security: <?php if( um_get_option( 'enable_timebot' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
156
+ JS/CSS Compression: <?php if( um_get_option( 'disable_minify' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
157
+ <?php if( is_multisite() ): ?>
158
+ Network Structure: <?php echo um_get_option( 'network_permalink_structure' ). "\n"; ?>
159
+ <?php endif; ?>
160
+ Nav Menu Settings: <?php if( um_get_option( 'disable_menu' ) == 0 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
161
+ Port Forwarding in URL: <?php if( um_get_option( 'um_port_forwarding_url' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
162
+ Exclude CSS/JS on Home: <?php if( um_get_option( 'js_css_exlcude_home' ) == 1 ){ echo "Yes"; }else{ echo "No"; } echo "\n"; ?>
163
+
164
+ --- UM Pages Configuration ---
165
+
166
+ <?php do_action("um_system_info_before_page_config") ?>
167
+ User: <?php echo get_permalink( um_get_option('core_user') ) . "\n"; ?>
168
+ Account: <?php echo get_permalink( um_get_option('core_account') ) . "\n"; ?>
169
+ Members: <?php echo get_permalink( um_get_option('core_members') ) . "\n"; ?>
170
+ Register: <?php echo get_permalink( um_get_option('core_register') ) . "\n"; ?>
171
+ Login: <?php echo get_permalink( um_get_option('core_login') ) . "\n"; ?>
172
+ Logout: <?php echo get_permalink( um_get_option('core_logout') ) . "\n"; ?>
173
+ Password Reset: <?php echo get_permalink( um_get_option('core_password-reset') ) . "\n"; ?>
174
+ <?php do_action("um_system_info_after_page_config") ?>
175
+
176
+ -- UM Users Configuration ---
177
+
178
+ Default New User Role: <?php echo um_get_option('default_role') . "\n"; ?>
179
+ Profile Permalink Base: <?php echo um_get_option('permalink_base') . "\n"; ?>
180
+ User Display Name: <?php echo um_get_option('display_name') . "\n"; ?>
181
+ Force Name to Uppercase: <?php echo $this->value( um_get_option('force_display_name_capitlized'), 'yesno', true ); ?>
182
+ Redirect author to profile: <?php echo $this->value( um_get_option('author_redirect'), 'yesno', true ); ?>
183
+ Enable Members Directory: <?php echo $this->value( um_get_option('members_page'), 'yesno', true ); ?>
184
+ Use Gravatars: <?php echo $this->value( um_get_option('use_gravatars'), 'yesno', true ); ?>
185
+ <?php if( um_get_option('use_gravatars') ): ?>Gravatar builtin image: <?php echo um_get_option('use_um_gravatar_default_builtin_image') . "\n"; ?>
186
+ UM Avatar as blank Gravatar: <?php echo $this->value( um_get_option('use_um_gravatar_default_image'), 'yesno', true ); ?><?php endif; ?>
187
+ Require a strong password: <?php echo $this->value( um_get_option('reset_require_strongpass'), 'onoff', true ); ?>
188
+ Editable primary email field in profile view: <?php echo $this->value( um_get_option('editable_primary_email_in_profile'), 'onoff', true ); ?>
189
+
190
+ -- UM Access Configuration ---
191
+
192
+ Panic Key: <?php echo um_get_option('panic_key') . "\n"; ?>
193
+ Global Site Access: <?php $arr = array('Site accessible to Everyone','','Site accessible to Logged In Users'); echo $arr[ intval( um_get_option('accessible') ) ] . "\n"; ?>
194
+ <?php if( um_get_option('accessible') == 2 ):?>
195
+ Custom Redirect URL: <?php echo um_get_option('access_redirect')."\n";?>
196
+ Exclude the following URLs:<?php echo "\t\t\t\t".implode("\t\n\t\t\t\t\t\t\t\t\t\t",um_get_option('access_exclude_uris') )."\n";?><?php endif;?>
197
+ Backend Login Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_login'), 'yesno', true ); ?>
198
+ <?php if( ! um_get_option('wpadmin_login') ):?>Redirect to alternative login page: <?php if( um_get_option('wpadmin_login_redirect') == 'um_login_page' ){ echo um_get_core_page('login')."\n"; }else{ echo um_get_option('wpadmin_login_redirect_url')."\n"; }?><?php endif; ?>
199
+ Backend Register Screen for Guests: <?php echo $this->value( um_get_option('wpadmin_register'), 'yesno', true ); ?>
200
+ <?php if( ! um_get_option('wpadmin_register') ):?>Redirect to alternative register page: <?php if( um_get_option('wpadmin_register_redirect') == 'um_register_page' ){ echo um_get_core_page('register')."\n"; }else{ echo um_get_option('wpadmin_register_redirect_url')."\n"; }?><?php endif; ?>
201
+ Access Control widget for Admins only: <?php echo $this->value( um_get_option('access_widget_admin_only'), 'yesno', true ); ?>
202
+ Enable the Reset Password Limit: <?php echo $this->value( um_get_option('enable_reset_password_limit'), 'yesno', true ); ?>
203
+ <?php if( um_get_option('enable_reset_password_limit') ) {
204
+ echo "Reset Password Limit:\t\t\t\t\t\t".um_get_option('reset_password_limit_number')."\n";
205
+ echo "Disable Reset Password Limit for Admins:\t".$this->value( um_get_option('disable_admin_reset_password_limit'), 'yesno', true );
206
+ } ?>
207
+ <?php $wpadmin_allow_ips = um_get_option('wpadmin_allow_ips'); if( ! empty( $wpadmin_allow_ips ) ){ ?>
208
+ Whitelisted Backend IPs: <?php echo count( explode("\n",trim(um_get_option('wpadmin_allow_ips') ) ) )."\n"; ?>
209
+ <?php }?>
210
+ <?php $blocked_ips = um_get_option('blocked_ips'); if( ! empty( $blocked_ips ) ){ ?>
211
+ Blocked IP Addresses: <?php echo count( explode("\n",um_get_option('blocked_ips') ) )."\n"; ?>
212
+ <?php }?>
213
+ <?php $blocked_emails = um_get_option('blocked_emails'); if( ! empty( $blocked_emails ) ){ ?>
214
+ Blocked Email Addresses: <?php echo count( explode("\n",um_get_option('blocked_emails') ) )."\n"; ?>
215
+ <?php }?>
216
+ <?php $blocked_words = um_get_option('blocked_words'); if( ! empty( $blocked_words ) ){ ?>
217
+ Blacklist Words: <?php echo count( explode("\n",um_get_option('blocked_words') ) )."\n"; ?>
218
+ <?php }?>
219
+
220
+
221
+ --- UM Email Configurations --
222
+
223
+ Mail appears from: <?php $mail_from = um_get_option('mail_from'); if( ! empty( $mail_from ) ){echo um_get_option('mail_from');}else{echo "-";}; echo "\n";?>
224
+ Mail appears from address: <?php $mail_from_addr = um_get_option('mail_from_addr'); if( ! empty( $mail_from_addr ) ){echo um_get_option('mail_from_addr');}else{echo "-";}; echo "\n";?>
225
+ Use HTML for E-mails: <?php echo $this->value( um_get_option('email_html'), 'yesno', true ); ?>
226
+ Account Welcome Email: <?php echo $this->value( um_get_option('welcome_email_on'), 'yesno', true ); ?>
227
+ Account Activation Email: <?php echo $this->value( um_get_option('checkmail_email_on'), 'yesno', true ); ?>
228
+ Pending Review Email: <?php echo $this->value( um_get_option('pending_email_on'), 'yesno', true ); ?>
229
+ Account Approved Email: <?php echo $this->value( um_get_option('approved_email_on'), 'yesno', true ); ?>
230
+ Account Rejected Email: <?php echo $this->value( um_get_option('rejected_email_on'), 'yesno', true ); ?>
231
+ Account Deactivated Email: <?php echo $this->value( um_get_option('inactive_email_on'), 'yesno', true ); ?>
232
+ Account Deleted Email: <?php echo $this->value( um_get_option('deletion_email_on'), 'yesno', true ); ?>
233
+ Password Reset Email: <?php echo $this->value( um_get_option('resetpw_email_on'), 'yesno', true ); ?>
234
+ Password Changed Email: <?php echo $this->value( um_get_option('changedpw_email_on'), 'yesno', true ); ?>
235
+
236
+
237
+ --- UM Total Users ---
238
+
239
+ <?php
240
+
241
+ $result = count_users();
242
+ echo 'All Users('.$result['total_users'].")\n";
243
+ foreach($result['avail_roles'] as $role => $count){
244
+ echo $role."(".$count.")\n";
245
+ }
246
+ ?>
247
+
248
+
249
+ --- UM Roles ---
250
+
251
+ <?php
252
+
253
+ foreach( $ultimatemember->query->get_roles() as $role_id => $role ) {
254
+ echo $role." ({$role_id})\n";
255
+ }
256
+
257
+ ?>
258
+
259
+
260
+ --- UM Custom Templates ---
261
+
262
+ <?php
263
+ // Show templates that have been copied to the theme's edd_templates dir
264
+
265
+ $dir = get_stylesheet_directory() . '/ultimate-member/templates/*.php';
266
+ if ( ! empty( $dir ) ){
267
+ $found = glob( $dir );
268
+ if( ! empty( $found ) ){
269
+ foreach ( glob( $dir ) as $file ) {
270
+ echo "File: " . $file . "\n";
271
+ }
272
+ }else {
273
+ echo 'N/A'."\n";
274
+ }
275
+ }
276
+ echo "\n\n";
277
+
278
+ $dir = get_stylesheet_directory() . '/ultimate-member/templates/emails/*.html';
279
+ echo "-- UM Email HTML Templates -- \n\n";
280
+
281
+ if ( ! empty( $dir ) ){
282
+ $found = glob( $dir );
283
+ if( ! empty( $found ) ){
284
+ foreach ( glob( $dir ) as $file ) {
285
+ echo "File: ". $file . "\n";
286
+ }
287
+ }else {
288
+ echo 'N/A'."\n";
289
+ }
290
+ }
291
+
292
+ ?>
293
+
294
+ --- Web Server Configurations ---
295
+
296
+ PHP Version: <?php echo PHP_VERSION . "\n"; ?>
297
+ MySQL Version: <?php echo $wpdb->db_version() . "\n"; ?>
298
+ Web Server Info: <?php echo $_SERVER['SERVER_SOFTWARE'] . "\n"; ?>
299
+
300
+ --- PHP Configurations --
301
+
302
+ PHP Safe Mode: <?php echo $this->value( ini_get( 'safe_mode' ), 'yesno', true ); ?>
303
+ PHP Memory Limit: <?php echo ini_get( 'memory_limit' ) . "\n"; ?>
304
+ PHP Upload Max Size: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
305
+ PHP Post Max Size: <?php echo ini_get( 'post_max_size' ) . "\n"; ?>
306
+ PHP Upload Max Filesize: <?php echo ini_get( 'upload_max_filesize' ) . "\n"; ?>
307
+ PHP Time Limit: <?php echo ini_get( 'max_execution_time' ) . "\n"; ?>
308
+ PHP Max Input Vars: <?php echo ini_get( 'max_input_vars' ) . "\n"; ?>
309
+ PHP Arg Separator: <?php echo ini_get( 'arg_separator.output' ) . "\n"; ?>
310
+ PHP Allow URL File Open: <?php echo ini_get( 'allow_url_fopen' ) ? "Yes\n" : "No\n"; ?>
311
+
312
+
313
+ --- Web Server Extensions/Modules ---
314
+
315
+ DISPLAY ERRORS: <?php echo ( ini_get( 'display_errors' ) ) ? 'On (' . ini_get( 'display_errors' ) . ')' : 'N/A'; ?><?php echo "\n"; ?>
316
+ FSOCKOPEN: <?php echo ( function_exists( 'fsockopen' ) ) ? 'Your server supports fsockopen.' : 'Your server does not support fsockopen.'; ?><?php echo "\n"; ?>
317
+ cURL: <?php echo ( function_exists( 'curl_init' ) ) ? 'Your server supports cURL.' : 'Your server does not support cURL.'; ?><?php echo "\n"; ?>
318
+ SOAP Client: <?php echo ( class_exists( 'SoapClient' ) ) ? 'Your server has the SOAP Client enabled.' : 'Your server does not have the SOAP Client enabled.'; ?><?php echo "\n"; ?>
319
+ SUHOSIN: <?php echo ( extension_loaded( 'suhosin' ) ) ? 'Your server has SUHOSIN installed.' : 'Your server does not have SUHOSIN installed.'; ?><?php echo "\n"; ?>
320
+
321
+
322
+ --- Session Configurations ---
323
+
324
+ Session: <?php echo isset( $_SESSION ) ? 'Enabled' : 'Disabled'; ?><?php echo "\n"; ?>
325
+ Session Name: <?php echo esc_html( ini_get( 'session.name' ) ); ?><?php echo "\n"; ?>
326
+ Cookie Path: <?php echo esc_html( ini_get( 'session.cookie_path' ) ); ?><?php echo "\n"; ?>
327
+ Save Path: <?php echo esc_html( ini_get( 'session.save_path' ) ); ?><?php echo "\n"; ?>
328
+ Use Cookies: <?php echo ini_get( 'session.use_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
329
+ Use Only Cookies: <?php echo ini_get( 'session.use_only_cookies' ) ? 'On' : 'Off'; ?><?php echo "\n"; ?>
330
+
331
+
332
+
333
+ --- WordPress Active Plugins ---
334
+
335
+ <?php
336
+ $plugins = get_plugins();
337
+ $active_plugins = get_option( 'active_plugins', array() );
338
+
339
+ foreach ( $plugins as $plugin_path => $plugin ) {
340
+ // If the plugin isn't active, don't show it.
341
+ if ( ! in_array( $plugin_path, $active_plugins ) )
342
+ continue;
343
+
344
+ echo $plugin['Name'] . ': ' . $plugin['Version'] ."\n";
345
+ }
346
+
347
+ if ( is_multisite() ) :
348
+ ?>
349
+
350
+ --- WordPress Network Active Plugins ---
351
+
352
+ <?php
353
+ $plugins = wp_get_active_network_plugins();
354
+ $active_plugins = get_site_option( 'active_sitewide_plugins', array() );
355
+
356
+ foreach ( $plugins as $plugin_path ) {
357
+ $plugin_base = plugin_basename( $plugin_path );
358
+
359
+ // If the plugin isn't active, don't show it.
360
+ if ( ! array_key_exists( $plugin_base, $active_plugins ) )
361
+ continue;
362
+
363
+ $plugin = get_plugin_data( $plugin_path );
364
+
365
+ echo $plugin['Name'] . ' :' . $plugin['Version'] ."\n";
366
+ }
367
+
368
+ endif;
369
+ ?>
370
+ <?php
371
+ do_action( 'um_system_info_after' );
372
+ ?>
373
+
374
+
375
+
376
+
377
+ ### End System Info ###</textarea>
378
+ <p class="submit">
379
+ <input type="hidden" name="um-addon-hook" value="download_system_info" />
380
+ <?php submit_button( 'Download System Info File', 'primary', 'download_system_info', false ); ?>
381
+ </p>
382
+ </form>
383
+
384
+ <?php } ?>
385
+
386
+ <?php
387
+
388
+ }
389
+
390
+ function value( $raw_value = '', $type = 'yesno', $default = '', $default_negate = '' ){
391
+
392
+ if( $type == 'yesno' ){
393
+ if( $default == $raw_value ){
394
+ $raw_value = "Yes";
395
+ }else{
396
+ $raw_value = "No";
397
+ }
398
+ }else if( $type == 'onoff' ){
399
+ if( $default == $raw_value ){
400
+ $raw_value = "On";
401
+ }else{
402
+ $raw_value = "Off";
403
+ }
404
+ }
405
+
406
+ return $raw_value."\n";
407
+ }
408
+
409
+ }
410
+
411
$UM_ADDON_system_info = new UM_ADDON_system_info();
admin/assets/css/um-admin-builder.css CHANGED
@@ -1,302 +1,302 @@
1
- /*
2
- - General
3
- */
4
-
5
- .um-admin-builder * {
6
- -webkit-font-smoothing: antialiased !important;
7
- -moz-osx-font-smoothing: grayscale;
8
- }
9
-
10
- .um-admin-builder i {
11
- font-size: 15px !important;
12
- height: 100% !important;
13
- line-height: 100% !important;
14
- margin: 0 5px 0 0 !important;
15
- }
16
-
17
- .um-admin-builder .um-admin-drag {margin-top: 40px}
18
-
19
- /*
20
- - Add field
21
- */
22
- .um-admin-drag-add-field {
23
- display: block;
24
- width: 100%;
25
- height: 30px;
26
- line-height: 30px;
27
- text-align: center;
28
- color: #aaa;
29
- text-decoration: none;
30
- }
31
-
32
- .um-admin-drag-add-field:hover {color: #3ba1da}
33
-
34
- .um-admin-drag-add-field i {
35
- font-size: 23px !important;
36
- margin: 0 !important;
37
- }
38
-
39
- /*
40
- - Drag controls
41
- */
42
-
43
- .um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
44
- position: absolute;
45
- right: 7px;
46
- top: -30px;
47
- left: auto;
48
- }
49
-
50
- .um-admin-drag-ctrls {
51
- position: absolute;
52
- top: -30px;
53
- left: 0;
54
- }
55
-
56
- .um-admin-drag-ctrls a {
57
- float: left;
58
- margin: 0 5px 0 0;
59
- height: 30px;
60
- line-height: 30px;
61
- background: #eee;
62
- color: #888;
63
- padding: 0 8px;
64
- text-decoration: none;
65
- border-radius: 2px 2px 0 0;
66
- }
67
-
68
- .um-admin-drag-ctrls a:hover {background-color: #e5e5e5}
69
-
70
- .um-admin-drag-ctrls a.active,
71
- .um-admin-drag-ctrls a.active:hover {
72
- background-color: #3ba1da;
73
- color: #fff;
74
- }
75
-
76
- .um-admin-drag-ctrls.columns a {width: 30px !important;background-image: url(../img/1-column.gif); background-repeat: no-repeat; background-position: center;}
77
- .um-admin-drag-ctrls.columns a:nth-child(2) {background-image: url(../img/2-columns.gif);}
78
- .um-admin-drag-ctrls.columns a:last-child {background-image: url(../img/3-columns.gif);}
79
-
80
- .um-admin-drag-ctrls.columns a.active {background-image: url(../img/1-column-active.gif)}
81
- .um-admin-drag-ctrls.columns a.active:nth-child(2) {background-image: url(../img/2-columns-active.gif);}
82
- .um-admin-drag-ctrls.columns a.active:last-child {background-image: url(../img/3-columns-active.gif);}
83
-
84
- /*
85
- - Drag Area
86
- */
87
-
88
- .um-admin-drag {
89
- width: 100%;
90
- background: #f1f1f1;
91
- box-sizing: border-box;
92
- position: relative;
93
- padding: 60px 20px 20px 20px;
94
- }
95
-
96
- .um-admin-drag-row {
97
- width: 100%;
98
- background: #fefefe;
99
- box-sizing: border-box;
100
- position: relative;
101
- padding: 60px 20px 20px 20px;
102
- margin: 0 0 60px 0;
103
- }
104
- .um-admin-drag-row:last-child {margin-bottom: 0}
105
-
106
- .um-admin-drag-row-icons {
107
- position: absolute;
108
- right: 0;
109
- top: -30px;
110
- height: 30px;
111
- }
112
-
113
- .um-admin-drag-rowsub {
114
- position: relative;
115
- box-sizing: border-box;
116
- background: #f1f1f1;
117
- padding: 20px;
118
- margin: 0 0 60px 0;
119
- }
120
- .um-admin-drag-rowsub:last-child {margin-bottom: 0}
121
-
122
- .um-admin-drag-rowsub-icons {
123
- position: absolute;
124
- right: 0;
125
- top: -30px;
126
- height: 30px;
127
- }
128
-
129
- .um-admin-drag-col {
130
- float: left;
131
- width: 100%;
132
- background: #fff;
133
- border: 1px dashed #bbb;
134
- box-sizing: border-box;
135
- padding: 20px;
136
- }
137
-
138
- .um-admin-drag-col.cols-3 {width: 32%;}
139
- .um-admin-drag-col.cols-3.cols-last {width: 32%;}
140
- .um-admin-drag-col.cols-3.cols-middle {width: 32%;margin: 0 2%;}
141
-
142
- .um-admin-drag-col.cols-1 {width: 100%;}
143
- .um-admin-drag-col.cols-1.cols-last {width: 100%;}
144
- .um-admin-drag-col.cols-1.cols-middle {}
145
-
146
- .um-admin-drag-col.cols-2 {width: 49%;margin: 0 1% 0 0}
147
- .um-admin-drag-col.cols-2.cols-last {width: 49%;margin: 0 0 0 1%;}
148
- .um-admin-drag-col.cols-2.cols-middle {}
149
-
150
- .um-admin-drag-addrow {
151
- text-align: center;
152
- font-size: 14px;
153
- color: #888;
154
- cursor: pointer;
155
- border: 1px dashed #bbb;
156
- padding: 10px 0;
157
- margin: 20px 0 0 0;
158
- }
159
- .um-admin-drag-addrow i {
160
- font-size: 23px !important;
161
- margin: 0 !important;
162
- }
163
- .um-admin-drag-addrow:hover {color: #3ba1da}
164
-
165
- /*
166
- - Fields
167
- */
168
-
169
- .um-admin-drag-fld {
170
- display: block;
171
- position: relative;
172
- border: 1px solid #dddddd;
173
- margin: 0 0 15px 0;
174
- background: #F5F5F5;
175
- cursor: move !important;
176
- }
177
-
178
- .um-admin-drag-fld-title i {
179
- width: 24px;
180
- display: inline-block;
181
- text-align: center;
182
- }
183
-
184
- .um-admin-drag-fld.um-field-type-group {background: #555;border: 0}
185
- .um-admin-drag-fld-title.um-field-type-group,.um-admin-drag-fld-type.um-field-type-group {color: #fff}
186
- .um-admin-drag-group {background: #FCFCFC;cursor: default;padding: 20px;border: 1px dashed #bbb;}
187
- .um-admin-drag-col.cols-3 .um-admin-drag-fld-icons.um-field-type-group{float: left;position: relative;bottom: auto;right: auto;height: 30px;display: block;}
188
- .um-admin-drag-fld-icons.um-field-type-group a.um_admin_duplicate_field {display: none !important}
189
-
190
- .um-admin-drag-fld-title,
191
- .um-admin-drag-fld-type {
192
- float: left;
193
- font-weight: bold;
194
- font-size: 13px;
195
- color: #666;
196
- height: 30px;
197
- line-height: 30px;
198
- margin: 0 0 0 20px;
199
- }
200
-
201
- .um-admin-drag-fld-type {
202
- font-weight: 400;
203
- color: #999;
204
- }
205
-
206
- .um-admin-drag-fld-icons {
207
- float: right;
208
- }
209
-
210
- /*
211
- - Responsive cols appearance
212
- */
213
-
214
- .um-admin-drag-col.cols-3 .um-admin-drag-fld-title,
215
- .um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
216
- height: auto;
217
- line-height: 18px;
218
- margin: 10px;
219
- margin-bottom: 0;
220
- }
221
-
222
- .um-admin-drag-col.cols-3 .um-admin-drag-fld-type {
223
- margin: 10px;
224
- }
225
-
226
- .um-admin-drag-col.cols-3 .um-admin-drag-fld-icons {
227
- float: none;
228
- position: absolute;
229
- bottom: 0;
230
- right: 0;
231
- height: 30px;
232
- display: none;
233
- }
234
-
235
- .um-admin-drag-col.cols-3 .um-admin-drag-fld:hover .um-admin-drag-fld-icons{display: block;}
236
-
237
- /*
238
- - Icons
239
- */
240
-
241
- .um-admin-drag-row-icons a,
242
- .um-admin-drag-row-icons span,
243
- .um-admin-drag-rowsub-icons a,
244
- .um-admin-drag-rowsub-icons span,
245
- .um-admin-drag-fld-icons a{
246
- text-decoration: none;
247
- color: #fff;
248
- width: 40px;
249
- height: 30px;
250
- line-height: 30px;
251
- text-align: center;
252
- display: block !important;
253
- float: left;
254
- background: #44b0ec;
255
- padding: 0 4px;
256
- transition: all .2s linear;
257
- border-left: 1px solid #379dd5;
258
- }
259
-
260
- .um-admin-drag-row-icons span,
261
- .um-admin-drag-rowsub-icons span
262
- {cursor: move!important}
263
-
264
- .um-admin-drag-row-icons a:hover,
265
- .um-admin-drag-row-icons span:hover,
266
- .um-admin-drag-rowsub-icons a:hover,
267
- .um-admin-drag-rowsub-icons span:hover,
268
- .um-admin-drag-fld-icons a:hover {background: #3396cd;}
269
-
270
- .um-admin-drag-row-icons i,
271
- .um-admin-drag-rowsub-icons i,
272
- .um-admin-drag-fld-icons i{
273
- font-size: 18px !important;
274
- margin: 0 !important;
275
- top: 2px;
276
- position: relative;
277
- }
278
-
279
- /*
280
- - UI Placeholders
281
- */
282
-
283
- .um-row-placeholder {
284
- width: 100%;
285
- border: 2px dashed #aaa;
286
- box-sizing: border-box;
287
- }
288
-
289
- .um-rowsub-placeholder {
290
- width: 100%;
291
- border: 2px dashed #ccc;
292
- box-sizing: border-box;
293
- display: block;
294
- }
295
-
296
- .um-fld-placeholder {
297
- display: block;
298
- border: 1px dashed #dddddd;
299
- background: #fff;
300
- box-sizing: border-box;
301
- width: 100%;
302
}
1
+ /*
2
+ - General
3
+ */
4
+
5
+ .um-admin-builder * {
6
+ -webkit-font-smoothing: antialiased !important;
7
+ -moz-osx-font-smoothing: grayscale;
8
+ }
9
+
10
+ .um-admin-builder i {
11
+ font-size: 15px !important;
12
+ height: 100% !important;
13
+ line-height: 100% !important;
14
+ margin: 0 5px 0 0 !important;
15
+ }
16
+
17
+ .um-admin-builder .um-admin-drag {margin-top: 40px}
18
+
19
+ /*
20
+ - Add field
21
+ */
22
+ .um-admin-drag-add-field {
23
+ display: block;
24
+ width: 100%;
25
+ height: 30px;
26
+ line-height: 30px;
27
+ text-align: center;
28
+ color: #aaa;
29
+ text-decoration: none;
30
+ }
31
+
32
+ .um-admin-drag-add-field:hover {color: #3ba1da}
33
+
34
+ .um-admin-drag-add-field i {
35
+ font-size: 23px !important;
36
+ margin: 0 !important;
37
+ }
38
+
39
+ /*
40
+ - Drag controls
41
+ */
42
+
43
+ .um-admin-drag-ctrls-demo.um-admin-drag-ctrls {
44
+ position: absolute;
45
+ right: 7px;
46
+ top: -30px;
47
+ left: auto;
48
+ }
49
+
50
+ .um-admin-drag-ctrls {
51
+ position: absolute;
52
+ top: -30px;
53
+ left: 0;
54
+ }
55
+
56
+ .um-admin-drag-ctrls a {
57
+ float: left;
58
+ margin: 0 5px 0 0;
59
+ height: 30px;
60
+ line-height: 30px;
61
+ background: #eee;
62
+ color: #888;
63
+ padding: 0 8px;
64
+ text-decoration: none;
65
+ border-radius: 2px 2px 0 0;
66
+ }
67
+
68
+ .um-admin-drag-ctrls a:hover {background-color: #e5e5e5}
69
+
70
+ .um-admin-drag-ctrls a.active,
71
+ .um-admin-drag-ctrls a.active:hover {
72
+ background-color: #3ba1da;
73
+ color: #fff;
74
+ }
75
+
76
+ .um-admin-drag-ctrls.columns a {width: 30px !important;background-image: url(../img/1-column.gif); background-repeat: no-repeat; background-position: center;}
77
+ .um-admin-drag-ctrls.columns a:nth-child(2) {background-image: url(../img/2-columns.gif);}
78
+ .um-admin-drag-ctrls.columns a:last-child {background-image: url(../img/3-columns.gif);}
79
+
80
+ .um-admin-drag-ctrls.columns a.active {background-image: url(../img/1-column-active.gif)}
81
+ .um-admin-drag-ctrls.columns a.active:nth-child(2) {background-image: url(../img/2-columns-active.gif);}
82
+ .um-admin-drag-ctrls.columns a.active:last-child {background-image: url(../img/3-columns-active.gif);}
83
+
84
+ /*
85
+ - Drag Area
86
+ */
87
+
88
+ .um-admin-drag {
89
+ width: 100%;
90
+ background: #f1f1f1;
91
+ box-sizing: border-box;
92
+ position: relative;
93
+ padding: 60px 20px 20px 20px;
94
+ }
95
+
96
+ .um-admin-drag-row {
97
+ width: 100%;
98
+ background: #fefefe;
99
+ box-sizing: border-box;
100
+ position: relative;
101
+ padding: 60px 20px 20px 20px;
102
+ margin: 0 0 60px 0;
103
+ }
104
+ .um-admin-drag-row:last-child {margin-bottom: 0}
105
+
106
+ .um-admin-drag-row-icons {
107
+ position: absolute;
108
+ right: 0;
109
+ top: -30px;
110
+ height: 30px;
111
+ }
112
+
113
+ .um-admin-drag-rowsub {
114
+ position: relative;
115
+ box-sizing: border-box;
116
+ background: #f1f1f1;
117
+ padding: 20px;
118
+ margin: 0 0 60px 0;
119
+ }
120
+ .um-admin-drag-rowsub:last-child {margin-bottom: 0}
121
+
122
+ .um-admin-drag-rowsub-icons {
123
+ position: absolute;
124
+ right: 0;
125
+ top: -30px;
126
+ height: 30px;
127
+ }
128
+
129
+ .um-admin-drag-col {
130
+ float: left;
131
+ width: 100%;
132
+ background: #fff;
133
+ border: 1px dashed #bbb;
134
+ box-sizing: border-box;
135
+ padding: 20px;
136
+ }
137
+
138
+ .um-admin-drag-col.cols-3 {width: 32%;}
139
+ .um-admin-drag-col.cols-3.cols-last {width: 32%;}
140
+ .um-admin-drag-col.cols-3.cols-middle {width: 32%;margin: 0 2%;}
141
+
142
+ .um-admin-drag-col.cols-1 {width: 100%;}
143
+ .um-admin-drag-col.cols-1.cols-last {width: 100%;}
144
+ .um-admin-drag-col.cols-1.cols-middle {}
145
+
146
+ .um-admin-drag-col.cols-2 {width: 49%;margin: 0 1% 0 0}
147
+ .um-admin-drag-col.cols-2.cols-last {width: 49%;margin: 0 0 0 1%;}