Version Description
= 2.5.1 = See: https://codex.buddypress.org/releases/version-2-5-1/
= 2.5 = See: https://codex.buddypress.org/releases/version-2-5-0/
= 2.4.3 = See: https://codex.buddypress.org/releases/version-2-4-3/
= 2.4.2 = See: https://codex.buddypress.org/releases/version-2-4-2/
= 2.4.1 = See: https://codex.buddypress.org/releases/version-2-4-1/
= 2.4 = See: https://codex.buddypress.org/releases/version-2-4-0/
= 2.3.5 = See: https://codex.buddypress.org/releases/version-2-3-5/
= 2.3.4 = See: https://codex.buddypress.org/releases/version-2-3-4/
= 2.3.3 = See: https://codex.buddypress.org/releases/version-2-3-3/
= 2.3.2 = See: https://codex.buddypress.org/releases/version-2-3-2/
= 2.3.1 = See: https://codex.buddypress.org/releases/version-2-3-1/
= 2.3.0 = See: https://codex.buddypress.org/releases/version-2-3-0/
= 2.2.3.1 = See: https://codex.buddypress.org/releases/version-2-2-3-1/
= 2.2.3 = See: https://codex.buddypress.org/releases/version-2-2-3/
= 2.2.2.1 = See: https://codex.buddypress.org/releases/version-2-2-2-1/
= 2.2.2 = See: https://codex.buddypress.org/releases/version-2-2-2/
= 2.2.1 = See: https://codex.buddypress.org/releases/version-2-2-1/
= 2.2 = See: https://codex.buddypress.org/releases/version-2-2/
= 2.1 = See: https://codex.buddypress.org/releases/version-2-1/
= 2.0.3 = See: https://codex.buddypress.org/releases/version-2-0-3/
= 2.0.2 = See: https://codex.buddypress.org/releases/version-2-0-2/
= 2.0.1 = See: https://codex.buddypress.org/releases/version-2-0-1/
= 2.0 = See: https://codex.buddypress.org/releases/version-2-0/
= 1.9.2 = See: https://codex.buddypress.org/releases/version-1-9-2/
= 1.9.1 = See: https://codex.buddypress.org/releases/version-1-9-1/
= 1.9 = See: https://codex.buddypress.org/releases/version-1-9/
= 1.8.1 = See: https://codex.buddypress.org/releases/version-1-8-1/
= 1.8 = See: https://codex.buddypress.org/releases/version-1-8/
= 1.7.3 = See: https://codex.buddypress.org/releases/version-1-7-3/
= 1.7.2 = See: https://codex.buddypress.org/releases/version-1-7-2/
= 1.7.1 = See: https://codex.buddypress.org/releases/version-1-7-1/
= 1.7 = See: https://codex.buddypress.org/releases/version-1-7/
= 1.6.5 = See: https://codex.buddypress.org/releases/version-1-6-5/
= 1.6.4 = See: https://codex.buddypress.org/releases/version-1-6-4/
= 1.6.3 = See: https://codex.buddypress.org/releases/version-1-6-3/
= 1.6.2 = Compatibility with WordPress 3.5
= 1.6.1 = Fixes 4 bugs
= 1.6 = See: https://codex.buddypress.org/releases/version-1-6/
= 1.5 = See: https://codex.buddypress.org/releases/version-1-5/
= 1.2.9 = Compatibility with WordPress 3.2
= 1.2.8 = Compatibility with WordPress 3.1
= 1.2.7 = Fixes over 10 bugs.
Release Info
Developer | Otto42 |
Plugin | BuddyPress |
Version | 2.6.0-beta1 |
Comparing to | |
See all releases |
Code changes from version 2.9.4 to 2.6.0-beta1
- bp-activity/admin/css/admin-rtl.css +5 -23
- bp-activity/admin/css/admin-rtl.min.css +1 -1
- bp-activity/admin/css/admin.css +5 -23
- bp-activity/admin/css/admin.min.css +1 -1
- bp-activity/admin/js/admin.min.js +1 -1
- bp-activity/bp-activity-actions.php +41 -6
- bp-activity/bp-activity-admin.php +11 -8
- bp-activity/bp-activity-akismet.php +2 -21
- bp-activity/bp-activity-cache.php +0 -21
- bp-activity/bp-activity-classes.php +20 -0
- bp-activity/bp-activity-embeds.php +3 -3
- bp-activity/bp-activity-filters.php +21 -22
- bp-activity/bp-activity-functions.php +79 -345
- bp-activity/bp-activity-loader.php +5 -1
- bp-activity/bp-activity-notifications.php +252 -111
- bp-activity/bp-activity-screens.php +5 -6
- bp-activity/bp-activity-template.php +74 -76
- bp-activity/classes/class-bp-activity-activity.php +123 -109
- bp-activity/classes/class-bp-activity-component.php +18 -9
- bp-activity/classes/class-bp-activity-list-table.php +14 -28
- bp-activity/classes/class-bp-activity-oembed-extension.php +0 -2
- bp-activity/classes/class-bp-activity-template.php +3 -2
- bp-activity/css/mentions-rtl.css +10 -24
- bp-activity/css/mentions-rtl.min.css +1 -1
- bp-activity/css/mentions.css +10 -25
- bp-activity/css/mentions.min.css +1 -1
- bp-activity/js/mentions.min.js +1 -1
- bp-blogs/bp-blogs-activity.php +13 -32
- bp-blogs/bp-blogs-classes.php +13 -0
- bp-blogs/bp-blogs-filters.php +0 -14
- bp-blogs/bp-blogs-functions.php +20 -103
- bp-blogs/bp-blogs-loader.php +4 -2
- bp-blogs/bp-blogs-screens.php +4 -0
- bp-blogs/bp-blogs-template.php +32 -109
- bp-blogs/bp-blogs-widgets.php +5 -1
- bp-blogs/classes/class-bp-blogs-blog.php +10 -50
- bp-blogs/classes/class-bp-blogs-component.php +5 -6
- bp-core/admin/bp-core-admin-classes.php +13 -0
- bp-core/admin/bp-core-admin-components.php +2 -7
- bp-core/admin/bp-core-admin-functions.php +1 -63
- bp-core/admin/bp-core-admin-schema.php +26 -13
- bp-core/admin/bp-core-admin-settings.php +1 -33
- bp-core/admin/bp-core-admin-slugs.php +4 -11
- bp-core/admin/bp-core-admin-tools.php +31 -22
- bp-core/admin/css/common-rtl.css +85 -395
- bp-core/admin/css/common-rtl.min.css +1 -1
- bp-core/admin/css/common.css +85 -395
- bp-core/admin/css/common.min.css +1 -1
- bp-core/admin/css/customizer-controls-rtl.css +3 -3
- bp-core/admin/css/customizer-controls-rtl.min.css +1 -1
- bp-core/admin/css/customizer-controls.css +3 -3
- bp-core/admin/css/customizer-controls.min.css +1 -1
- bp-core/admin/images/autolink-feature.png +0 -0
- bp-core/admin/images/bp-emails-feature.png +0 -0
- bp-core/admin/images/emoji-feature.png +0 -0
- bp-core/admin/images/post-type.png +0 -0
- bp-core/admin/images/twentytwelve.png +0 -0
- bp-core/admin/js/customizer-controls.min.js +1 -1
- bp-core/admin/js/customizer-receiver-emails.min.js +1 -1
- bp-core/admin/js/dismissible-admin-notices.js +0 -16
- bp-core/admin/js/dismissible-admin-notices.min.js +0 -1
- bp-core/bp-core-actions.php +4 -12
- bp-core/bp-core-admin.php +23 -27
- bp-core/bp-core-adminbar.php +6 -5
- bp-core/bp-core-attachments.php +24 -40
- bp-core/bp-core-avatars.php +139 -80
- bp-core/bp-core-buddybar.php +36 -34
- bp-core/bp-core-cache.php +6 -116
- bp-core/bp-core-caps.php +20 -65
- bp-core/bp-core-catchuri.php +26 -123
- bp-core/bp-core-classes.php +40 -0
- bp-core/bp-core-cssjs.php +22 -147
- bp-core/bp-core-customizer-email.php +12 -3
- bp-core/bp-core-dependency.php +30 -1
- bp-core/bp-core-filters.php +47 -73
- bp-core/bp-core-functions.php +82 -506
- bp-core/bp-core-loader.php +8 -1
- bp-core/bp-core-moderation.php +5 -5
- bp-core/bp-core-options.php +71 -24
- bp-core/bp-core-taxonomy.php +8 -116
- bp-core/bp-core-template-loader.php +7 -16
- bp-core/bp-core-template.php +13 -99
- bp-core/bp-core-theme-compatibility.php +15 -11
- bp-core/bp-core-update.php +24 -109
- bp-core/bp-core-widgets.php +5 -1
- bp-core/bp-core-wpabstraction.php +12 -5
- bp-core/classes/class-bp-admin.php +93 -147
- bp-core/classes/class-bp-attachment-avatar.php +6 -15
- bp-core/classes/class-bp-attachment-cover-image.php +1 -1
- bp-core/classes/class-bp-attachment.php +37 -45
- bp-core/classes/class-bp-button.php +76 -238
- bp-core/classes/class-bp-core-bp-nav-backcompat.php +1 -1
- bp-core/classes/class-bp-core-html-element.php +0 -127
- bp-core/classes/class-bp-core-login-widget.php +1 -1
- bp-core/classes/class-bp-core-nav-item.php +19 -0
- bp-core/classes/class-bp-core-nav.php +19 -21
- bp-core/classes/class-bp-core-oembed-extension.php +15 -23
- bp-core/classes/class-bp-core-sort-by-key-callback.php +83 -0
- bp-core/classes/class-bp-core-user.php +14 -21
- bp-core/classes/class-bp-core.php +4 -2
- bp-core/classes/class-bp-media-extractor.php +1 -1
- bp-core/classes/class-bp-phpmailer.php +2 -13
- bp-core/classes/class-bp-theme-compat.php +1 -1
- bp-core/classes/class-bp-user-query.php +10 -18
- bp-core/classes/class-bp-walker-nav-menu.php +3 -1
- bp-core/css/admin-bar-rtl.css +5 -20
- bp-core/css/admin-bar-rtl.min.css +1 -1
- bp-core/css/admin-bar.css +5 -20
- bp-core/css/admin-bar.min.css +1 -1
- bp-core/css/avatar-rtl.css +16 -23
- bp-core/css/avatar-rtl.min.css +1 -1
- bp-core/css/avatar.css +16 -23
- bp-core/css/avatar.min.css +1 -1
- bp-core/css/buddybar-rtl.css +5 -39
- bp-core/css/buddybar-rtl.min.css +1 -1
- bp-core/css/buddybar.css +5 -39
- bp-core/css/buddybar.min.css +1 -1
- bp-core/deprecated/1.2.php +1 -1
- bp-core/deprecated/1.5.php +1 -1
- bp-core/deprecated/1.6.php +2 -7
- bp-core/deprecated/1.7.php +1 -1
- bp-core/deprecated/1.9.php +16 -19
- bp-core/deprecated/2.1.php +4 -4
- bp-core/deprecated/2.5.php +3 -3
- bp-core/deprecated/2.7.php +0 -26
- bp-core/deprecated/2.8.php +0 -199
- bp-core/deprecated/2.9.php +0 -30
- bp-core/js/avatar.min.js +1 -1
- bp-core/js/bp-plupload.js +1 -6
- bp-core/js/bp-plupload.min.js +1 -1
- bp-core/js/confirm.min.js +1 -1
- bp-core/js/cover-image.min.js +1 -1
- bp-core/js/{vendor/jquery-cookie.js → jquery-cookie.js} +0 -0
- bp-core/js/jquery-cookie.min.js +1 -0
- bp-core/js/jquery-query.min.js +1 -1
- bp-core/js/{vendor/jquery-scroll-to.js → jquery-scroll-to.js} +0 -0
- bp-core/js/jquery-scroll-to.min.js +1 -0
- bp-core/js/{vendor/jquery.atwho.js → jquery.atwho.js} +0 -0
- bp-core/js/jquery.atwho.min.js +1 -0
- bp-core/js/{vendor/jquery.atwho.txt → jquery.atwho.txt} +0 -0
- bp-core/js/{vendor/jquery.caret.js → jquery.caret.js} +0 -0
- bp-core/js/jquery.caret.min.js +1 -0
- bp-core/js/{vendor/jquery.caret.txt → jquery.caret.txt} +0 -0
- bp-core/js/vendor/jquery-cookie.min.js +0 -1
- bp-core/js/vendor/jquery-scroll-to.min.js +0 -1
- bp-core/js/vendor/jquery.atwho.min.js +0 -1
- bp-core/js/vendor/jquery.caret.min.js +0 -1
- bp-core/js/vendor/livestamp.js +0 -129
- bp-core/js/vendor/livestamp.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/af.js +0 -73
- bp-core/js/vendor/moment-js/locale/af.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ar-ly.js +0 -122
- bp-core/js/vendor/moment-js/locale/ar-ly.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ar-ma.js +0 -60
- bp-core/js/vendor/moment-js/locale/ar-ma.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ar-sa.js +0 -104
- bp-core/js/vendor/moment-js/locale/ar-sa.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ar-tn.js +0 -59
- bp-core/js/vendor/moment-js/locale/ar-tn.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ar.js +0 -137
- bp-core/js/vendor/moment-js/locale/ar.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/az.js +0 -105
- bp-core/js/vendor/moment-js/locale/az.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/be.js +0 -134
- bp-core/js/vendor/moment-js/locale/be.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/bg.js +0 -90
- bp-core/js/vendor/moment-js/locale/bg.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/bn.js +0 -119
- bp-core/js/vendor/moment-js/locale/bn.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/bo.js +0 -119
- bp-core/js/vendor/moment-js/locale/bo.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/br.js +0 -108
- bp-core/js/vendor/moment-js/locale/br.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/bs.js +0 -143
- bp-core/js/vendor/moment-js/locale/bs.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ca.js +0 -81
- bp-core/js/vendor/moment-js/locale/ca.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/cs.js +0 -172
- bp-core/js/vendor/moment-js/locale/cs.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/cv.js +0 -63
- bp-core/js/vendor/moment-js/locale/cv.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/cy.js +0 -81
- bp-core/js/vendor/moment-js/locale/cy.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/da.js +0 -60
- bp-core/js/vendor/moment-js/locale/da.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/de-at.js +0 -79
- bp-core/js/vendor/moment-js/locale/de-at.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/de.js +0 -78
- bp-core/js/vendor/moment-js/locale/de.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/dv.js +0 -99
- bp-core/js/vendor/moment-js/locale/dv.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/el.js +0 -98
- bp-core/js/vendor/moment-js/locale/el.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/en-au.js +0 -67
- bp-core/js/vendor/moment-js/locale/en-au.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/en-ca.js +0 -63
- bp-core/js/vendor/moment-js/locale/en-ca.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/en-gb.js +0 -67
- bp-core/js/vendor/moment-js/locale/en-gb.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/en-ie.js +0 -67
- bp-core/js/vendor/moment-js/locale/en-ie.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/en-nz.js +0 -67
- bp-core/js/vendor/moment-js/locale/en-nz.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/eo.js +0 -73
- bp-core/js/vendor/moment-js/locale/eo.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/es-do.js +0 -80
- bp-core/js/vendor/moment-js/locale/es-do.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/es.js +0 -81
- bp-core/js/vendor/moment-js/locale/es.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/et.js +0 -80
- bp-core/js/vendor/moment-js/locale/et.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/eu.js +0 -66
- bp-core/js/vendor/moment-js/locale/eu.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fa.js +0 -106
- bp-core/js/vendor/moment-js/locale/fa.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fi.js +0 -107
- bp-core/js/vendor/moment-js/locale/fi.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fo.js +0 -60
- bp-core/js/vendor/moment-js/locale/fo.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fr-ca.js +0 -60
- bp-core/js/vendor/moment-js/locale/fr-ca.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fr-ch.js +0 -64
- bp-core/js/vendor/moment-js/locale/fr-ch.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fr.js +0 -64
- bp-core/js/vendor/moment-js/locale/fr.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/fy.js +0 -73
- bp-core/js/vendor/moment-js/locale/fy.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/gd.js +0 -76
- bp-core/js/vendor/moment-js/locale/gd.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/gl.js +0 -77
- bp-core/js/vendor/moment-js/locale/gl.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/he.js +0 -99
- bp-core/js/vendor/moment-js/locale/he.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/hi.js +0 -124
- bp-core/js/vendor/moment-js/locale/hi.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/hr.js +0 -145
- bp-core/js/vendor/moment-js/locale/hr.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/hu.js +0 -109
- bp-core/js/vendor/moment-js/locale/hu.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/hy-am.js +0 -95
- bp-core/js/vendor/moment-js/locale/hy-am.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/id.js +0 -83
- bp-core/js/vendor/moment-js/locale/id.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/is.js +0 -127
- bp-core/js/vendor/moment-js/locale/is.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/it.js +0 -70
- bp-core/js/vendor/moment-js/locale/it.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ja.js +0 -76
- bp-core/js/vendor/moment-js/locale/ja.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/jv.js +0 -83
- bp-core/js/vendor/moment-js/locale/jv.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ka.js +0 -89
- bp-core/js/vendor/moment-js/locale/ka.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/kk.js +0 -87
- bp-core/js/vendor/moment-js/locale/kk.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/km.js +0 -58
- bp-core/js/vendor/moment-js/locale/km.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ko.js +0 -65
- bp-core/js/vendor/moment-js/locale/ko.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ky.js +0 -88
- bp-core/js/vendor/moment-js/locale/ky.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/lb.js +0 -137
- bp-core/js/vendor/moment-js/locale/lb.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/lo.js +0 -70
- bp-core/js/vendor/moment-js/locale/lo.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/lt.js +0 -117
- bp-core/js/vendor/moment-js/locale/lt.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/lv.js +0 -97
- bp-core/js/vendor/moment-js/locale/lv.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/me.js +0 -111
- bp-core/js/vendor/moment-js/locale/me.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/mi.js +0 -64
- bp-core/js/vendor/moment-js/locale/mi.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/mk.js +0 -90
- bp-core/js/vendor/moment-js/locale/mk.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/ml.js +0 -81
- bp-core/js/vendor/moment-js/locale/ml.min.js +0 -1
- bp-core/js/vendor/moment-js/locale/mr.js +0 -159
- bp-core/js/vendor/moment-js/locale/mr.min.js +0 -1
@@ -1,20 +1,16 @@
|
|
1 |
.akismet-status {
|
2 |
float: left;
|
3 |
}
|
4 |
-
|
5 |
.akismet-status a {
|
6 |
-
color: #
|
7 |
font-style: italic;
|
8 |
}
|
9 |
-
|
10 |
.akismet-history {
|
11 |
margin: 13px;
|
12 |
}
|
13 |
-
|
14 |
.akismet-history div {
|
15 |
margin-bottom: 13px;
|
16 |
}
|
17 |
-
|
18 |
.akismet-history span {
|
19 |
color: #999;
|
20 |
}
|
@@ -22,43 +18,36 @@
|
|
22 |
#wp-bp-activities-wrap {
|
23 |
padding: 5px 0;
|
24 |
}
|
25 |
-
|
26 |
#bp-activities {
|
27 |
height: 120px;
|
28 |
}
|
29 |
-
|
30 |
#bp-replyhead {
|
31 |
font-size: 1em;
|
32 |
-
line-height: 1.
|
33 |
margin: 0;
|
34 |
}
|
35 |
-
|
36 |
#bp-replysubmit {
|
37 |
margin: 0;
|
38 |
padding: 0 0 3px;
|
39 |
text-align: center;
|
40 |
}
|
41 |
-
|
42 |
#bp-replysubmit .error {
|
43 |
-
color:
|
44 |
line-height: 21px;
|
45 |
text-align: center;
|
46 |
vertical-align: center;
|
47 |
}
|
48 |
-
|
49 |
#bp-replysubmit img.waiting {
|
50 |
float: left;
|
51 |
padding: 4px 10px 0;
|
52 |
vertical-align: top;
|
53 |
}
|
54 |
-
|
55 |
#bp-activities-form .column-response img {
|
56 |
float: right;
|
57 |
margin-bottom: 5px;
|
58 |
margin-left: 10px;
|
59 |
margin-top: 1px;
|
60 |
}
|
61 |
-
|
62 |
.activity-errors {
|
63 |
list-style-type: disc;
|
64 |
margin-right: 2em;
|
@@ -68,38 +57,31 @@
|
|
68 |
#bp_activity_content div.inside {
|
69 |
line-height: 0;
|
70 |
}
|
71 |
-
|
72 |
#bp_activity_action h3,
|
73 |
#bp_activity_content h3 {
|
74 |
cursor: auto;
|
75 |
}
|
76 |
-
|
77 |
#bp_activity_action td.mceIframeContainer,
|
78 |
#bp_activity_content td.mceIframeContainer {
|
79 |
-
background-color:
|
80 |
}
|
81 |
-
|
82 |
#post-body #bp-activities-action_resize,
|
83 |
#post-body #bp-activities-content_resize {
|
84 |
position: inherit;
|
85 |
margin-top: -2px;
|
86 |
}
|
87 |
-
|
88 |
#bp_activity_link input {
|
89 |
width: 99%;
|
90 |
}
|
91 |
-
|
92 |
#bp-activities-primaryid {
|
93 |
margin-bottom: 1em;
|
94 |
}
|
95 |
-
|
96 |
.column-action {
|
97 |
width: 12%;
|
98 |
}
|
99 |
|
100 |
@media screen and (max-width: 782px) {
|
101 |
-
|
102 |
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
|
103 |
display: table-cell;
|
104 |
}
|
105 |
-
}
|
1 |
.akismet-status {
|
2 |
float: left;
|
3 |
}
|
|
|
4 |
.akismet-status a {
|
5 |
+
color: #AAA;
|
6 |
font-style: italic;
|
7 |
}
|
|
|
8 |
.akismet-history {
|
9 |
margin: 13px;
|
10 |
}
|
|
|
11 |
.akismet-history div {
|
12 |
margin-bottom: 13px;
|
13 |
}
|
|
|
14 |
.akismet-history span {
|
15 |
color: #999;
|
16 |
}
|
18 |
#wp-bp-activities-wrap {
|
19 |
padding: 5px 0;
|
20 |
}
|
|
|
21 |
#bp-activities {
|
22 |
height: 120px;
|
23 |
}
|
|
|
24 |
#bp-replyhead {
|
25 |
font-size: 1em;
|
26 |
+
line-height: 1.4em;
|
27 |
margin: 0;
|
28 |
}
|
|
|
29 |
#bp-replysubmit {
|
30 |
margin: 0;
|
31 |
padding: 0 0 3px;
|
32 |
text-align: center;
|
33 |
}
|
|
|
34 |
#bp-replysubmit .error {
|
35 |
+
color: red;
|
36 |
line-height: 21px;
|
37 |
text-align: center;
|
38 |
vertical-align: center;
|
39 |
}
|
|
|
40 |
#bp-replysubmit img.waiting {
|
41 |
float: left;
|
42 |
padding: 4px 10px 0;
|
43 |
vertical-align: top;
|
44 |
}
|
|
|
45 |
#bp-activities-form .column-response img {
|
46 |
float: right;
|
47 |
margin-bottom: 5px;
|
48 |
margin-left: 10px;
|
49 |
margin-top: 1px;
|
50 |
}
|
|
|
51 |
.activity-errors {
|
52 |
list-style-type: disc;
|
53 |
margin-right: 2em;
|
57 |
#bp_activity_content div.inside {
|
58 |
line-height: 0;
|
59 |
}
|
|
|
60 |
#bp_activity_action h3,
|
61 |
#bp_activity_content h3 {
|
62 |
cursor: auto;
|
63 |
}
|
|
|
64 |
#bp_activity_action td.mceIframeContainer,
|
65 |
#bp_activity_content td.mceIframeContainer {
|
66 |
+
background-color: white;
|
67 |
}
|
|
|
68 |
#post-body #bp-activities-action_resize,
|
69 |
#post-body #bp-activities-content_resize {
|
70 |
position: inherit;
|
71 |
margin-top: -2px;
|
72 |
}
|
|
|
73 |
#bp_activity_link input {
|
74 |
width: 99%;
|
75 |
}
|
|
|
76 |
#bp-activities-primaryid {
|
77 |
margin-bottom: 1em;
|
78 |
}
|
|
|
79 |
.column-action {
|
80 |
width: 12%;
|
81 |
}
|
82 |
|
83 |
@media screen and (max-width: 782px) {
|
|
|
84 |
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
|
85 |
display: table-cell;
|
86 |
}
|
87 |
+
}
|
@@ -1 +1 @@
|
|
1 |
-
.akismet-status{float:left}.akismet-status a{color:#
|
1 |
+
.akismet-status{float:left}.akismet-status a{color:#AAA;font-style:italic}.akismet-history{margin:13px}.akismet-history div{margin-bottom:13px}.akismet-history span{color:#999}#wp-bp-activities-wrap{padding:5px 0}#bp-activities{height:120px}#bp-replyhead{font-size:1em;line-height:1.4em;margin:0}#bp-replysubmit{margin:0;padding:0 0 3px;text-align:center}#bp-replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#bp-replysubmit img.waiting{float:left;padding:4px 10px 0;vertical-align:top}#bp-activities-form .column-response img{float:right;margin-bottom:5px;margin-left:10px;margin-top:1px}.activity-errors{list-style-type:disc;margin-right:2em}#bp_activity_action div.inside,#bp_activity_content div.inside{line-height:0}#bp_activity_action h3,#bp_activity_content h3{cursor:auto}#bp_activity_action td.mceIframeContainer,#bp_activity_content td.mceIframeContainer{background-color:#fff}#post-body #bp-activities-action_resize,#post-body #bp-activities-content_resize{position:inherit;margin-top:-2px}#bp_activity_link input{width:99%}#bp-activities-primaryid{margin-bottom:1em}.column-action{width:12%}@media screen and (max-width:782px){body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}}
|
@@ -1,20 +1,16 @@
|
|
1 |
.akismet-status {
|
2 |
float: right;
|
3 |
}
|
4 |
-
|
5 |
.akismet-status a {
|
6 |
-
color: #
|
7 |
font-style: italic;
|
8 |
}
|
9 |
-
|
10 |
.akismet-history {
|
11 |
margin: 13px;
|
12 |
}
|
13 |
-
|
14 |
.akismet-history div {
|
15 |
margin-bottom: 13px;
|
16 |
}
|
17 |
-
|
18 |
.akismet-history span {
|
19 |
color: #999;
|
20 |
}
|
@@ -22,43 +18,36 @@
|
|
22 |
#wp-bp-activities-wrap {
|
23 |
padding: 5px 0;
|
24 |
}
|
25 |
-
|
26 |
#bp-activities {
|
27 |
height: 120px;
|
28 |
}
|
29 |
-
|
30 |
#bp-replyhead {
|
31 |
font-size: 1em;
|
32 |
-
line-height: 1.
|
33 |
margin: 0;
|
34 |
}
|
35 |
-
|
36 |
#bp-replysubmit {
|
37 |
margin: 0;
|
38 |
padding: 0 0 3px;
|
39 |
text-align: center;
|
40 |
}
|
41 |
-
|
42 |
#bp-replysubmit .error {
|
43 |
-
color:
|
44 |
line-height: 21px;
|
45 |
text-align: center;
|
46 |
vertical-align: center;
|
47 |
}
|
48 |
-
|
49 |
#bp-replysubmit img.waiting {
|
50 |
float: right;
|
51 |
padding: 4px 10px 0;
|
52 |
vertical-align: top;
|
53 |
}
|
54 |
-
|
55 |
#bp-activities-form .column-response img {
|
56 |
float: left;
|
57 |
margin-bottom: 5px;
|
58 |
margin-right: 10px;
|
59 |
margin-top: 1px;
|
60 |
}
|
61 |
-
|
62 |
.activity-errors {
|
63 |
list-style-type: disc;
|
64 |
margin-left: 2em;
|
@@ -68,38 +57,31 @@
|
|
68 |
#bp_activity_content div.inside {
|
69 |
line-height: 0;
|
70 |
}
|
71 |
-
|
72 |
#bp_activity_action h3,
|
73 |
#bp_activity_content h3 {
|
74 |
cursor: auto;
|
75 |
}
|
76 |
-
|
77 |
#bp_activity_action td.mceIframeContainer,
|
78 |
#bp_activity_content td.mceIframeContainer {
|
79 |
-
background-color:
|
80 |
}
|
81 |
-
|
82 |
#post-body #bp-activities-action_resize,
|
83 |
#post-body #bp-activities-content_resize {
|
84 |
position: inherit;
|
85 |
margin-top: -2px;
|
86 |
}
|
87 |
-
|
88 |
#bp_activity_link input {
|
89 |
width: 99%;
|
90 |
}
|
91 |
-
|
92 |
#bp-activities-primaryid {
|
93 |
margin-bottom: 1em;
|
94 |
}
|
95 |
-
|
96 |
.column-action {
|
97 |
width: 12%;
|
98 |
}
|
99 |
|
100 |
@media screen and (max-width: 782px) {
|
101 |
-
|
102 |
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
|
103 |
display: table-cell;
|
104 |
}
|
105 |
-
}
|
1 |
.akismet-status {
|
2 |
float: right;
|
3 |
}
|
|
|
4 |
.akismet-status a {
|
5 |
+
color: #AAA;
|
6 |
font-style: italic;
|
7 |
}
|
|
|
8 |
.akismet-history {
|
9 |
margin: 13px;
|
10 |
}
|
|
|
11 |
.akismet-history div {
|
12 |
margin-bottom: 13px;
|
13 |
}
|
|
|
14 |
.akismet-history span {
|
15 |
color: #999;
|
16 |
}
|
18 |
#wp-bp-activities-wrap {
|
19 |
padding: 5px 0;
|
20 |
}
|
|
|
21 |
#bp-activities {
|
22 |
height: 120px;
|
23 |
}
|
|
|
24 |
#bp-replyhead {
|
25 |
font-size: 1em;
|
26 |
+
line-height: 1.4em;
|
27 |
margin: 0;
|
28 |
}
|
|
|
29 |
#bp-replysubmit {
|
30 |
margin: 0;
|
31 |
padding: 0 0 3px;
|
32 |
text-align: center;
|
33 |
}
|
|
|
34 |
#bp-replysubmit .error {
|
35 |
+
color: red;
|
36 |
line-height: 21px;
|
37 |
text-align: center;
|
38 |
vertical-align: center;
|
39 |
}
|
|
|
40 |
#bp-replysubmit img.waiting {
|
41 |
float: right;
|
42 |
padding: 4px 10px 0;
|
43 |
vertical-align: top;
|
44 |
}
|
|
|
45 |
#bp-activities-form .column-response img {
|
46 |
float: left;
|
47 |
margin-bottom: 5px;
|
48 |
margin-right: 10px;
|
49 |
margin-top: 1px;
|
50 |
}
|
|
|
51 |
.activity-errors {
|
52 |
list-style-type: disc;
|
53 |
margin-left: 2em;
|
57 |
#bp_activity_content div.inside {
|
58 |
line-height: 0;
|
59 |
}
|
|
|
60 |
#bp_activity_action h3,
|
61 |
#bp_activity_content h3 {
|
62 |
cursor: auto;
|
63 |
}
|
|
|
64 |
#bp_activity_action td.mceIframeContainer,
|
65 |
#bp_activity_content td.mceIframeContainer {
|
66 |
+
background-color: white;
|
67 |
}
|
|
|
68 |
#post-body #bp-activities-action_resize,
|
69 |
#post-body #bp-activities-content_resize {
|
70 |
position: inherit;
|
71 |
margin-top: -2px;
|
72 |
}
|
|
|
73 |
#bp_activity_link input {
|
74 |
width: 99%;
|
75 |
}
|
|
|
76 |
#bp-activities-primaryid {
|
77 |
margin-bottom: 1em;
|
78 |
}
|
|
|
79 |
.column-action {
|
80 |
width: 12%;
|
81 |
}
|
82 |
|
83 |
@media screen and (max-width: 782px) {
|
|
|
84 |
body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column) {
|
85 |
display: table-cell;
|
86 |
}
|
87 |
+
}
|
@@ -1 +1 @@
|
|
1 |
-
.akismet-status{float:right}.akismet-status a{color:#
|
1 |
+
.akismet-status{float:right}.akismet-status a{color:#AAA;font-style:italic}.akismet-history{margin:13px}.akismet-history div{margin-bottom:13px}.akismet-history span{color:#999}#wp-bp-activities-wrap{padding:5px 0}#bp-activities{height:120px}#bp-replyhead{font-size:1em;line-height:1.4em;margin:0}#bp-replysubmit{margin:0;padding:0 0 3px;text-align:center}#bp-replysubmit .error{color:red;line-height:21px;text-align:center;vertical-align:center}#bp-replysubmit img.waiting{float:right;padding:4px 10px 0;vertical-align:top}#bp-activities-form .column-response img{float:left;margin-bottom:5px;margin-right:10px;margin-top:1px}.activity-errors{list-style-type:disc;margin-left:2em}#bp_activity_action div.inside,#bp_activity_content div.inside{line-height:0}#bp_activity_action h3,#bp_activity_content h3{cursor:auto}#bp_activity_action td.mceIframeContainer,#bp_activity_content td.mceIframeContainer{background-color:#fff}#post-body #bp-activities-action_resize,#post-body #bp-activities-content_resize{position:inherit;margin-top:-2px}#bp_activity_link input{width:99%}#bp-activities-primaryid{margin-bottom:1em}.column-action{width:12%}@media screen and (max-width:782px){body.toplevel_page_bp-activity .wp-list-table tr:not(.inline-edit-row):not(.no-items) td:not(.check-column){display:table-cell}}
|
@@ -1 +1 @@
|
|
1 |
-
!function(
|
1 |
+
!function(a){var b={init:function(){a(document).on("click",".row-actions a.reply",b.open),a(document).on("click","#bp-activities-container a.cancel",b.close),a(document).on("click","#bp-activities-container a.save",b.send),a(document).on("keyup","#bp-activities:visible",function(a){27===a.which&&b.close()})},open:function(){var b=a("#bp-activities-container").hide();return a(this).parents("tr").after(b),b.fadeIn("300"),a("#bp-activities").focus(),!1},close:function(){return a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide()}),!1},send:function(){a("#bp-replysubmit .error").hide(),a("#bp-replysubmit .waiting").show();var c={};return c["_ajax_nonce-bp-activity-admin-reply"]=a('#bp-activities-container input[name="_ajax_nonce-bp-activity-admin-reply"]').val(),c.action="bp-activity-admin-reply",c.content=a("#bp-activities").val(),c.parent_id=a("#bp-activities-container").prev().data("parent_id"),c.root_id=a("#bp-activities-container").prev().data("root_id"),a.ajax({data:c,type:"POST",url:ajaxurl,error:function(a){b.error(a)},success:function(a){b.show(a)}}),!1},error:function(b){var c=b.statusText;a("#bp-replysubmit .waiting").hide(),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#bp-replysubmit .error").html(c).show()},show:function(c){var d,e,f;return"string"==typeof c?(b.error({responseText:c}),!1):(f=wpAjax.parseAjaxResponse(c),f.errors?(b.error({responseText:wpAjax.broken}),!1):(f=f.responses[0],void a("#bp-activities-container").fadeOut("200",function(){a("#bp-activities").val("").blur(),a("#bp-replysubmit .error").html("").hide(),a("#bp-replysubmit .waiting").hide(),a("#bp-activities-container").before(f.data),e=a("#activity-"+f.id),d=e.closest(".widefat").css("backgroundColor"),e.animate({backgroundColor:"#CEB"},300).animate({backgroundColor:d},300)})))}};a(document).ready(function(){b.init(),a("#bp_activity_action h3, #bp_activity_content h3").unbind("click"),"undefined"!=typeof postboxes&&postboxes.add_postbox_toggles(bp_activity_admin_vars.page)})}(jQuery);
|
@@ -71,7 +71,7 @@ function bp_activity_action_permalink_router() {
|
|
71 |
} else {
|
72 |
|
73 |
// Set redirect to group activity stream.
|
74 |
-
if ( $group = groups_get_group( $activity->item_id ) ) {
|
75 |
$redirect = bp_get_group_permalink( $group ) . bp_get_activity_slug() . '/' . $activity->id . '/';
|
76 |
}
|
77 |
}
|
@@ -604,6 +604,45 @@ function bp_activity_action_favorites_feed() {
|
|
604 |
}
|
605 |
add_action( 'bp_actions', 'bp_activity_action_favorites_feed' );
|
606 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
/**
|
608 |
* AJAX endpoint for Suggestions API lookups.
|
609 |
*
|
@@ -832,11 +871,7 @@ function bp_activity_transition_post_type_comment_status( $new_status, $old_stat
|
|
832 |
|
833 |
// Add "new_post_type_comment" to the whitelisted activity types, so that the activity's Akismet history is generated
|
834 |
$post_type_comment_action = $activity_comment_object->action_id;
|
835 |
-
$comment_akismet_history =
|
836 |
-
$activity_types[] = $post_type_comment_action;
|
837 |
-
|
838 |
-
return $activity_types;
|
839 |
-
};
|
840 |
add_filter( 'bp_akismet_get_activity_types', $comment_akismet_history );
|
841 |
|
842 |
// Make sure the activity change won't edit the comment if sync is on
|
71 |
} else {
|
72 |
|
73 |
// Set redirect to group activity stream.
|
74 |
+
if ( $group = groups_get_group( array( 'group_id' => $activity->item_id ) ) ) {
|
75 |
$redirect = bp_get_group_permalink( $group ) . bp_get_activity_slug() . '/' . $activity->id . '/';
|
76 |
}
|
77 |
}
|
604 |
}
|
605 |
add_action( 'bp_actions', 'bp_activity_action_favorites_feed' );
|
606 |
|
607 |
+
/**
|
608 |
+
* Loads Akismet filtering for activity.
|
609 |
+
*
|
610 |
+
* @since 1.6.0
|
611 |
+
* @since 2.3.0 We only support Akismet 3+.
|
612 |
+
*/
|
613 |
+
function bp_activity_setup_akismet() {
|
614 |
+
$bp = buddypress();
|
615 |
+
|
616 |
+
// Bail if Akismet is not active.
|
617 |
+
if ( ! defined( 'AKISMET_VERSION' ) ) {
|
618 |
+
return;
|
619 |
+
}
|
620 |
+
|
621 |
+
// Bail if older version of Akismet.
|
622 |
+
if ( ! class_exists( 'Akismet' ) ) {
|
623 |
+
return;
|
624 |
+
}
|
625 |
+
|
626 |
+
// Bail if no Akismet key is set.
|
627 |
+
if ( ! bp_get_option( 'wordpress_api_key' ) && ! defined( 'WPCOM_API_KEY' ) ) {
|
628 |
+
return;
|
629 |
+
}
|
630 |
+
|
631 |
+
/**
|
632 |
+
* Filters if BuddyPress Activity Akismet support has been disabled by another plugin.
|
633 |
+
*
|
634 |
+
* @since 1.6.0
|
635 |
+
*
|
636 |
+
* @param bool $value Return value of bp_is_akismet_active boolean function.
|
637 |
+
*/
|
638 |
+
if ( ! apply_filters( 'bp_activity_use_akismet', bp_is_akismet_active() ) ) {
|
639 |
+
return;
|
640 |
+
}
|
641 |
+
|
642 |
+
// Instantiate Akismet for BuddyPress.
|
643 |
+
$bp->activity->akismet = new BP_Akismet();
|
644 |
+
}
|
645 |
+
|
646 |
/**
|
647 |
* AJAX endpoint for Suggestions API lookups.
|
648 |
*
|
871 |
|
872 |
// Add "new_post_type_comment" to the whitelisted activity types, so that the activity's Akismet history is generated
|
873 |
$post_type_comment_action = $activity_comment_object->action_id;
|
874 |
+
$comment_akismet_history = create_function( '$t', '$t[] = $post_type_comment_action; return $t;' );
|
|
|
|
|
|
|
|
|
875 |
add_filter( 'bp_akismet_get_activity_types', $comment_akismet_history );
|
876 |
|
877 |
// Make sure the activity change won't edit the comment if sync is on
|
@@ -16,6 +16,10 @@ defined( 'ABSPATH' ) || exit;
|
|
16 |
// Include WP's list table class.
|
17 |
if ( !class_exists( 'WP_List_Table' ) ) require( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
18 |
|
|
|
|
|
|
|
|
|
19 |
// Per_page screen option. Has to be hooked in extremely early.
|
20 |
if ( is_admin() && ! empty( $_REQUEST['page'] ) && 'bp-activity' == $_REQUEST['page'] )
|
21 |
add_filter( 'set-screen-option', 'bp_activity_admin_screen_options', 10, 3 );
|
@@ -141,7 +145,7 @@ add_action( 'wp_ajax_bp-activity-admin-reply', 'bp_activity_admin_reply' );
|
|
141 |
* @param string $value Will always be false unless another plugin filters it first.
|
142 |
* @param string $option Screen option name.
|
143 |
* @param string $new_value Screen option form value.
|
144 |
-
* @return string
|
145 |
*/
|
146 |
function bp_activity_admin_screen_options( $value, $option, $new_value ) {
|
147 |
if ( 'toplevel_page_bp_activity_per_page' != $option && 'toplevel_page_bp_activity_network_per_page' != $option )
|
@@ -165,9 +169,8 @@ function bp_activity_admin_screen_options( $value, $option, $new_value ) {
|
|
165 |
* @return array Hidden Meta Boxes.
|
166 |
*/
|
167 |
function bp_activity_admin_edit_hidden_metaboxes( $hidden, $screen ) {
|
168 |
-
if ( empty( $screen->id ) || 'toplevel_page_bp-activity'
|
169 |
return $hidden;
|
170 |
-
}
|
171 |
|
172 |
// Hide the primary link meta box by default.
|
173 |
$hidden = array_merge( (array) $hidden, array( 'bp_activity_itemids', 'bp_activity_link', 'bp_activity_type', 'bp_activity_userid', ) );
|
@@ -390,8 +393,8 @@ function bp_activity_admin_load() {
|
|
390 |
* Remove moderation and blacklist checks in case we want to ham an activity
|
391 |
* which contains one of these listed keys.
|
392 |
*/
|
393 |
-
remove_action( 'bp_activity_before_save', 'bp_activity_check_moderation_keys', 2 );
|
394 |
-
remove_action( 'bp_activity_before_save', 'bp_activity_check_blacklist_keys',
|
395 |
|
396 |
bp_activity_mark_as_ham( $activity );
|
397 |
$result = $activity->save();
|
@@ -1040,9 +1043,9 @@ function bp_activity_admin_index() {
|
|
1040 |
|
1041 |
<h3 id="bp-replyhead"><?php _e( 'Reply to Activity', 'buddypress' ); ?></h3>
|
1042 |
<label for="bp-activities" class="screen-reader-text"><?php
|
1043 |
-
|
1044 |
-
|
1045 |
-
|
1046 |
<?php wp_editor( '', 'bp-activities', array( 'dfw' => false, 'media_buttons' => false, 'quicktags' => array( 'buttons' => 'strong,em,link,block,del,ins,img,code,spell,close' ), 'tinymce' => false, ) ); ?>
|
1047 |
|
1048 |
<p id="bp-replysubmit" class="submit">
|
16 |
// Include WP's list table class.
|
17 |
if ( !class_exists( 'WP_List_Table' ) ) require( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' );
|
18 |
|
19 |
+
if ( ! buddypress()->do_autoload ) {
|
20 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-list-table.php';
|
21 |
+
}
|
22 |
+
|
23 |
// Per_page screen option. Has to be hooked in extremely early.
|
24 |
if ( is_admin() && ! empty( $_REQUEST['page'] ) && 'bp-activity' == $_REQUEST['page'] )
|
25 |
add_filter( 'set-screen-option', 'bp_activity_admin_screen_options', 10, 3 );
|
145 |
* @param string $value Will always be false unless another plugin filters it first.
|
146 |
* @param string $option Screen option name.
|
147 |
* @param string $new_value Screen option form value.
|
148 |
+
* @return string Option value. False to abandon update.
|
149 |
*/
|
150 |
function bp_activity_admin_screen_options( $value, $option, $new_value ) {
|
151 |
if ( 'toplevel_page_bp_activity_per_page' != $option && 'toplevel_page_bp_activity_network_per_page' != $option )
|
169 |
* @return array Hidden Meta Boxes.
|
170 |
*/
|
171 |
function bp_activity_admin_edit_hidden_metaboxes( $hidden, $screen ) {
|
172 |
+
if ( empty( $screen->id ) || 'toplevel_page_bp-activity' != $screen->id && 'toplevel_page_bp-activity_network' != $screen->id )
|
173 |
return $hidden;
|
|
|
174 |
|
175 |
// Hide the primary link meta box by default.
|
176 |
$hidden = array_merge( (array) $hidden, array( 'bp_activity_itemids', 'bp_activity_link', 'bp_activity_type', 'bp_activity_userid', ) );
|
393 |
* Remove moderation and blacklist checks in case we want to ham an activity
|
394 |
* which contains one of these listed keys.
|
395 |
*/
|
396 |
+
remove_action( 'bp_activity_before_save', 'bp_activity_check_moderation_keys', 2, 1 );
|
397 |
+
remove_action( 'bp_activity_before_save', 'bp_activity_check_blacklist_keys', 2, 1 );
|
398 |
|
399 |
bp_activity_mark_as_ham( $activity );
|
400 |
$result = $activity->save();
|
1043 |
|
1044 |
<h3 id="bp-replyhead"><?php _e( 'Reply to Activity', 'buddypress' ); ?></h3>
|
1045 |
<label for="bp-activities" class="screen-reader-text"><?php
|
1046 |
+
/* translators: accessibility text */
|
1047 |
+
_e( 'Reply', 'buddypress' );
|
1048 |
+
?></label>
|
1049 |
<?php wp_editor( '', 'bp-activities', array( 'dfw' => false, 'media_buttons' => false, 'quicktags' => array( 'buttons' => 'strong,em,link,block,del,ins,img,code,spell,close' ), 'tinymce' => false, ) ); ?>
|
1050 |
|
1051 |
<p id="bp-replysubmit" class="submit">
|
@@ -10,28 +10,9 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
*
|
16 |
-
* @since 1.6.0
|
17 |
-
* @since 2.3.0 We only support Akismet 3+.
|
18 |
-
*/
|
19 |
-
function bp_activity_setup_akismet() {
|
20 |
-
/**
|
21 |
-
* Filters if BuddyPress Activity Akismet support has been disabled by another plugin.
|
22 |
-
*
|
23 |
-
* @since 1.6.0
|
24 |
-
*
|
25 |
-
* @param bool $value Return value of bp_is_akismet_active boolean function.
|
26 |
-
*/
|
27 |
-
if ( ! apply_filters( 'bp_activity_use_akismet', bp_is_akismet_active() ) ) {
|
28 |
-
return;
|
29 |
-
}
|
30 |
-
|
31 |
-
// Instantiate Akismet for BuddyPress.
|
32 |
-
buddypress()->activity->akismet = new BP_Akismet();
|
33 |
}
|
34 |
-
add_action( 'bp_activity_setup_globals', 'bp_activity_setup_akismet' );
|
35 |
|
36 |
/**
|
37 |
* Delete old spam activity meta data.
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-akismet.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
|
|
16 |
|
17 |
/**
|
18 |
* Delete old spam activity meta data.
|
@@ -63,24 +63,3 @@ function bp_activity_clear_cache_for_deleted_activity( $deleted_ids ) {
|
|
63 |
}
|
64 |
}
|
65 |
add_action( 'bp_activity_deleted_activities', 'bp_activity_clear_cache_for_deleted_activity' );
|
66 |
-
|
67 |
-
/**
|
68 |
-
* Reset cache incrementor for the Activity component.
|
69 |
-
*
|
70 |
-
* Called whenever an activity item is created, updated, or deleted, this
|
71 |
-
* function effectively invalidates all cached results of activity queries.
|
72 |
-
*
|
73 |
-
* @since 2.7.0
|
74 |
-
*
|
75 |
-
* @return bool True on success, false on failure.
|
76 |
-
*/
|
77 |
-
function bp_activity_reset_cache_incrementor() {
|
78 |
-
$without_last_activity = bp_core_reset_incrementor( 'bp_activity' );
|
79 |
-
$with_last_activity = bp_core_reset_incrementor( 'bp_activity_with_last_activity' );
|
80 |
-
return $without_last_activity && $with_last_activity;
|
81 |
-
}
|
82 |
-
add_action( 'bp_activity_delete', 'bp_activity_reset_cache_incrementor' );
|
83 |
-
add_action( 'bp_activity_add', 'bp_activity_reset_cache_incrementor' );
|
84 |
-
add_action( 'added_activity_meta', 'bp_activity_reset_cache_incrementor' );
|
85 |
-
add_action( 'updated_activity_meta', 'bp_activity_reset_cache_incrementor' );
|
86 |
-
add_action( 'deleted_activity_meta', 'bp_activity_reset_cache_incrementor' );
|
63 |
}
|
64 |
}
|
65 |
add_action( 'bp_activity_deleted_activities', 'bp_activity_clear_cache_for_deleted_activity' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* BuddyPress Activity Classes.
|
4 |
+
*
|
5 |
+
* @package BuddyPress
|
6 |
+
* @subpackage ActivityClasses
|
7 |
+
* @since 1.0.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly.
|
11 |
+
defined( 'ABSPATH' ) || exit;
|
12 |
+
|
13 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-activity.php';
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-feed.php';
|
15 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-query.php';
|
16 |
+
|
17 |
+
// Embeds - only applicable for WP 4.5+
|
18 |
+
if ( version_compare( $GLOBALS['wp_version'], '4.5', '>=' ) && bp_is_active( 'activity', 'embeds' ) ) {
|
19 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-oembed-extension.php';
|
20 |
+
}
|
@@ -64,9 +64,9 @@ function bp_activity_embed_add_inline_styles() {
|
|
64 |
$min = bp_core_get_minified_asset_suffix();
|
65 |
|
66 |
if ( is_rtl() ) {
|
67 |
-
$css = bp_locate_template_asset( "
|
68 |
} else {
|
69 |
-
$css = bp_locate_template_asset( "
|
70 |
}
|
71 |
|
72 |
// Bail if file wasn't found.
|
@@ -123,7 +123,7 @@ function bp_activity_embed_has_activity( $activity_id = 0 ) {
|
|
123 |
* @since 2.6.0
|
124 |
*/
|
125 |
function bp_activity_embed_excerpt( $content = '' ) {
|
126 |
-
echo bp_activity_get_embed_excerpt( $content );
|
127 |
}
|
128 |
|
129 |
/**
|
64 |
$min = bp_core_get_minified_asset_suffix();
|
65 |
|
66 |
if ( is_rtl() ) {
|
67 |
+
$css = bp_locate_template_asset( "assets/embeds/activity-rtl{$min}.css" );
|
68 |
} else {
|
69 |
+
$css = bp_locate_template_asset( "assets/embeds/activity{$min}.css" );
|
70 |
}
|
71 |
|
72 |
// Bail if file wasn't found.
|
123 |
* @since 2.6.0
|
124 |
*/
|
125 |
function bp_activity_embed_excerpt( $content = '' ) {
|
126 |
+
echo bp_activity_get_embed_excerpt( $content = '' );
|
127 |
}
|
128 |
|
129 |
/**
|
@@ -207,17 +207,13 @@ function bp_activity_filter_kses( $content ) {
|
|
207 |
global $allowedtags;
|
208 |
|
209 |
$activity_allowedtags = $allowedtags;
|
210 |
-
$activity_allowedtags['a']['
|
211 |
-
$activity_allowedtags['a']['
|
212 |
-
$activity_allowedtags['a']['
|
213 |
-
$activity_allowedtags['a']['
|
214 |
-
$activity_allowedtags['
|
215 |
-
$activity_allowedtags['
|
216 |
-
|
217 |
-
$activity_allowedtags['b'] = array();
|
218 |
-
$activity_allowedtags['code'] = array();
|
219 |
-
$activity_allowedtags['i'] = array();
|
220 |
-
|
221 |
$activity_allowedtags['img'] = array();
|
222 |
$activity_allowedtags['img']['src'] = array();
|
223 |
$activity_allowedtags['img']['alt'] = array();
|
@@ -225,14 +221,10 @@ function bp_activity_filter_kses( $content ) {
|
|
225 |
$activity_allowedtags['img']['height'] = array();
|
226 |
$activity_allowedtags['img']['class'] = array();
|
227 |
$activity_allowedtags['img']['id'] = array();
|
|
|
|
|
|
|
228 |
|
229 |
-
$activity_allowedtags['span'] = array();
|
230 |
-
$activity_allowedtags['span']['class'] = array();
|
231 |
-
$activity_allowedtags['span']['data-livestamp'] = array();
|
232 |
-
|
233 |
-
$activity_allowedtags['ul'] = array();
|
234 |
-
$activity_allowedtags['ol'] = array();
|
235 |
-
$activity_allowedtags['li'] = array();
|
236 |
|
237 |
/**
|
238 |
* Filters the allowed HTML tags for BuddyPress Activity content.
|
@@ -286,7 +278,7 @@ function bp_activity_at_name_filter( $content, $activity_id = 0 ) {
|
|
286 |
|
287 |
// Linkify the mentions with the username.
|
288 |
foreach ( (array) $usernames as $user_id => $username ) {
|
289 |
-
$content = preg_replace( '/(@' . $username . '\b)/', "<a
|
290 |
}
|
291 |
|
292 |
// Put everything back.
|
@@ -327,7 +319,7 @@ function bp_activity_at_name_filter_updates( $activity ) {
|
|
327 |
if ( ! empty( $usernames ) ) {
|
328 |
// Replace @mention text with userlinks.
|
329 |
foreach( (array) $usernames as $user_id => $username ) {
|
330 |
-
$activity->content = preg_replace( '/(@' . $username . '\b)/', "<a
|
331 |
}
|
332 |
|
333 |
// Add our hook to send @mention emails after the activity item is saved.
|
@@ -454,7 +446,14 @@ function bp_activity_truncate_entry( $text, $args = array() ) {
|
|
454 |
*/
|
455 |
$append_text = apply_filters( 'bp_activity_excerpt_append_text', __( '[Read more]', 'buddypress' ) );
|
456 |
|
457 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
|
459 |
$args = wp_parse_args( $args, array( 'ending' => __( '…', 'buddypress' ) ) );
|
460 |
|
@@ -600,7 +599,7 @@ function bp_activity_heartbeat_last_recorded( $response = array(), $data = array
|
|
600 |
ob_end_clean();
|
601 |
|
602 |
// Remove the temporary filter.
|
603 |
-
remove_filter( 'bp_get_activity_css_class', 'bp_activity_newest_class', 10 );
|
604 |
|
605 |
if ( ! empty( $newest_activities['last_recorded'] ) ) {
|
606 |
$response['bp_activity_newest_activities'] = $newest_activities;
|
207 |
global $allowedtags;
|
208 |
|
209 |
$activity_allowedtags = $allowedtags;
|
210 |
+
$activity_allowedtags['a']['class'] = array();
|
211 |
+
$activity_allowedtags['a']['id'] = array();
|
212 |
+
$activity_allowedtags['a']['rel'] = array();
|
213 |
+
$activity_allowedtags['a']['title'] = array();
|
214 |
+
$activity_allowedtags['b'] = array();
|
215 |
+
$activity_allowedtags['code'] = array();
|
216 |
+
$activity_allowedtags['i'] = array();
|
|
|
|
|
|
|
|
|
217 |
$activity_allowedtags['img'] = array();
|
218 |
$activity_allowedtags['img']['src'] = array();
|
219 |
$activity_allowedtags['img']['alt'] = array();
|
221 |
$activity_allowedtags['img']['height'] = array();
|
222 |
$activity_allowedtags['img']['class'] = array();
|
223 |
$activity_allowedtags['img']['id'] = array();
|
224 |
+
$activity_allowedtags['img']['title'] = array();
|
225 |
+
$activity_allowedtags['span'] = array();
|
226 |
+
$activity_allowedtags['span']['class'] = array();
|
227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
|
229 |
/**
|
230 |
* Filters the allowed HTML tags for BuddyPress Activity content.
|
278 |
|
279 |
// Linkify the mentions with the username.
|
280 |
foreach ( (array) $usernames as $user_id => $username ) {
|
281 |
+
$content = preg_replace( '/(@' . $username . '\b)/', "<a href='" . bp_core_get_user_domain( $user_id ) . "' rel='nofollow'>@$username</a>", $content );
|
282 |
}
|
283 |
|
284 |
// Put everything back.
|
319 |
if ( ! empty( $usernames ) ) {
|
320 |
// Replace @mention text with userlinks.
|
321 |
foreach( (array) $usernames as $user_id => $username ) {
|
322 |
+
$activity->content = preg_replace( '/(@' . $username . '\b)/', "<a href='" . bp_core_get_user_domain( $user_id ) . "' rel='nofollow'>@$username</a>", $activity->content );
|
323 |
}
|
324 |
|
325 |
// Add our hook to send @mention emails after the activity item is saved.
|
446 |
*/
|
447 |
$append_text = apply_filters( 'bp_activity_excerpt_append_text', __( '[Read more]', 'buddypress' ) );
|
448 |
|
449 |
+
/**
|
450 |
+
* Filters the excerpt length for the activity excerpt.
|
451 |
+
*
|
452 |
+
* @since 1.5.0
|
453 |
+
*
|
454 |
+
* @param int $value Number indicating how many words to trim the excerpt down to.
|
455 |
+
*/
|
456 |
+
$excerpt_length = apply_filters( 'bp_activity_excerpt_length', 358 );
|
457 |
|
458 |
$args = wp_parse_args( $args, array( 'ending' => __( '…', 'buddypress' ) ) );
|
459 |
|
599 |
ob_end_clean();
|
600 |
|
601 |
// Remove the temporary filter.
|
602 |
+
remove_filter( 'bp_get_activity_css_class', 'bp_activity_newest_class', 10, 1 );
|
603 |
|
604 |
if ( ! empty( $newest_activities['last_recorded'] ) ) {
|
605 |
$response['bp_activity_newest_activities'] = $newest_activities;
|
@@ -406,7 +406,7 @@ function bp_activity_set_action( $component_id, $type, $description, $format_cal
|
|
406 |
* @param array $args {
|
407 |
* An associative array of tracking parameters. All items are optional.
|
408 |
* @type string $bp_activity_admin_filter String to use in the Dashboard > Activity dropdown.
|
409 |
-
* @type string $bp_activity_front_filter String to use in
|
410 |
* @type string $bp_activity_new_post String format to use for generating the activity action. Should be a
|
411 |
* translatable string where %1$s is replaced by a user link and %2$s is
|
412 |
* the URL of the newly created post.
|
@@ -839,63 +839,6 @@ function bp_activity_get_types() {
|
|
839 |
return apply_filters( 'bp_activity_get_types', $actions );
|
840 |
}
|
841 |
|
842 |
-
/**
|
843 |
-
* Gets the current activity context.
|
844 |
-
*
|
845 |
-
* The "context" is the current view type, corresponding roughly to the
|
846 |
-
* current component. Use this context to determine which activity actions
|
847 |
-
* should be whitelisted for the filter dropdown.
|
848 |
-
*
|
849 |
-
* @since 2.8.0
|
850 |
-
*
|
851 |
-
* @return string Activity context. 'member', 'member_groups', 'group', 'activity'.
|
852 |
-
*/
|
853 |
-
function bp_activity_get_current_context() {
|
854 |
-
// On member pages, default to 'member', unless this is a user's Groups activity.
|
855 |
-
if ( bp_is_user() ) {
|
856 |
-
if ( bp_is_active( 'groups' ) && bp_is_current_action( bp_get_groups_slug() ) ) {
|
857 |
-
$context = 'member_groups';
|
858 |
-
} else {
|
859 |
-
$context = 'member';
|
860 |
-
}
|
861 |
-
|
862 |
-
// On individual group pages, default to 'group'.
|
863 |
-
} elseif ( bp_is_active( 'groups' ) && bp_is_group() ) {
|
864 |
-
$context = 'group';
|
865 |
-
|
866 |
-
// 'activity' everywhere else.
|
867 |
-
} else {
|
868 |
-
$context = 'activity';
|
869 |
-
}
|
870 |
-
|
871 |
-
return $context;
|
872 |
-
}
|
873 |
-
|
874 |
-
/**
|
875 |
-
* Gets a flat list of activity actions compatible with a given context.
|
876 |
-
*
|
877 |
-
* @since 2.8.0
|
878 |
-
*
|
879 |
-
* @param string $context Optional. Name of the context. Defaults to the current context.
|
880 |
-
* @return array
|
881 |
-
*/
|
882 |
-
function bp_activity_get_actions_for_context( $context = '' ) {
|
883 |
-
if ( ! $context ) {
|
884 |
-
$context = bp_activity_get_current_context();
|
885 |
-
}
|
886 |
-
|
887 |
-
$actions = array();
|
888 |
-
foreach ( bp_activity_get_actions() as $component_actions ) {
|
889 |
-
foreach ( $component_actions as $component_action ) {
|
890 |
-
if ( in_array( $context, (array) $component_action['context'], true ) ) {
|
891 |
-
$actions[] = $component_action;
|
892 |
-
}
|
893 |
-
}
|
894 |
-
}
|
895 |
-
|
896 |
-
return $actions;
|
897 |
-
}
|
898 |
-
|
899 |
/** Favorites ****************************************************************/
|
900 |
|
901 |
/**
|
@@ -1502,7 +1445,7 @@ function bp_activity_generate_action_string( $activity ) {
|
|
1502 |
$action = apply_filters( 'bp_activity_generate_action_string', $activity->action, $activity );
|
1503 |
|
1504 |
// Remove the filter for future activity items.
|
1505 |
-
remove_filter( 'bp_activity_generate_action_string', $actions->{$activity->component}->{$activity->type}['format_callback'], 10 );
|
1506 |
|
1507 |
return $action;
|
1508 |
}
|
@@ -1720,29 +1663,57 @@ function bp_activity_get( $args = '' ) {
|
|
1720 |
* );
|
1721 |
*/
|
1722 |
'filter' => array()
|
1723 |
-
), 'activity_get' );
|
1724 |
-
|
1725 |
-
$activity = BP_Activity_Activity::get( array(
|
1726 |
-
'page' => $r['page'],
|
1727 |
-
'per_page' => $r['per_page'],
|
1728 |
-
'max' => $r['max'],
|
1729 |
-
'sort' => $r['sort'],
|
1730 |
-
'search_terms' => $r['search_terms'],
|
1731 |
-
'meta_query' => $r['meta_query'],
|
1732 |
-
'date_query' => $r['date_query'],
|
1733 |
-
'filter_query' => $r['filter_query'],
|
1734 |
-
'filter' => $r['filter'],
|
1735 |
-
'scope' => $r['scope'],
|
1736 |
-
'display_comments' => $r['display_comments'],
|
1737 |
-
'show_hidden' => $r['show_hidden'],
|
1738 |
-
'exclude' => $r['exclude'],
|
1739 |
-
'in' => $r['in'],
|
1740 |
-
'spam' => $r['spam'],
|
1741 |
-
'update_meta_cache' => $r['update_meta_cache'],
|
1742 |
-
'count_total' => $r['count_total'],
|
1743 |
-
'fields' => $r['fields'],
|
1744 |
) );
|
1745 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1746 |
/**
|
1747 |
* Filters the requested activity item(s).
|
1748 |
*
|
@@ -1781,7 +1752,7 @@ function bp_activity_get_specific( $args = '' ) {
|
|
1781 |
'sort' => 'DESC', // Sort ASC or DESC
|
1782 |
'spam' => 'ham_only', // Retrieve items marked as spam.
|
1783 |
'update_meta_cache' => true,
|
1784 |
-
)
|
1785 |
|
1786 |
$get_args = array(
|
1787 |
'display_comments' => $r['display_comments'],
|
@@ -1845,7 +1816,7 @@ function bp_activity_get_specific( $args = '' ) {
|
|
1845 |
* @type bool $is_spam Should the item be marked as spam? Default: false.
|
1846 |
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
|
1847 |
* }
|
1848 |
-
* @return
|
1849 |
*/
|
1850 |
function bp_activity_add( $args = '' ) {
|
1851 |
|
@@ -1927,13 +1898,10 @@ function bp_activity_add( $args = '' ) {
|
|
1927 |
* @since 1.2.0
|
1928 |
*
|
1929 |
* @param array|string $args {
|
1930 |
-
* @type string $content
|
1931 |
-
* @type int $user_id
|
1932 |
-
* @type string $error_type Optional. Error type to return. Either 'bool' or 'wp_error'. Defaults to
|
1933 |
-
* 'bool' for boolean. 'wp_error' will return a WP_Error object.
|
1934 |
* }
|
1935 |
-
* @return int
|
1936 |
-
* object depending on the 'error_type' $args parameter.
|
1937 |
*/
|
1938 |
function bp_activity_post_update( $args = '' ) {
|
1939 |
|
@@ -2026,7 +1994,7 @@ function bp_activity_post_update( $args = '' ) {
|
|
2026 |
* @param int $post_id ID of the new post.
|
2027 |
* @param WP_Post|null $post Post object.
|
2028 |
* @param int $user_id ID of the post author.
|
2029 |
-
* @return
|
2030 |
*/
|
2031 |
function bp_activity_post_type_publish( $post_id = 0, $post = null, $user_id = 0 ) {
|
2032 |
|
@@ -2161,7 +2129,7 @@ function bp_activity_post_type_publish( $post_id = 0, $post = null, $user_id = 0
|
|
2161 |
* @since 2.2.0
|
2162 |
*
|
2163 |
* @param WP_Post|null $post Post item.
|
2164 |
-
* @return
|
2165 |
*/
|
2166 |
function bp_activity_post_type_update( $post = null ) {
|
2167 |
|
@@ -2283,7 +2251,7 @@ function bp_activity_post_type_unpublish( $post_id = 0, $post = null ) {
|
|
2283 |
* @param int $comment_id ID of the comment.
|
2284 |
* @param bool $is_approved Whether the comment is approved or not.
|
2285 |
* @param object|null $activity_post_object The post type tracking args object.
|
2286 |
-
* @return
|
2287 |
*/
|
2288 |
function bp_activity_post_type_comment( $comment_id = 0, $is_approved = true, $activity_post_object = null ) {
|
2289 |
// Get the users comment
|
@@ -2557,7 +2525,7 @@ add_action( 'delete_comment', 'bp_activity_post_type_remove_comment', 10, 1 );
|
|
2557 |
* Defaults to false.
|
2558 |
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
|
2559 |
* }
|
2560 |
-
* @return
|
2561 |
*/
|
2562 |
function bp_activity_new_comment( $args = '' ) {
|
2563 |
$bp = buddypress();
|
@@ -2672,9 +2640,9 @@ function bp_activity_new_comment( $args = '' ) {
|
|
2672 |
*
|
2673 |
* @since 1.2.0
|
2674 |
*
|
2675 |
-
* @param int
|
2676 |
-
* @param array
|
2677 |
-
* @param
|
2678 |
*/
|
2679 |
do_action( 'bp_activity_comment_posted', $comment_id, $r, $activity );
|
2680 |
} else {
|
@@ -2684,9 +2652,9 @@ function bp_activity_new_comment( $args = '' ) {
|
|
2684 |
*
|
2685 |
* @since 2.5.0
|
2686 |
*
|
2687 |
-
* @param int
|
2688 |
-
* @param array
|
2689 |
-
* @param
|
2690 |
*/
|
2691 |
do_action( 'bp_activity_comment_posted_notification_skipped', $comment_id, $r, $activity );
|
2692 |
}
|
@@ -2963,12 +2931,6 @@ function bp_activity_delete_comment( $activity_id, $comment_id ) {
|
|
2963 |
return $deleted;
|
2964 |
}
|
2965 |
|
2966 |
-
// Check if comment still exists.
|
2967 |
-
$comment = new BP_Activity_Activity( $comment_id );
|
2968 |
-
if ( empty( $comment->id ) ) {
|
2969 |
-
return false;
|
2970 |
-
}
|
2971 |
-
|
2972 |
// Delete any children of this comment.
|
2973 |
bp_activity_delete_children( $activity_id, $comment_id );
|
2974 |
|
@@ -3009,11 +2971,6 @@ function bp_activity_delete_comment( $activity_id, $comment_id ) {
|
|
3009 |
* @param int $comment_id The ID of the comment to be deleted.
|
3010 |
*/
|
3011 |
function bp_activity_delete_children( $activity_id, $comment_id ) {
|
3012 |
-
// Check if comment still exists.
|
3013 |
-
$comment = new BP_Activity_Activity( $comment_id );
|
3014 |
-
if ( empty( $comment->id ) ) {
|
3015 |
-
return;
|
3016 |
-
}
|
3017 |
|
3018 |
// Get activity children to delete.
|
3019 |
$children = BP_Activity_Activity::get_child_comments( $comment_id );
|
@@ -3073,7 +3030,7 @@ function bp_activity_get_permalink( $activity_id, $activity_obj = false ) {
|
|
3073 |
$link = $activity_obj->primary_link;
|
3074 |
} else {
|
3075 |
if ( 'activity_comment' == $activity_obj->type ) {
|
3076 |
-
$link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_obj->item_id . '
|
3077 |
} else {
|
3078 |
$link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_obj->id . '/';
|
3079 |
}
|
@@ -3180,24 +3137,6 @@ function bp_activity_thumbnail_content_images( $content, $link = false, $args =
|
|
3180 |
return apply_filters( 'bp_activity_thumbnail_content_images', $content, $matches, $args );
|
3181 |
}
|
3182 |
|
3183 |
-
/**
|
3184 |
-
* Gets the excerpt length for activity items.
|
3185 |
-
*
|
3186 |
-
* @since 2.8.0
|
3187 |
-
*
|
3188 |
-
* @return int Character length for activity excerpts.
|
3189 |
-
*/
|
3190 |
-
function bp_activity_get_excerpt_length() {
|
3191 |
-
/**
|
3192 |
-
* Filters the excerpt length for the activity excerpt.
|
3193 |
-
*
|
3194 |
-
* @since 1.5.0
|
3195 |
-
*
|
3196 |
-
* @param int Character length for activity excerpts.
|
3197 |
-
*/
|
3198 |
-
return (int) apply_filters( 'bp_activity_excerpt_length', 358 );
|
3199 |
-
}
|
3200 |
-
|
3201 |
/**
|
3202 |
* Create a rich summary of an activity item for the activity stream.
|
3203 |
*
|
@@ -3407,7 +3346,7 @@ function bp_activity_mark_as_spam( &$activity, $source = 'by_a_person' ) {
|
|
3407 |
|
3408 |
// If Akismet is active, and this was a manual spam/ham request, stop Akismet checking the activity.
|
3409 |
if ( 'by_a_person' == $source && !empty( $bp->activity->akismet ) ) {
|
3410 |
-
remove_action( 'bp_activity_before_save', array( $bp->activity->akismet, 'check_activity' ), 4 );
|
3411 |
|
3412 |
// Build data package for Akismet.
|
3413 |
$activity_data = BP_Akismet::build_akismet_data_package( $activity );
|
@@ -3454,7 +3393,7 @@ function bp_activity_mark_as_ham( &$activity, $source = 'by_a_person' ) {
|
|
3454 |
|
3455 |
// If Akismet is active, and this was a manual spam/ham request, stop Akismet checking the activity.
|
3456 |
if ( 'by_a_person' == $source && !empty( $bp->activity->akismet ) ) {
|
3457 |
-
remove_action( 'bp_activity_before_save', array( $bp->activity->akismet, 'check_activity' ), 4 );
|
3458 |
|
3459 |
// Build data package for Akismet.
|
3460 |
$activity_data = BP_Akismet::build_akismet_data_package( $activity );
|
@@ -3478,211 +3417,6 @@ function bp_activity_mark_as_ham( &$activity, $source = 'by_a_person' ) {
|
|
3478 |
do_action( 'bp_activity_mark_as_ham', $activity, $source );
|
3479 |
}
|
3480 |
|
3481 |
-
/* Emails *********************************************************************/
|
3482 |
-
|
3483 |
-
/**
|
3484 |
-
* Send email and BP notifications when a user is mentioned in an update.
|
3485 |
-
*
|
3486 |
-
* @since 1.2.0
|
3487 |
-
*
|
3488 |
-
* @param int $activity_id The ID of the activity update.
|
3489 |
-
* @param int $receiver_user_id The ID of the user who is receiving the update.
|
3490 |
-
*/
|
3491 |
-
function bp_activity_at_message_notification( $activity_id, $receiver_user_id ) {
|
3492 |
-
$notifications = BP_Core_Notification::get_all_for_user( $receiver_user_id, 'all' );
|
3493 |
-
|
3494 |
-
// Don't leave multiple notifications for the same activity item.
|
3495 |
-
foreach( $notifications as $notification ) {
|
3496 |
-
if ( $activity_id == $notification->item_id ) {
|
3497 |
-
return;
|
3498 |
-
}
|
3499 |
-
}
|
3500 |
-
|
3501 |
-
$activity = new BP_Activity_Activity( $activity_id );
|
3502 |
-
$email_type = 'activity-at-message';
|
3503 |
-
$group_name = '';
|
3504 |
-
$message_link = bp_activity_get_permalink( $activity_id );
|
3505 |
-
$poster_name = bp_core_get_user_displayname( $activity->user_id );
|
3506 |
-
|
3507 |
-
remove_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
3508 |
-
remove_filter( 'bp_get_activity_content_body', 'wpautop' );
|
3509 |
-
remove_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
3510 |
-
|
3511 |
-
/** This filter is documented in bp-activity/bp-activity-template.php */
|
3512 |
-
$content = apply_filters_ref_array( 'bp_get_activity_content_body', array( $activity->content, &$activity ) );
|
3513 |
-
|
3514 |
-
add_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
3515 |
-
add_filter( 'bp_get_activity_content_body', 'wpautop' );
|
3516 |
-
add_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
3517 |
-
|
3518 |
-
// Now email the user with the contents of the message (if they have enabled email notifications).
|
3519 |
-
if ( 'no' != bp_get_user_meta( $receiver_user_id, 'notification_activity_new_mention', true ) ) {
|
3520 |
-
if ( bp_is_active( 'groups' ) && bp_is_group() ) {
|
3521 |
-
$email_type = 'groups-at-message';
|
3522 |
-
$group_name = bp_get_current_group_name();
|
3523 |
-
}
|
3524 |
-
|
3525 |
-
$unsubscribe_args = array(
|
3526 |
-
'user_id' => $receiver_user_id,
|
3527 |
-
'notification_type' => $email_type,
|
3528 |
-
);
|
3529 |
-
|
3530 |
-
$args = array(
|
3531 |
-
'tokens' => array(
|
3532 |
-
'activity' => $activity,
|
3533 |
-
'usermessage' => wp_strip_all_tags( $content ),
|
3534 |
-
'group.name' => $group_name,
|
3535 |
-
'mentioned.url' => $message_link,
|
3536 |
-
'poster.name' => $poster_name,
|
3537 |
-
'receiver-user.id' => $receiver_user_id,
|
3538 |
-
'unsubscribe' => esc_url( bp_email_get_unsubscribe_link( $unsubscribe_args ) ),
|
3539 |
-
),
|
3540 |
-
);
|
3541 |
-
|
3542 |
-
bp_send_email( $email_type, $receiver_user_id, $args );
|
3543 |
-
}
|
3544 |
-
|
3545 |
-
/**
|
3546 |
-
* Fires after the sending of an @mention email notification.
|
3547 |
-
*
|
3548 |
-
* @since 1.5.0
|
3549 |
-
* @since 2.5.0 $subject, $message, $content arguments unset and deprecated.
|
3550 |
-
*
|
3551 |
-
* @param BP_Activity_Activity $activity Activity Item object.
|
3552 |
-
* @param string $deprecated Removed in 2.5; now an empty string.
|
3553 |
-
* @param string $deprecated Removed in 2.5; now an empty string.
|
3554 |
-
* @param string $deprecated Removed in 2.5; now an empty string.
|
3555 |
-
* @param int $receiver_user_id The ID of the user who is receiving the update.
|
3556 |
-
*/
|
3557 |
-
do_action( 'bp_activity_sent_mention_email', $activity, '', '', '', $receiver_user_id );
|
3558 |
-
}
|
3559 |
-
|
3560 |
-
/**
|
3561 |
-
* Send email and BP notifications when an activity item receives a comment.
|
3562 |
-
*
|
3563 |
-
* @since 1.2.0
|
3564 |
-
* @since 2.5.0 Updated to use new email APIs.
|
3565 |
-
*
|
3566 |
-
* @param int $comment_id The comment id.
|
3567 |
-
* @param int $commenter_id The ID of the user who posted the comment.
|
3568 |
-
* @param array $params {@link bp_activity_new_comment()}.
|
3569 |
-
*/
|
3570 |
-
function bp_activity_new_comment_notification( $comment_id = 0, $commenter_id = 0, $params = array() ) {
|
3571 |
-
$original_activity = new BP_Activity_Activity( $params['activity_id'] );
|
3572 |
-
$poster_name = bp_core_get_user_displayname( $commenter_id );
|
3573 |
-
$thread_link = bp_activity_get_permalink( $params['activity_id'] );
|
3574 |
-
|
3575 |
-
remove_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
3576 |
-
remove_filter( 'bp_get_activity_content_body', 'wpautop' );
|
3577 |
-
remove_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
3578 |
-
|
3579 |
-
/** This filter is documented in bp-activity/bp-activity-template.php */
|
3580 |
-
$content = apply_filters_ref_array( 'bp_get_activity_content_body', array( $params['content'], &$original_activity ) );
|
3581 |
-
|
3582 |
-
add_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
3583 |
-
add_filter( 'bp_get_activity_content_body', 'wpautop' );
|
3584 |
-
add_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
3585 |
-
|
3586 |
-
if ( $original_activity->user_id != $commenter_id ) {
|
3587 |
-
|
3588 |
-
// Send an email if the user hasn't opted-out.
|
3589 |
-
if ( 'no' != bp_get_user_meta( $original_activity->user_id, 'notification_activity_new_reply', true ) ) {
|
3590 |
-
|
3591 |
-
$unsubscribe_args = array(
|
3592 |
-
'user_id' => $original_activity->user_id,
|
3593 |
-
'notification_type' => 'activity-comment',
|
3594 |
-
);
|
3595 |
-
|
3596 |
-
$args = array(
|
3597 |
-
'tokens' => array(
|
3598 |
-
'comment.id' => $comment_id,
|
3599 |
-
'commenter.id' => $commenter_id,
|
3600 |
-
'usermessage' => wp_strip_all_tags( $content ),
|
3601 |
-
'original_activity.user_id' => $original_activity->user_id,
|
3602 |
-
'poster.name' => $poster_name,
|
3603 |
-
'thread.url' => esc_url( $thread_link ),
|
3604 |
-
'unsubscribe' => esc_url( bp_email_get_unsubscribe_link( $unsubscribe_args ) ),
|
3605 |
-
),
|
3606 |
-
);
|
3607 |
-
|
3608 |
-
bp_send_email( 'activity-comment', $original_activity->user_id, $args );
|
3609 |
-
}
|
3610 |
-
|
3611 |
-
/**
|
3612 |
-
* Fires at the point that notifications should be sent for activity comments.
|
3613 |
-
*
|
3614 |
-
* @since 2.6.0
|
3615 |
-
*
|
3616 |
-
* @param BP_Activity_Activity $original_activity The original activity.
|
3617 |
-
* @param int $comment_id ID for the newly received comment.
|
3618 |
-
* @param int $commenter_id ID of the user who made the comment.
|
3619 |
-
* @param array $params Arguments used with the original activity comment.
|
3620 |
-
*/
|
3621 |
-
do_action( 'bp_activity_sent_reply_to_update_notification', $original_activity, $comment_id, $commenter_id, $params );
|
3622 |
-
}
|
3623 |
-
|
3624 |
-
|
3625 |
-
/*
|
3626 |
-
* If this is a reply to another comment, send an email notification to the
|
3627 |
-
* author of the immediate parent comment.
|
3628 |
-
*/
|
3629 |
-
if ( empty( $params['parent_id'] ) || ( $params['activity_id'] == $params['parent_id'] ) ) {
|
3630 |
-
return;
|
3631 |
-
}
|
3632 |
-
|
3633 |
-
$parent_comment = new BP_Activity_Activity( $params['parent_id'] );
|
3634 |
-
|
3635 |
-
if ( $parent_comment->user_id != $commenter_id && $original_activity->user_id != $parent_comment->user_id ) {
|
3636 |
-
|
3637 |
-
// Send an email if the user hasn't opted-out.
|
3638 |
-
if ( 'no' != bp_get_user_meta( $parent_comment->user_id, 'notification_activity_new_reply', true ) ) {
|
3639 |
-
|
3640 |
-
$unsubscribe_args = array(
|
3641 |
-
'user_id' => $parent_comment->user_id,
|
3642 |
-
'notification_type' => 'activity-comment-author',
|
3643 |
-
);
|
3644 |
-
|
3645 |
-
$args = array(
|
3646 |
-
'tokens' => array(
|
3647 |
-
'comment.id' => $comment_id,
|
3648 |
-
'commenter.id' => $commenter_id,
|
3649 |
-
'usermessage' => wp_strip_all_tags( $content ),
|
3650 |
-
'parent-comment-user.id' => $parent_comment->user_id,
|
3651 |
-
'poster.name' => $poster_name,
|
3652 |
-
'thread.url' => esc_url( $thread_link ),
|
3653 |
-
'unsubscribe' => esc_url( bp_email_get_unsubscribe_link( $unsubscribe_args ) ),
|
3654 |
-
),
|
3655 |
-
);
|
3656 |
-
|
3657 |
-
bp_send_email( 'activity-comment-author', $parent_comment->user_id, $args );
|
3658 |
-
}
|
3659 |
-
|
3660 |
-
/**
|
3661 |
-
* Fires at the point that notifications should be sent for comments on activity replies.
|
3662 |
-
*
|
3663 |
-
* @since 2.6.0
|
3664 |
-
*
|
3665 |
-
* @param BP_Activity_Activity $parent_comment The parent activity.
|
3666 |
-
* @param int $comment_id ID for the newly received comment.
|
3667 |
-
* @param int $commenter_id ID of the user who made the comment.
|
3668 |
-
* @param array $params Arguments used with the original activity comment.
|
3669 |
-
*/
|
3670 |
-
do_action( 'bp_activity_sent_reply_to_reply_notification', $parent_comment, $comment_id, $commenter_id, $params );
|
3671 |
-
}
|
3672 |
-
}
|
3673 |
-
|
3674 |
-
/**
|
3675 |
-
* Helper method to map action arguments to function parameters.
|
3676 |
-
*
|
3677 |
-
* @since 1.9.0
|
3678 |
-
*
|
3679 |
-
* @param int $comment_id ID of the comment being notified about.
|
3680 |
-
* @param array $params Parameters to use with notification.
|
3681 |
-
*/
|
3682 |
-
function bp_activity_new_comment_notification_helper( $comment_id, $params ) {
|
3683 |
-
bp_activity_new_comment_notification( $comment_id, $params['user_id'], $params );
|
3684 |
-
}
|
3685 |
-
add_action( 'bp_activity_comment_posted', 'bp_activity_new_comment_notification_helper', 10, 2 );
|
3686 |
|
3687 |
/** Embeds *******************************************************************/
|
3688 |
|
@@ -3761,7 +3495,7 @@ add_action( 'bp_before_activity_comment', 'bp_activity_comment_embed' );
|
|
3761 |
function bp_dtheme_embed_read_more( $activity ) {
|
3762 |
buddypress()->activity->read_more_id = $activity->id;
|
3763 |
|
3764 |
-
add_filter( 'embed_post_id',
|
3765 |
add_filter( 'bp_embed_get_cache', 'bp_embed_activity_cache', 10, 3 );
|
3766 |
add_action( 'bp_embed_update_cache', 'bp_embed_activity_save_cache', 10, 3 );
|
3767 |
}
|
@@ -3831,21 +3565,21 @@ function bp_embed_activity_save_cache( $cache, $cachekey, $id ) {
|
|
3831 |
*
|
3832 |
* @since 2.0.0
|
3833 |
*
|
|
|
|
|
|
|
3834 |
* @return bool True if activity heartbeat is enabled, otherwise false.
|
3835 |
*/
|
3836 |
function bp_activity_do_heartbeat() {
|
3837 |
$retval = false;
|
3838 |
|
3839 |
-
if ( bp_is_activity_heartbeat_active()
|
|
|
|
|
|
|
|
|
3840 |
$retval = true;
|
3841 |
}
|
3842 |
|
3843 |
-
|
3844 |
-
* Filters whether the heartbeat feature in the activity stream should be active.
|
3845 |
-
*
|
3846 |
-
* @since 2.8.0
|
3847 |
-
*
|
3848 |
-
* @param bool $retval Whether or not activity heartbeat is active.
|
3849 |
-
*/
|
3850 |
-
return (bool) apply_filters( 'bp_activity_do_heartbeat', $retval );
|
3851 |
}
|
406 |
* @param array $args {
|
407 |
* An associative array of tracking parameters. All items are optional.
|
408 |
* @type string $bp_activity_admin_filter String to use in the Dashboard > Activity dropdown.
|
409 |
+
* @type string $bp_activity_front_filter String to use in frontend dropdown.
|
410 |
* @type string $bp_activity_new_post String format to use for generating the activity action. Should be a
|
411 |
* translatable string where %1$s is replaced by a user link and %2$s is
|
412 |
* the URL of the newly created post.
|
839 |
return apply_filters( 'bp_activity_get_types', $actions );
|
840 |
}
|
841 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
842 |
/** Favorites ****************************************************************/
|
843 |
|
844 |
/**
|
1445 |
$action = apply_filters( 'bp_activity_generate_action_string', $activity->action, $activity );
|
1446 |
|
1447 |
// Remove the filter for future activity items.
|
1448 |
+
remove_filter( 'bp_activity_generate_action_string', $actions->{$activity->component}->{$activity->type}['format_callback'], 10, 2 );
|
1449 |
|
1450 |
return $action;
|
1451 |
}
|
1663 |
* );
|
1664 |
*/
|
1665 |
'filter' => array()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1666 |
) );
|
1667 |
|
1668 |
+
// Attempt to return a cached copy of the first page of sitewide activity.
|
1669 |
+
if ( ( 1 === (int) $r['page'] ) && empty( $r['max'] ) && ( 'all' === $r['fields'] ) && empty( $r['search_terms'] ) && empty( $r['meta_query'] ) && empty( $r['date_query'] ) && empty( $r['filter_query'] ) && empty( $r['filter'] ) && empty( $r['scope'] )&& empty( $r['exclude'] ) && empty( $r['in'] ) && ( 'DESC' === $r['sort'] ) && empty( $r['exclude'] ) && ( 'ham_only' === $r['spam'] ) ) {
|
1670 |
+
|
1671 |
+
$activity = wp_cache_get( 'bp_activity_sitewide_front', 'bp' );
|
1672 |
+
if ( false === $activity ) {
|
1673 |
+
|
1674 |
+
$activity = BP_Activity_Activity::get( array(
|
1675 |
+
'page' => $r['page'],
|
1676 |
+
'per_page' => $r['per_page'],
|
1677 |
+
'max' => $r['max'],
|
1678 |
+
'fields' => $r['fields'],
|
1679 |
+
'sort' => $r['sort'],
|
1680 |
+
'search_terms' => $r['search_terms'],
|
1681 |
+
'meta_query' => $r['meta_query'],
|
1682 |
+
'date_query' => $r['date_query'],
|
1683 |
+
'filter_query' => $r['filter_query'],
|
1684 |
+
'filter' => $r['filter'],
|
1685 |
+
'scope' => $r['scope'],
|
1686 |
+
'display_comments' => $r['display_comments'],
|
1687 |
+
'show_hidden' => $r['show_hidden'],
|
1688 |
+
'spam' => $r['spam'],
|
1689 |
+
'update_meta_cache' => $r['update_meta_cache'],
|
1690 |
+
'count_total' => $r['count_total'],
|
1691 |
+
) );
|
1692 |
+
|
1693 |
+
wp_cache_set( 'bp_activity_sitewide_front', $activity, 'bp' );
|
1694 |
+
}
|
1695 |
+
|
1696 |
+
} else {
|
1697 |
+
$activity = BP_Activity_Activity::get( array(
|
1698 |
+
'page' => $r['page'],
|
1699 |
+
'per_page' => $r['per_page'],
|
1700 |
+
'max' => $r['max'],
|
1701 |
+
'sort' => $r['sort'],
|
1702 |
+
'search_terms' => $r['search_terms'],
|
1703 |
+
'meta_query' => $r['meta_query'],
|
1704 |
+
'date_query' => $r['date_query'],
|
1705 |
+
'filter_query' => $r['filter_query'],
|
1706 |
+
'filter' => $r['filter'],
|
1707 |
+
'scope' => $r['scope'],
|
1708 |
+
'display_comments' => $r['display_comments'],
|
1709 |
+
'show_hidden' => $r['show_hidden'],
|
1710 |
+
'exclude' => $r['exclude'],
|
1711 |
+
'in' => $r['in'],
|
1712 |
+
'spam' => $r['spam'],
|
1713 |
+
'count_total' => $r['count_total'],
|
1714 |
+
) );
|
1715 |
+
}
|
1716 |
+
|
1717 |
/**
|
1718 |
* Filters the requested activity item(s).
|
1719 |
*
|
1752 |
'sort' => 'DESC', // Sort ASC or DESC
|
1753 |
'spam' => 'ham_only', // Retrieve items marked as spam.
|
1754 |
'update_meta_cache' => true,
|
1755 |
+
) );
|
1756 |
|
1757 |
$get_args = array(
|
1758 |
'display_comments' => $r['display_comments'],
|
1816 |
* @type bool $is_spam Should the item be marked as spam? Default: false.
|
1817 |
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
|
1818 |
* }
|
1819 |
+
* @return int|bool The ID of the activity on success. False on error.
|
1820 |
*/
|
1821 |
function bp_activity_add( $args = '' ) {
|
1822 |
|
1898 |
* @since 1.2.0
|
1899 |
*
|
1900 |
* @param array|string $args {
|
1901 |
+
* @type string $content The content of the activity update.
|
1902 |
+
* @type int $user_id Optional. Defaults to the logged-in user.
|
|
|
|
|
1903 |
* }
|
1904 |
+
* @return int $activity_id The activity id.
|
|
|
1905 |
*/
|
1906 |
function bp_activity_post_update( $args = '' ) {
|
1907 |
|
1994 |
* @param int $post_id ID of the new post.
|
1995 |
* @param WP_Post|null $post Post object.
|
1996 |
* @param int $user_id ID of the post author.
|
1997 |
+
* @return int|bool The ID of the activity on success. False on error.
|
1998 |
*/
|
1999 |
function bp_activity_post_type_publish( $post_id = 0, $post = null, $user_id = 0 ) {
|
2000 |
|
2129 |
* @since 2.2.0
|
2130 |
*
|
2131 |
* @param WP_Post|null $post Post item.
|
2132 |
+
* @return bool True on success, false on failure.
|
2133 |
*/
|
2134 |
function bp_activity_post_type_update( $post = null ) {
|
2135 |
|
2251 |
* @param int $comment_id ID of the comment.
|
2252 |
* @param bool $is_approved Whether the comment is approved or not.
|
2253 |
* @param object|null $activity_post_object The post type tracking args object.
|
2254 |
+
* @return int|bool The ID of the activity on success. False on error.
|
2255 |
*/
|
2256 |
function bp_activity_post_type_comment( $comment_id = 0, $is_approved = true, $activity_post_object = null ) {
|
2257 |
// Get the users comment
|
2525 |
* Defaults to false.
|
2526 |
* @type string $error_type Optional. Error type. Either 'bool' or 'wp_error'. Default: 'bool'.
|
2527 |
* }
|
2528 |
+
* @return int|bool The ID of the comment on success, otherwise false.
|
2529 |
*/
|
2530 |
function bp_activity_new_comment( $args = '' ) {
|
2531 |
$bp = buddypress();
|
2640 |
*
|
2641 |
* @since 1.2.0
|
2642 |
*
|
2643 |
+
* @param int $comment_id ID of the newly posted activity comment.
|
2644 |
+
* @param array $r Array of parsed comment arguments.
|
2645 |
+
* @param int $activity ID of the activity item being commented on.
|
2646 |
*/
|
2647 |
do_action( 'bp_activity_comment_posted', $comment_id, $r, $activity );
|
2648 |
} else {
|
2652 |
*
|
2653 |
* @since 2.5.0
|
2654 |
*
|
2655 |
+
* @param int $comment_id ID of the newly posted activity comment.
|
2656 |
+
* @param array $r Array of parsed comment arguments.
|
2657 |
+
* @param int $activity ID of the activity item being commented on.
|
2658 |
*/
|
2659 |
do_action( 'bp_activity_comment_posted_notification_skipped', $comment_id, $r, $activity );
|
2660 |
}
|
2931 |
return $deleted;
|
2932 |
}
|
2933 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2934 |
// Delete any children of this comment.
|
2935 |
bp_activity_delete_children( $activity_id, $comment_id );
|
2936 |
|
2971 |
* @param int $comment_id The ID of the comment to be deleted.
|
2972 |
*/
|
2973 |
function bp_activity_delete_children( $activity_id, $comment_id ) {
|
|
|
|
|
|
|
|
|
|
|
2974 |
|
2975 |
// Get activity children to delete.
|
2976 |
$children = BP_Activity_Activity::get_child_comments( $comment_id );
|
3030 |
$link = $activity_obj->primary_link;
|
3031 |
} else {
|
3032 |
if ( 'activity_comment' == $activity_obj->type ) {
|
3033 |
+
$link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_obj->item_id . '/';
|
3034 |
} else {
|
3035 |
$link = bp_get_root_domain() . '/' . bp_get_activity_root_slug() . '/p/' . $activity_obj->id . '/';
|
3036 |
}
|
3137 |
return apply_filters( 'bp_activity_thumbnail_content_images', $content, $matches, $args );
|
3138 |
}
|
3139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3140 |
/**
|
3141 |
* Create a rich summary of an activity item for the activity stream.
|
3142 |
*
|
3346 |
|
3347 |
// If Akismet is active, and this was a manual spam/ham request, stop Akismet checking the activity.
|
3348 |
if ( 'by_a_person' == $source && !empty( $bp->activity->akismet ) ) {
|
3349 |
+
remove_action( 'bp_activity_before_save', array( $bp->activity->akismet, 'check_activity' ), 4, 1 );
|
3350 |
|
3351 |
// Build data package for Akismet.
|
3352 |
$activity_data = BP_Akismet::build_akismet_data_package( $activity );
|
3393 |
|
3394 |
// If Akismet is active, and this was a manual spam/ham request, stop Akismet checking the activity.
|
3395 |
if ( 'by_a_person' == $source && !empty( $bp->activity->akismet ) ) {
|
3396 |
+
remove_action( 'bp_activity_before_save', array( $bp->activity->akismet, 'check_activity' ), 4, 1 );
|
3397 |
|
3398 |
// Build data package for Akismet.
|
3399 |
$activity_data = BP_Akismet::build_akismet_data_package( $activity );
|
3417 |
do_action( 'bp_activity_mark_as_ham', $activity, $source );
|
3418 |
}
|
3419 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3420 |
|
3421 |
/** Embeds *******************************************************************/
|
3422 |
|
3495 |
function bp_dtheme_embed_read_more( $activity ) {
|
3496 |
buddypress()->activity->read_more_id = $activity->id;
|
3497 |
|
3498 |
+
add_filter( 'embed_post_id', create_function( '', 'return buddypress()->activity->read_more_id;' ) );
|
3499 |
add_filter( 'bp_embed_get_cache', 'bp_embed_activity_cache', 10, 3 );
|
3500 |
add_action( 'bp_embed_update_cache', 'bp_embed_activity_save_cache', 10, 3 );
|
3501 |
}
|
3565 |
*
|
3566 |
* @since 2.0.0
|
3567 |
*
|
3568 |
+
* directory.
|
3569 |
+
* is the group activities.
|
3570 |
+
*
|
3571 |
* @return bool True if activity heartbeat is enabled, otherwise false.
|
3572 |
*/
|
3573 |
function bp_activity_do_heartbeat() {
|
3574 |
$retval = false;
|
3575 |
|
3576 |
+
if ( ! bp_is_activity_heartbeat_active() ) {
|
3577 |
+
return $retval;
|
3578 |
+
}
|
3579 |
+
|
3580 |
+
if ( bp_is_activity_directory() || bp_is_group_activity() ) {
|
3581 |
$retval = true;
|
3582 |
}
|
3583 |
|
3584 |
+
return $retval;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3585 |
}
|
@@ -12,8 +12,12 @@
|
|
12 |
// Exit if accessed directly.
|
13 |
defined( 'ABSPATH' ) || exit;
|
14 |
|
|
|
|
|
|
|
|
|
15 |
/**
|
16 |
-
*
|
17 |
*
|
18 |
* @since 1.6.0
|
19 |
*/
|
12 |
// Exit if accessed directly.
|
13 |
defined( 'ABSPATH' ) || exit;
|
14 |
|
15 |
+
if ( ! buddypress()->do_autoload ) {
|
16 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-component.php';
|
17 |
+
}
|
18 |
+
|
19 |
/**
|
20 |
+
* Bootstrap the Activity component.
|
21 |
*
|
22 |
* @since 1.6.0
|
23 |
*/
|
@@ -10,6 +10,194 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Format notifications related to activity.
|
15 |
*
|
@@ -20,10 +208,9 @@ defined( 'ABSPATH' ) || exit;
|
|
20 |
* @param int $secondary_item_id In the case of at-mentions, this is the mentioner's ID.
|
21 |
* @param int $total_items The total number of notifications to format.
|
22 |
* @param string $format 'string' to get a BuddyBar-compatible notification, 'array' otherwise.
|
23 |
-
* @param int $id Optional. The notification ID.
|
24 |
* @return string $return Formatted @mention notification.
|
25 |
*/
|
26 |
-
function bp_activity_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string'
|
27 |
$action_filter = $action;
|
28 |
$return = false;
|
29 |
$activity_id = $item_id;
|
@@ -38,10 +225,10 @@ function bp_activity_format_notifications( $action, $item_id, $secondary_item_id
|
|
38 |
$amount = 'single';
|
39 |
|
40 |
if ( (int) $total_items > 1 ) {
|
41 |
-
$text
|
42 |
$amount = 'multiple';
|
43 |
} else {
|
44 |
-
$text =
|
45 |
}
|
46 |
break;
|
47 |
|
@@ -55,8 +242,8 @@ function bp_activity_format_notifications( $action, $item_id, $secondary_item_id
|
|
55 |
$text = sprintf( __( 'You have %1$d new replies', 'buddypress' ), (int) $total_items );
|
56 |
$amount = 'multiple';
|
57 |
} else {
|
58 |
-
$link
|
59 |
-
$text
|
60 |
}
|
61 |
break;
|
62 |
|
@@ -70,8 +257,8 @@ function bp_activity_format_notifications( $action, $item_id, $secondary_item_id
|
|
70 |
$text = sprintf( __( 'You have %1$d new comment replies', 'buddypress' ), (int) $total_items );
|
71 |
$amount = 'multiple';
|
72 |
} else {
|
73 |
-
$link
|
74 |
-
$text
|
75 |
}
|
76 |
break;
|
77 |
}
|
@@ -94,7 +281,7 @@ function bp_activity_format_notifications( $action, $item_id, $secondary_item_id
|
|
94 |
* @param int $activity_id ID of the activity item being formatted.
|
95 |
* @param int $user_id ID of the user who inited the interaction.
|
96 |
*/
|
97 |
-
$return = apply_filters( 'bp_activity_' . $amount . '_' . $action_filter . '_notification', '<a href="' . esc_url( $link ) . '">' . esc_html( $text ) . '</a>', $link, (int) $total_items, $activity_id, $user_id );
|
98 |
} else {
|
99 |
|
100 |
/**
|
@@ -151,7 +338,8 @@ function bp_activity_format_notifications( $action, $item_id, $secondary_item_id
|
|
151 |
* @param int $receiver_user_id ID of user receiving notification.
|
152 |
*/
|
153 |
function bp_activity_at_mention_add_notification( $activity, $subject, $message, $content, $receiver_user_id ) {
|
154 |
-
|
|
|
155 |
'user_id' => $receiver_user_id,
|
156 |
'item_id' => $activity->id,
|
157 |
'secondary_item_id' => $activity->user_id,
|
@@ -159,7 +347,8 @@ function bp_activity_at_mention_add_notification( $activity, $subject, $message,
|
|
159 |
'component_action' => 'new_at_mention',
|
160 |
'date_notified' => bp_core_current_time(),
|
161 |
'is_new' => 1,
|
162 |
-
|
|
|
163 |
}
|
164 |
add_action( 'bp_activity_sent_mention_email', 'bp_activity_at_mention_add_notification', 10, 5 );
|
165 |
|
@@ -173,15 +362,17 @@ add_action( 'bp_activity_sent_mention_email', 'bp_activity_at_mention_add_notifi
|
|
173 |
* @param int $commenter_id ID of the user who made the comment.
|
174 |
*/
|
175 |
function bp_activity_update_reply_add_notification( $activity, $comment_id, $commenter_id ) {
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
|
|
|
|
185 |
}
|
186 |
add_action( 'bp_activity_sent_reply_to_update_notification', 'bp_activity_update_reply_add_notification', 10, 3 );
|
187 |
|
@@ -195,15 +386,17 @@ add_action( 'bp_activity_sent_reply_to_update_notification', 'bp_activity_update
|
|
195 |
* @param int $commenter_id ID of the user who made the comment.
|
196 |
*/
|
197 |
function bp_activity_comment_reply_add_notification( $activity_comment, $comment_id, $commenter_id ) {
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
|
|
|
|
207 |
}
|
208 |
add_action( 'bp_activity_sent_reply_to_reply_notification', 'bp_activity_comment_reply_add_notification', 10, 3 );
|
209 |
|
@@ -216,6 +409,10 @@ add_action( 'bp_activity_sent_reply_to_reply_notification', 'bp_activity_comment
|
|
216 |
* @param int $user_id The id of the user whose notifications are marked as read.
|
217 |
*/
|
218 |
function bp_activity_remove_screen_notifications( $user_id = 0 ) {
|
|
|
|
|
|
|
|
|
219 |
// Only mark read if the current user is looking at his own mentions.
|
220 |
if ( empty( $user_id ) || (int) $user_id !== (int) bp_loggedin_user_id() ) {
|
221 |
return;
|
@@ -229,44 +426,42 @@ add_action( 'bp_activity_clear_new_mentions', 'bp_activity_remove_screen_notific
|
|
229 |
* Mark at-mention notification as read when user visits the activity with the mention.
|
230 |
*
|
231 |
* @since 2.0.0
|
|
|
232 |
*
|
233 |
* @param BP_Activity_Activity $activity Activity object.
|
234 |
*/
|
235 |
function bp_activity_remove_screen_notifications_single_activity_permalink( $activity ) {
|
236 |
-
if ( !
|
237 |
return;
|
238 |
}
|
239 |
|
240 |
-
|
241 |
-
bp_notifications_mark_notifications_by_item_id( bp_loggedin_user_id(), $activity->id, buddypress()->activity->id, 'new_at_mention' );
|
242 |
-
}
|
243 |
-
add_action( 'bp_activity_screen_single_activity_permalink', 'bp_activity_remove_screen_notifications_single_activity_permalink' );
|
244 |
-
|
245 |
-
/**
|
246 |
-
* Mark non-mention notifications as read when user visits our read permalink.
|
247 |
-
*
|
248 |
-
* In particular, 'update_reply' and 'comment_reply' notifications are handled
|
249 |
-
* here. See {@link bp_activity_format_notifications()} for more info.
|
250 |
-
*
|
251 |
-
* @since 2.6.0
|
252 |
-
*/
|
253 |
-
function bp_activity_remove_screen_notifications_for_non_mentions() {
|
254 |
-
if ( false === is_singular() || false === is_user_logged_in() || empty( $_GET['nid'] ) ) {
|
255 |
return;
|
256 |
}
|
257 |
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
}
|
269 |
-
add_action( '
|
270 |
|
271 |
/**
|
272 |
* Delete at-mention notifications when the corresponding activity item is deleted.
|
@@ -278,64 +473,10 @@ add_action( 'bp_screens', 'bp_activity_remove_screen_notifications_for_non_menti
|
|
278 |
function bp_activity_at_mention_delete_notification( $activity_ids_deleted = array() ) {
|
279 |
// Let's delete all without checking if content contains any mentions
|
280 |
// to avoid a query to get the activity.
|
281 |
-
if ( ! empty( $activity_ids_deleted ) ) {
|
282 |
foreach ( $activity_ids_deleted as $activity_id ) {
|
283 |
bp_notifications_delete_all_notifications_by_type( $activity_id, buddypress()->activity->id );
|
284 |
}
|
285 |
}
|
286 |
}
|
287 |
add_action( 'bp_activity_deleted_activities', 'bp_activity_at_mention_delete_notification', 10 );
|
288 |
-
|
289 |
-
/**
|
290 |
-
* Add a notification for post comments to the post author or post commenter.
|
291 |
-
*
|
292 |
-
* Requires "activity stream commenting on blog and forum posts" to be enabled.
|
293 |
-
*
|
294 |
-
* @since 2.6.0
|
295 |
-
*
|
296 |
-
* @param int $activity_id The activity comment ID.
|
297 |
-
* @param WP_Comment $post_type_comment WP Comment object.
|
298 |
-
* @param array $activity_args Activity comment arguments.
|
299 |
-
* @param object $activity_post_object The post type tracking args object.
|
300 |
-
*/
|
301 |
-
function bp_activity_add_notification_for_synced_blog_comment( $activity_id, $post_type_comment, $activity_args, $activity_post_object ) {
|
302 |
-
// If activity comments are disabled for WP posts, stop now!
|
303 |
-
if ( bp_disable_blogforum_comments() || empty( $activity_id ) ) {
|
304 |
-
return;
|
305 |
-
}
|
306 |
-
|
307 |
-
// Send a notification to the blog post author.
|
308 |
-
if ( (int) $post_type_comment->post->post_author !== (int) $activity_args['user_id'] ) {
|
309 |
-
// Only add a notification if comment author is a registered user.
|
310 |
-
// @todo Should we remove this restriction?
|
311 |
-
if ( ! empty( $post_type_comment->user_id ) ) {
|
312 |
-
bp_notifications_add_notification( array(
|
313 |
-
'user_id' => $post_type_comment->post->post_author,
|
314 |
-
'item_id' => $activity_id,
|
315 |
-
'secondary_item_id' => $post_type_comment->user_id,
|
316 |
-
'component_name' => buddypress()->activity->id,
|
317 |
-
'component_action' => 'update_reply',
|
318 |
-
'date_notified' => $post_type_comment->comment_date_gmt,
|
319 |
-
'is_new' => 1,
|
320 |
-
) );
|
321 |
-
}
|
322 |
-
}
|
323 |
-
|
324 |
-
// Send a notification to the parent comment author for follow-up comments.
|
325 |
-
if ( ! empty( $post_type_comment->comment_parent ) ) {
|
326 |
-
$parent_comment = get_comment( $post_type_comment->comment_parent );
|
327 |
-
|
328 |
-
if ( ! empty( $parent_comment->user_id ) && (int) $parent_comment->user_id !== (int) $activity_args['user_id'] ) {
|
329 |
-
bp_notifications_add_notification( array(
|
330 |
-
'user_id' => $parent_comment->user_id,
|
331 |
-
'item_id' => $activity_id,
|
332 |
-
'secondary_item_id' => $post_type_comment->user_id,
|
333 |
-
'component_name' => buddypress()->activity->id,
|
334 |
-
'component_action' => 'comment_reply',
|
335 |
-
'date_notified' => $post_type_comment->comment_date_gmt,
|
336 |
-
'is_new' => 1,
|
337 |
-
) );
|
338 |
-
}
|
339 |
-
}
|
340 |
-
}
|
341 |
-
add_action( 'bp_blogs_comment_sync_activity_comment', 'bp_activity_add_notification_for_synced_blog_comment', 10, 4 );
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
/* Emails *********************************************************************/
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Send email and BP notifications when a user is mentioned in an update.
|
17 |
+
*
|
18 |
+
* @since 1.2.0
|
19 |
+
*
|
20 |
+
* @param int $activity_id The ID of the activity update.
|
21 |
+
* @param int $receiver_user_id The ID of the user who is receiving the update.
|
22 |
+
*/
|
23 |
+
function bp_activity_at_message_notification( $activity_id, $receiver_user_id ) {
|
24 |
+
$notifications = BP_Core_Notification::get_all_for_user( $receiver_user_id, 'all' );
|
25 |
+
|
26 |
+
// Don't leave multiple notifications for the same activity item.
|
27 |
+
foreach( $notifications as $notification ) {
|
28 |
+
if ( $activity_id == $notification->item_id ) {
|
29 |
+
return;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
$activity = new BP_Activity_Activity( $activity_id );
|
34 |
+
$email_type = 'activity-at-message';
|
35 |
+
$group_name = '';
|
36 |
+
$message_link = bp_activity_get_permalink( $activity_id );
|
37 |
+
$poster_name = bp_core_get_user_displayname( $activity->user_id );
|
38 |
+
|
39 |
+
remove_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
40 |
+
remove_filter( 'bp_get_activity_content_body', 'wpautop' );
|
41 |
+
remove_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
42 |
+
|
43 |
+
/** This filter is documented in bp-activity/bp-activity-template.php */
|
44 |
+
$content = apply_filters( 'bp_get_activity_content_body', $activity->content );
|
45 |
+
|
46 |
+
add_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
47 |
+
add_filter( 'bp_get_activity_content_body', 'wpautop' );
|
48 |
+
add_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
49 |
+
|
50 |
+
// Now email the user with the contents of the message (if they have enabled email notifications).
|
51 |
+
if ( 'no' != bp_get_user_meta( $receiver_user_id, 'notification_activity_new_mention', true ) ) {
|
52 |
+
if ( bp_is_active( 'groups' ) && bp_is_group() ) {
|
53 |
+
$email_type = 'groups-at-message';
|
54 |
+
$group_name = bp_get_current_group_name();
|
55 |
+
}
|
56 |
+
|
57 |
+
$args = array(
|
58 |
+
'tokens' => array(
|
59 |
+
'activity' => $activity,
|
60 |
+
'usermessage' => wp_strip_all_tags( $content ),
|
61 |
+
'group.name' => $group_name,
|
62 |
+
'mentioned.url' => $message_link,
|
63 |
+
'poster.name' => $poster_name,
|
64 |
+
'receiver-user.id' => $receiver_user_id,
|
65 |
+
),
|
66 |
+
);
|
67 |
+
|
68 |
+
bp_send_email( $email_type, $receiver_user_id, $args );
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Fires after the sending of an @mention email notification.
|
73 |
+
*
|
74 |
+
* @since 1.5.0
|
75 |
+
* @since 2.5.0 $subject, $message, $content arguments unset and deprecated.
|
76 |
+
*
|
77 |
+
* @param BP_Activity_Activity $activity Activity Item object.
|
78 |
+
* @param string $deprecated Removed in 2.5; now an empty string.
|
79 |
+
* @param string $deprecated Removed in 2.5; now an empty string.
|
80 |
+
* @param string $deprecated Removed in 2.5; now an empty string.
|
81 |
+
* @param int $receiver_user_id The ID of the user who is receiving the update.
|
82 |
+
*/
|
83 |
+
do_action( 'bp_activity_sent_mention_email', $activity, '', '', '', $receiver_user_id );
|
84 |
+
}
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Send email and BP notifications when an activity item receives a comment.
|
88 |
+
*
|
89 |
+
* @since 1.2.0
|
90 |
+
* @since 2.5.0 Updated to use new email APIs.
|
91 |
+
*
|
92 |
+
* @param int $comment_id The comment id.
|
93 |
+
* @param int $commenter_id The ID of the user who posted the comment.
|
94 |
+
* @param array $params {@link bp_activity_new_comment()}.
|
95 |
+
*/
|
96 |
+
function bp_activity_new_comment_notification( $comment_id = 0, $commenter_id = 0, $params = array() ) {
|
97 |
+
$original_activity = new BP_Activity_Activity( $params['activity_id'] );
|
98 |
+
$poster_name = bp_core_get_user_displayname( $commenter_id );
|
99 |
+
$thread_link = bp_activity_get_permalink( $params['activity_id'] );
|
100 |
+
|
101 |
+
remove_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
102 |
+
remove_filter( 'bp_get_activity_content_body', 'wpautop' );
|
103 |
+
remove_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
104 |
+
|
105 |
+
/** This filter is documented in bp-activity/bp-activity-template.php */
|
106 |
+
$content = apply_filters( 'bp_get_activity_content_body', $params['content'] );
|
107 |
+
|
108 |
+
add_filter( 'bp_get_activity_content_body', 'convert_smilies' );
|
109 |
+
add_filter( 'bp_get_activity_content_body', 'wpautop' );
|
110 |
+
add_filter( 'bp_get_activity_content_body', 'bp_activity_truncate_entry', 5 );
|
111 |
+
|
112 |
+
if ( $original_activity->user_id != $commenter_id ) {
|
113 |
+
|
114 |
+
// Send an email if the user hasn't opted-out.
|
115 |
+
if ( 'no' != bp_get_user_meta( $original_activity->user_id, 'notification_activity_new_reply', true ) ) {
|
116 |
+
$args = array(
|
117 |
+
'tokens' => array(
|
118 |
+
'comment.id' => $comment_id,
|
119 |
+
'commenter.id' => $commenter_id,
|
120 |
+
'usermessage' => wp_strip_all_tags( $content ),
|
121 |
+
'original_activity.user_id' => $original_activity->user_id,
|
122 |
+
'poster.name' => $poster_name,
|
123 |
+
'thread.url' => esc_url( $thread_link ),
|
124 |
+
),
|
125 |
+
);
|
126 |
+
|
127 |
+
bp_send_email( 'activity-comment', $original_activity->user_id, $args );
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Fires at the point that notifications should be sent for activity comments.
|
132 |
+
*
|
133 |
+
* @since 2.6.0
|
134 |
+
*
|
135 |
+
* @param BP_Activity_Activity $original_activity The original activity.
|
136 |
+
* @param int $comment_id ID for the newly received comment.
|
137 |
+
* @param int $commenter_id ID of the user who made the comment.
|
138 |
+
* @param array $params Arguments used with the original activity comment.
|
139 |
+
*/
|
140 |
+
do_action( 'bp_activity_sent_reply_to_update_notification', $original_activity, $comment_id, $commenter_id, $params );
|
141 |
+
}
|
142 |
+
|
143 |
+
|
144 |
+
/*
|
145 |
+
* If this is a reply to another comment, send an email notification to the
|
146 |
+
* author of the immediate parent comment.
|
147 |
+
*/
|
148 |
+
if ( empty( $params['parent_id'] ) || ( $params['activity_id'] == $params['parent_id'] ) ) {
|
149 |
+
return;
|
150 |
+
}
|
151 |
+
|
152 |
+
$parent_comment = new BP_Activity_Activity( $params['parent_id'] );
|
153 |
+
|
154 |
+
if ( $parent_comment->user_id != $commenter_id && $original_activity->user_id != $parent_comment->user_id ) {
|
155 |
+
|
156 |
+
// Send an email if the user hasn't opted-out.
|
157 |
+
if ( 'no' != bp_get_user_meta( $parent_comment->user_id, 'notification_activity_new_reply', true ) ) {
|
158 |
+
$args = array(
|
159 |
+
'tokens' => array(
|
160 |
+
'comment.id' => $comment_id,
|
161 |
+
'commenter.id' => $commenter_id,
|
162 |
+
'usermessage' => wp_strip_all_tags( $content ),
|
163 |
+
'parent-comment-user.id' => $parent_comment->user_id,
|
164 |
+
'poster.name' => $poster_name,
|
165 |
+
'thread.url' => esc_url( $thread_link ),
|
166 |
+
),
|
167 |
+
);
|
168 |
+
|
169 |
+
bp_send_email( 'activity-comment-author', $parent_comment->user_id, $args );
|
170 |
+
}
|
171 |
+
|
172 |
+
/**
|
173 |
+
* Fires at the point that notifications should be sent for comments on activity replies.
|
174 |
+
*
|
175 |
+
* @since 2.6.0
|
176 |
+
*
|
177 |
+
* @param BP_Activity_Activity $parent_comment The parent activity.
|
178 |
+
* @param int $comment_id ID for the newly received comment.
|
179 |
+
* @param int $commenter_id ID of the user who made the comment.
|
180 |
+
* @param array $params Arguments used with the original activity comment.
|
181 |
+
*/
|
182 |
+
do_action( 'bp_activity_sent_reply_to_reply_notification', $parent_comment, $comment_id, $commenter_id, $params );
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Helper method to map action arguments to function parameters.
|
188 |
+
*
|
189 |
+
* @since 1.9.0
|
190 |
+
*
|
191 |
+
* @param int $comment_id ID of the comment being notified about.
|
192 |
+
* @param array $params Parameters to use with notification.
|
193 |
+
*/
|
194 |
+
function bp_activity_new_comment_notification_helper( $comment_id, $params ) {
|
195 |
+
bp_activity_new_comment_notification( $comment_id, $params['user_id'], $params );
|
196 |
+
}
|
197 |
+
add_action( 'bp_activity_comment_posted', 'bp_activity_new_comment_notification_helper', 10, 2 );
|
198 |
+
|
199 |
+
/** Notifications *************************************************************/
|
200 |
+
|
201 |
/**
|
202 |
* Format notifications related to activity.
|
203 |
*
|
208 |
* @param int $secondary_item_id In the case of at-mentions, this is the mentioner's ID.
|
209 |
* @param int $total_items The total number of notifications to format.
|
210 |
* @param string $format 'string' to get a BuddyBar-compatible notification, 'array' otherwise.
|
|
|
211 |
* @return string $return Formatted @mention notification.
|
212 |
*/
|
213 |
+
function bp_activity_format_notifications( $action, $item_id, $secondary_item_id, $total_items, $format = 'string' ) {
|
214 |
$action_filter = $action;
|
215 |
$return = false;
|
216 |
$activity_id = $item_id;
|
225 |
$amount = 'single';
|
226 |
|
227 |
if ( (int) $total_items > 1 ) {
|
228 |
+
$text = sprintf( __( 'You have %1$d new mentions', 'buddypress' ), (int) $total_items );
|
229 |
$amount = 'multiple';
|
230 |
} else {
|
231 |
+
$text = sprintf( __( '%1$s mentioned you', 'buddypress' ), $user_fullname );
|
232 |
}
|
233 |
break;
|
234 |
|
242 |
$text = sprintf( __( 'You have %1$d new replies', 'buddypress' ), (int) $total_items );
|
243 |
$amount = 'multiple';
|
244 |
} else {
|
245 |
+
$link = bp_activity_get_permalink( $activity_id );
|
246 |
+
$text = sprintf( __( '%1$s commented on one of your updates', 'buddypress' ), $user_fullname );
|
247 |
}
|
248 |
break;
|
249 |
|
257 |
$text = sprintf( __( 'You have %1$d new comment replies', 'buddypress' ), (int) $total_items );
|
258 |
$amount = 'multiple';
|
259 |
} else {
|
260 |
+
$link = bp_activity_get_permalink( $activity_id );
|
261 |
+
$text = sprintf( __( '%1$s replied to one your activity comments', 'buddypress' ), $user_fullname );
|
262 |
}
|
263 |
break;
|
264 |
}
|
281 |
* @param int $activity_id ID of the activity item being formatted.
|
282 |
* @param int $user_id ID of the user who inited the interaction.
|
283 |
*/
|
284 |
+
$return = apply_filters( 'bp_activity_' . $amount . '_' . $action_filter . '_notification', '<a href="' . esc_url( $link ) . '" title="' . esc_attr( $title ) . '">' . esc_html( $text ) . '</a>', $link, (int) $total_items, $activity_id, $user_id );
|
285 |
} else {
|
286 |
|
287 |
/**
|
338 |
* @param int $receiver_user_id ID of user receiving notification.
|
339 |
*/
|
340 |
function bp_activity_at_mention_add_notification( $activity, $subject, $message, $content, $receiver_user_id ) {
|
341 |
+
if ( bp_is_active( 'notifications' ) ) {
|
342 |
+
bp_notifications_add_notification( array(
|
343 |
'user_id' => $receiver_user_id,
|
344 |
'item_id' => $activity->id,
|
345 |
'secondary_item_id' => $activity->user_id,
|
347 |
'component_action' => 'new_at_mention',
|
348 |
'date_notified' => bp_core_current_time(),
|
349 |
'is_new' => 1,
|
350 |
+
) );
|
351 |
+
}
|
352 |
}
|
353 |
add_action( 'bp_activity_sent_mention_email', 'bp_activity_at_mention_add_notification', 10, 5 );
|
354 |
|
362 |
* @param int $commenter_id ID of the user who made the comment.
|
363 |
*/
|
364 |
function bp_activity_update_reply_add_notification( $activity, $comment_id, $commenter_id ) {
|
365 |
+
if ( bp_is_active( 'notifications' ) ) {
|
366 |
+
bp_notifications_add_notification( array(
|
367 |
+
'user_id' => $activity->user_id,
|
368 |
+
'item_id' => $activity->id,
|
369 |
+
'secondary_item_id' => $commenter_id,
|
370 |
+
'component_name' => buddypress()->activity->id,
|
371 |
+
'component_action' => 'update_reply',
|
372 |
+
'date_notified' => bp_core_current_time(),
|
373 |
+
'is_new' => 1,
|
374 |
+
) );
|
375 |
+
}
|
376 |
}
|
377 |
add_action( 'bp_activity_sent_reply_to_update_notification', 'bp_activity_update_reply_add_notification', 10, 3 );
|
378 |
|
386 |
* @param int $commenter_id ID of the user who made the comment.
|
387 |
*/
|
388 |
function bp_activity_comment_reply_add_notification( $activity_comment, $comment_id, $commenter_id ) {
|
389 |
+
if ( bp_is_active( 'notifications' ) ) {
|
390 |
+
bp_notifications_add_notification( array(
|
391 |
+
'user_id' => $activity_comment->user_id,
|
392 |
+
'item_id' => $activity_comment->item_id,
|
393 |
+
'secondary_item_id' => $commenter_id,
|
394 |
+
'component_name' => buddypress()->activity->id,
|
395 |
+
'component_action' => 'comment_reply',
|
396 |
+
'date_notified' => bp_core_current_time(),
|
397 |
+
'is_new' => 1,
|
398 |
+
) );
|
399 |
+
}
|
400 |
}
|
401 |
add_action( 'bp_activity_sent_reply_to_reply_notification', 'bp_activity_comment_reply_add_notification', 10, 3 );
|
402 |
|
409 |
* @param int $user_id The id of the user whose notifications are marked as read.
|
410 |
*/
|
411 |
function bp_activity_remove_screen_notifications( $user_id = 0 ) {
|
412 |
+
if ( ! bp_is_active( 'notifications' ) ) {
|
413 |
+
return;
|
414 |
+
}
|
415 |
+
|
416 |
// Only mark read if the current user is looking at his own mentions.
|
417 |
if ( empty( $user_id ) || (int) $user_id !== (int) bp_loggedin_user_id() ) {
|
418 |
return;
|
426 |
* Mark at-mention notification as read when user visits the activity with the mention.
|
427 |
*
|
428 |
* @since 2.0.0
|
429 |
+
* @since 2.6.0 Mark notifications for 'update_reply' and 'comment_reply' actions
|
430 |
*
|
431 |
* @param BP_Activity_Activity $activity Activity object.
|
432 |
*/
|
433 |
function bp_activity_remove_screen_notifications_single_activity_permalink( $activity ) {
|
434 |
+
if ( ! bp_is_active( 'notifications' ) ) {
|
435 |
return;
|
436 |
}
|
437 |
|
438 |
+
if ( ! is_user_logged_in() ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
return;
|
440 |
}
|
441 |
|
442 |
+
/**
|
443 |
+
* Filter here to add the notification actions to mark as read
|
444 |
+
* when the single activity is displayed.
|
445 |
+
*
|
446 |
+
* @since 2.6.0
|
447 |
+
*
|
448 |
+
* @param array $value List of notification actions to mark as read.
|
449 |
+
*/
|
450 |
+
$notification_actions = apply_filters( 'bp_activity_notification_actions_single_activity', array(
|
451 |
+
'new_at_mention',
|
452 |
+
'update_reply',
|
453 |
+
'comment_reply',
|
454 |
+
) );
|
455 |
+
|
456 |
+
$user_id = bp_loggedin_user_id();
|
457 |
+
$component = buddypress()->activity->id;
|
458 |
+
|
459 |
+
foreach ( $notification_actions as $action ) {
|
460 |
+
// Mark as read any notifications for the current user related to this activity item.
|
461 |
+
bp_notifications_mark_notifications_by_item_id( $user_id, $activity->id, $component, $action );
|
462 |
+
}
|
463 |
}
|
464 |
+
add_action( 'bp_activity_screen_single_activity_permalink', 'bp_activity_remove_screen_notifications_single_activity_permalink' );
|
465 |
|
466 |
/**
|
467 |
* Delete at-mention notifications when the corresponding activity item is deleted.
|
473 |
function bp_activity_at_mention_delete_notification( $activity_ids_deleted = array() ) {
|
474 |
// Let's delete all without checking if content contains any mentions
|
475 |
// to avoid a query to get the activity.
|
476 |
+
if ( bp_is_active( 'notifications' ) && ! empty( $activity_ids_deleted ) ) {
|
477 |
foreach ( $activity_ids_deleted as $activity_id ) {
|
478 |
bp_notifications_delete_all_notifications_by_type( $activity_id, buddypress()->activity->id );
|
479 |
}
|
480 |
}
|
481 |
}
|
482 |
add_action( 'bp_activity_deleted_activities', 'bp_activity_at_mention_delete_notification', 10 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -14,6 +14,10 @@
|
|
14 |
// Exit if accessed directly.
|
15 |
defined( 'ABSPATH' ) || exit;
|
16 |
|
|
|
|
|
|
|
|
|
17 |
/**
|
18 |
* Load the Activity directory.
|
19 |
*
|
@@ -232,7 +236,7 @@ function bp_activity_screen_single_activity_permalink() {
|
|
232 |
|
233 |
// Check to see if the group is not public, if so, check the
|
234 |
// user has access to see this activity.
|
235 |
-
if ( $group = groups_get_group( $activity->item_id ) ) {
|
236 |
|
237 |
// Group is not public.
|
238 |
if ( 'public' != $group->status ) {
|
@@ -245,11 +249,6 @@ function bp_activity_screen_single_activity_permalink() {
|
|
245 |
}
|
246 |
}
|
247 |
|
248 |
-
// If activity author does not match displayed user, block access.
|
249 |
-
if ( true === $has_access && bp_displayed_user_id() !== $activity->user_id ) {
|
250 |
-
$has_access = false;
|
251 |
-
}
|
252 |
-
|
253 |
/**
|
254 |
* Filters the access permission for a single activity view.
|
255 |
*
|
14 |
// Exit if accessed directly.
|
15 |
defined( 'ABSPATH' ) || exit;
|
16 |
|
17 |
+
if ( ! buddypress()->do_autoload ) {
|
18 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-theme-compat.php';
|
19 |
+
}
|
20 |
+
|
21 |
/**
|
22 |
* Load the Activity directory.
|
23 |
*
|
236 |
|
237 |
// Check to see if the group is not public, if so, check the
|
238 |
// user has access to see this activity.
|
239 |
+
if ( $group = groups_get_group( array( 'group_id' => $activity->item_id ) ) ) {
|
240 |
|
241 |
// Group is not public.
|
242 |
if ( 'public' != $group->status ) {
|
249 |
}
|
250 |
}
|
251 |
|
|
|
|
|
|
|
|
|
|
|
252 |
/**
|
253 |
* Filters the access permission for a single activity view.
|
254 |
*
|
@@ -10,6 +10,10 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Output the activity component slug.
|
15 |
*
|
@@ -1173,7 +1177,11 @@ function bp_activity_secondary_avatar( $args = '' ) {
|
|
1173 |
|
1174 |
// Only if groups is active.
|
1175 |
if ( bp_is_active( 'groups' ) ) {
|
1176 |
-
$group = groups_get_group(
|
|
|
|
|
|
|
|
|
1177 |
$link = bp_get_group_permalink( $group );
|
1178 |
$name = $group->name;
|
1179 |
}
|
@@ -1386,8 +1394,7 @@ function bp_activity_content_body() {
|
|
1386 |
*
|
1387 |
* @since 1.2.0
|
1388 |
*
|
1389 |
-
* @param
|
1390 |
-
* @param object $activity Activity object. Passed by reference.
|
1391 |
*/
|
1392 |
return apply_filters_ref_array( 'bp_get_activity_content_body', array( $activities_template->activity->content, &$activities_template->activity ) );
|
1393 |
}
|
@@ -1469,13 +1476,6 @@ function bp_insert_activity_meta( $content = '' ) {
|
|
1469 |
// Get the time since this activity was recorded.
|
1470 |
$date_recorded = bp_core_time_since( $activities_template->activity->date_recorded );
|
1471 |
|
1472 |
-
// Set up 'time-since' <span>.
|
1473 |
-
$time_since = sprintf(
|
1474 |
-
'<span class="time-since" data-livestamp="%1$s">%2$s</span>',
|
1475 |
-
bp_core_get_iso8601_date( $activities_template->activity->date_recorded ),
|
1476 |
-
$date_recorded
|
1477 |
-
);
|
1478 |
-
|
1479 |
/**
|
1480 |
* Filters the activity item time since markup.
|
1481 |
*
|
@@ -1484,7 +1484,7 @@ function bp_insert_activity_meta( $content = '' ) {
|
|
1484 |
* @param array $value Array containing the time since markup and the current activity component.
|
1485 |
*/
|
1486 |
$time_since = apply_filters_ref_array( 'bp_activity_time_since', array(
|
1487 |
-
$
|
1488 |
&$activities_template->activity
|
1489 |
) );
|
1490 |
|
@@ -1493,7 +1493,7 @@ function bp_insert_activity_meta( $content = '' ) {
|
|
1493 |
|
1494 |
// Setup variables for activity meta.
|
1495 |
$activity_permalink = bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity );
|
1496 |
-
$activity_meta = sprintf( '%1$s <a href="%2$s" class="view activity-time-since
|
1497 |
$new_content,
|
1498 |
$activity_permalink,
|
1499 |
esc_attr__( 'View Discussion', 'buddypress' ),
|
@@ -1533,7 +1533,7 @@ function bp_insert_activity_meta( $content = '' ) {
|
|
1533 |
*
|
1534 |
* @global object $activities_template {@link BP_Activity_Template}
|
1535 |
*
|
1536 |
-
* @param
|
1537 |
* @return bool True if can delete, false otherwise.
|
1538 |
*/
|
1539 |
function bp_activity_user_can_delete( $activity = false ) {
|
@@ -2090,7 +2090,7 @@ function bp_activity_comment_delete_link() {
|
|
2090 |
* activity comment.
|
2091 |
*/
|
2092 |
function bp_get_activity_comment_delete_link() {
|
2093 |
-
$link = wp_nonce_url(
|
2094 |
|
2095 |
/**
|
2096 |
* Filters the link used for deleting the activity comment currently being displayed.
|
@@ -2227,61 +2227,19 @@ function bp_activity_comment_count() {
|
|
2227 |
* Output the depth of the current activity comment.
|
2228 |
*
|
2229 |
* @since 2.0.0
|
2230 |
-
* @since 2.8.0 Added $comment as a parameter.
|
2231 |
-
*
|
2232 |
-
* @param object|int $comment Object of the activity comment or activity comment ID. Usually unnecessary
|
2233 |
-
* when used in activity comment loop.
|
2234 |
*/
|
2235 |
-
function bp_activity_comment_depth(
|
2236 |
-
echo bp_activity_get_comment_depth(
|
2237 |
}
|
2238 |
-
|
2239 |
/**
|
2240 |
* Return the current activity comment depth.
|
2241 |
*
|
2242 |
* @since 2.0.0
|
2243 |
-
* @since 2.8.0 Added $comment as a parameter.
|
2244 |
*
|
2245 |
-
* @
|
2246 |
-
* when used in activity comment loop.
|
2247 |
-
* @return int
|
2248 |
*/
|
2249 |
-
function bp_activity_get_comment_depth(
|
2250 |
-
$
|
2251 |
-
|
2252 |
-
// Activity comment loop takes precedence.
|
2253 |
-
if ( isset( $GLOBALS['activities_template']->activity->current_comment->depth ) ) {
|
2254 |
-
$depth = $GLOBALS['activities_template']->activity->current_comment->depth;
|
2255 |
-
|
2256 |
-
// Get depth for activity comment manually.
|
2257 |
-
} elseif ( ! empty( $comment ) ) {
|
2258 |
-
// We passed an activity ID, so fetch the activity object.
|
2259 |
-
if ( is_int( $comment ) ) {
|
2260 |
-
$comment = new BP_Activity_Activity( $comment );
|
2261 |
-
}
|
2262 |
-
|
2263 |
-
// Recurse through activity tree to find the depth.
|
2264 |
-
if ( is_object( $comment ) && isset( $comment->type ) && 'activity_comment' === $comment->type ) {
|
2265 |
-
// Fetch the entire root comment tree... ugh.
|
2266 |
-
$comments = BP_Activity_Activity::get_activity_comments( $comment->item_id, 1, constant( 'PHP_INT_MAX' ) );
|
2267 |
-
|
2268 |
-
// Recursively find our comment object from the comment tree.
|
2269 |
-
$iterator = new RecursiveArrayIterator( $comments );
|
2270 |
-
$recursive = new RecursiveIteratorIterator( $iterator, RecursiveIteratorIterator::SELF_FIRST );
|
2271 |
-
foreach ( $recursive as $cid => $cobj ) {
|
2272 |
-
// Skip items that are not a comment object.
|
2273 |
-
if ( ! is_numeric( $cid ) || ! is_object( $cobj ) ) {
|
2274 |
-
continue;
|
2275 |
-
}
|
2276 |
-
|
2277 |
-
// We found the activity comment! Set the depth.
|
2278 |
-
if ( $cid === $comment->id && isset( $cobj->depth ) ) {
|
2279 |
-
$depth = $cobj->depth;
|
2280 |
-
break;
|
2281 |
-
}
|
2282 |
-
}
|
2283 |
-
}
|
2284 |
-
}
|
2285 |
|
2286 |
/**
|
2287 |
* Filters the comment depth of the current activity comment.
|
@@ -2290,7 +2248,7 @@ function bp_activity_comment_depth( $comment = 0 ) {
|
|
2290 |
*
|
2291 |
* @param int $depth Depth for the current activity comment.
|
2292 |
*/
|
2293 |
-
return apply_filters( 'bp_activity_get_comment_depth', $depth );
|
2294 |
}
|
2295 |
|
2296 |
/**
|
@@ -2342,8 +2300,8 @@ function bp_activity_comment_form_nojs_display() {
|
|
2342 |
*
|
2343 |
* @global object $activities_template {@link BP_Activity_Template}
|
2344 |
*
|
2345 |
-
* @return string|
|
2346 |
-
*
|
2347 |
*/
|
2348 |
function bp_get_activity_comment_form_nojs_display() {
|
2349 |
global $activities_template;
|
@@ -2462,18 +2420,25 @@ function bp_activity_comment_permalink() {
|
|
2462 |
*
|
2463 |
* @since 1.8.0
|
2464 |
*
|
|
|
2465 |
* @return string $link The activity comment permalink.
|
2466 |
*/
|
2467 |
function bp_get_activity_comment_permalink() {
|
2468 |
global $activities_template;
|
2469 |
|
2470 |
-
|
2471 |
-
|
2472 |
-
// Used for filter below.
|
2473 |
$comment_id = isset( $activities_template->activity->current_comment->id )
|
2474 |
? $activities_template->activity->current_comment->id
|
2475 |
: 0;
|
2476 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2477 |
/**
|
2478 |
* Filters the activity comment permalink.
|
2479 |
*
|
@@ -2736,7 +2701,7 @@ function bp_activity_latest_update( $user_id = 0 ) {
|
|
2736 |
* @param string $value The excerpt for the latest update.
|
2737 |
* @param int $user_id ID of the queried user.
|
2738 |
*/
|
2739 |
-
$latest_update = apply_filters( 'bp_get_activity_latest_update_excerpt', trim( strip_tags( bp_create_excerpt( $update['content'],
|
2740 |
|
2741 |
$latest_update = sprintf(
|
2742 |
'%s <a href="%s">%s</a>',
|
@@ -2926,7 +2891,7 @@ function bp_activity_can_comment_reply( $comment = false ) {
|
|
2926 |
// Fall back on current comment in activity loop.
|
2927 |
$comment_depth = isset( $comment->depth )
|
2928 |
? intval( $comment->depth )
|
2929 |
-
: bp_activity_get_comment_depth(
|
2930 |
|
2931 |
// Threading is turned on, so check the depth.
|
2932 |
if ( get_option( 'thread_comments' ) ) {
|
@@ -3204,6 +3169,8 @@ function bp_send_public_message_button( $args = '' ) {
|
|
3204 |
* @type string $wrapper_id Default: 'post-mention'.
|
3205 |
* @type string $link_href Default: the public message link for
|
3206 |
* the current member in the loop.
|
|
|
|
|
3207 |
* @type string $link_text Default: 'Public Message'.
|
3208 |
* @type string $link_class Default: 'activity-button mention'.
|
3209 |
* }
|
@@ -3218,6 +3185,7 @@ function bp_send_public_message_button( $args = '' ) {
|
|
3218 |
'block_self' => true,
|
3219 |
'wrapper_id' => 'post-mention',
|
3220 |
'link_href' => bp_get_send_public_message_link(),
|
|
|
3221 |
'link_text' => __( 'Public Message', 'buddypress' ),
|
3222 |
'link_class' => 'activity-button mention'
|
3223 |
) );
|
@@ -3838,15 +3806,45 @@ function bp_activity_show_filters( $context = '' ) {
|
|
3838 |
* @return string HTML for <option> values.
|
3839 |
*/
|
3840 |
function bp_get_activity_show_filters( $context = '' ) {
|
3841 |
-
|
3842 |
-
|
3843 |
-
|
3844 |
-
//
|
3845 |
-
|
3846 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3847 |
}
|
|
|
|
|
|
|
3848 |
|
3849 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3850 |
}
|
3851 |
|
3852 |
/**
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-activity-template.php';
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Output the activity component slug.
|
19 |
*
|
1177 |
|
1178 |
// Only if groups is active.
|
1179 |
if ( bp_is_active( 'groups' ) ) {
|
1180 |
+
$group = groups_get_group( array(
|
1181 |
+
'group_id' => $item_id,
|
1182 |
+
'populate_extras' => false,
|
1183 |
+
'update_meta_cache' => false,
|
1184 |
+
) );
|
1185 |
$link = bp_get_group_permalink( $group );
|
1186 |
$name = $group->name;
|
1187 |
}
|
1394 |
*
|
1395 |
* @since 1.2.0
|
1396 |
*
|
1397 |
+
* @param array $value Array containing the current activity content body and the current activity.
|
|
|
1398 |
*/
|
1399 |
return apply_filters_ref_array( 'bp_get_activity_content_body', array( $activities_template->activity->content, &$activities_template->activity ) );
|
1400 |
}
|
1476 |
// Get the time since this activity was recorded.
|
1477 |
$date_recorded = bp_core_time_since( $activities_template->activity->date_recorded );
|
1478 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1479 |
/**
|
1480 |
* Filters the activity item time since markup.
|
1481 |
*
|
1484 |
* @param array $value Array containing the time since markup and the current activity component.
|
1485 |
*/
|
1486 |
$time_since = apply_filters_ref_array( 'bp_activity_time_since', array(
|
1487 |
+
'<span class="time-since">' . $date_recorded . '</span>',
|
1488 |
&$activities_template->activity
|
1489 |
) );
|
1490 |
|
1493 |
|
1494 |
// Setup variables for activity meta.
|
1495 |
$activity_permalink = bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity );
|
1496 |
+
$activity_meta = sprintf( '%1$s <a href="%2$s" class="view activity-time-since" title="%3$s">%4$s</a>',
|
1497 |
$new_content,
|
1498 |
$activity_permalink,
|
1499 |
esc_attr__( 'View Discussion', 'buddypress' ),
|
1533 |
*
|
1534 |
* @global object $activities_template {@link BP_Activity_Template}
|
1535 |
*
|
1536 |
+
* @param object|bool $activity Optional. Falls back on the current item in the loop.
|
1537 |
* @return bool True if can delete, false otherwise.
|
1538 |
*/
|
1539 |
function bp_activity_user_can_delete( $activity = false ) {
|
2090 |
* activity comment.
|
2091 |
*/
|
2092 |
function bp_get_activity_comment_delete_link() {
|
2093 |
+
$link = wp_nonce_url( bp_get_root_domain() . '/' . bp_get_activity_slug() . '/delete/' . bp_get_activity_comment_id() . '?cid=' . bp_get_activity_comment_id(), 'bp_activity_delete_link' );
|
2094 |
|
2095 |
/**
|
2096 |
* Filters the link used for deleting the activity comment currently being displayed.
|
2227 |
* Output the depth of the current activity comment.
|
2228 |
*
|
2229 |
* @since 2.0.0
|
|
|
|
|
|
|
|
|
2230 |
*/
|
2231 |
+
function bp_activity_comment_depth() {
|
2232 |
+
echo bp_activity_get_comment_depth();
|
2233 |
}
|
|
|
2234 |
/**
|
2235 |
* Return the current activity comment depth.
|
2236 |
*
|
2237 |
* @since 2.0.0
|
|
|
2238 |
*
|
2239 |
+
* @return int $depth Depth for the current activity comment.
|
|
|
|
|
2240 |
*/
|
2241 |
+
function bp_activity_get_comment_depth() {
|
2242 |
+
global $activities_template;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2243 |
|
2244 |
/**
|
2245 |
* Filters the comment depth of the current activity comment.
|
2248 |
*
|
2249 |
* @param int $depth Depth for the current activity comment.
|
2250 |
*/
|
2251 |
+
return apply_filters( 'bp_activity_get_comment_depth', $activities_template->activity->current_comment->depth );
|
2252 |
}
|
2253 |
|
2254 |
/**
|
2300 |
*
|
2301 |
* @global object $activities_template {@link BP_Activity_Template}
|
2302 |
*
|
2303 |
+
* @return string|bool The activity comment form no JavaScript
|
2304 |
+
* display CSS. False on failure.
|
2305 |
*/
|
2306 |
function bp_get_activity_comment_form_nojs_display() {
|
2307 |
global $activities_template;
|
2420 |
*
|
2421 |
* @since 1.8.0
|
2422 |
*
|
2423 |
+
*
|
2424 |
* @return string $link The activity comment permalink.
|
2425 |
*/
|
2426 |
function bp_get_activity_comment_permalink() {
|
2427 |
global $activities_template;
|
2428 |
|
2429 |
+
// Check that comment exists.
|
|
|
|
|
2430 |
$comment_id = isset( $activities_template->activity->current_comment->id )
|
2431 |
? $activities_template->activity->current_comment->id
|
2432 |
: 0;
|
2433 |
|
2434 |
+
// Setup the comment link.
|
2435 |
+
$comment_link = ! empty( $comment_id )
|
2436 |
+
? '#acomment-' .$comment_id
|
2437 |
+
: false;
|
2438 |
+
|
2439 |
+
// Append comment ID to end of activity permalink.
|
2440 |
+
$link = bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity ) . $comment_link;
|
2441 |
+
|
2442 |
/**
|
2443 |
* Filters the activity comment permalink.
|
2444 |
*
|
2701 |
* @param string $value The excerpt for the latest update.
|
2702 |
* @param int $user_id ID of the queried user.
|
2703 |
*/
|
2704 |
+
$latest_update = apply_filters( 'bp_get_activity_latest_update_excerpt', trim( strip_tags( bp_create_excerpt( $update['content'], 358 ) ) ), $user_id );
|
2705 |
|
2706 |
$latest_update = sprintf(
|
2707 |
'%s <a href="%s">%s</a>',
|
2891 |
// Fall back on current comment in activity loop.
|
2892 |
$comment_depth = isset( $comment->depth )
|
2893 |
? intval( $comment->depth )
|
2894 |
+
: bp_activity_get_comment_depth();
|
2895 |
|
2896 |
// Threading is turned on, so check the depth.
|
2897 |
if ( get_option( 'thread_comments' ) ) {
|
3169 |
* @type string $wrapper_id Default: 'post-mention'.
|
3170 |
* @type string $link_href Default: the public message link for
|
3171 |
* the current member in the loop.
|
3172 |
+
* @type string $link_title Default: 'Send a public message on your
|
3173 |
+
* activity stream.'.
|
3174 |
* @type string $link_text Default: 'Public Message'.
|
3175 |
* @type string $link_class Default: 'activity-button mention'.
|
3176 |
* }
|
3185 |
'block_self' => true,
|
3186 |
'wrapper_id' => 'post-mention',
|
3187 |
'link_href' => bp_get_send_public_message_link(),
|
3188 |
+
'link_title' => __( 'Send a public message on your activity stream.', 'buddypress' ),
|
3189 |
'link_text' => __( 'Public Message', 'buddypress' ),
|
3190 |
'link_class' => 'activity-button mention'
|
3191 |
) );
|
3806 |
* @return string HTML for <option> values.
|
3807 |
*/
|
3808 |
function bp_get_activity_show_filters( $context = '' ) {
|
3809 |
+
// Set default context based on current page.
|
3810 |
+
if ( empty( $context ) ) {
|
3811 |
+
|
3812 |
+
// On member pages, default to 'member', unless this
|
3813 |
+
// is a user's Groups activity.
|
3814 |
+
if ( bp_is_user() ) {
|
3815 |
+
if ( bp_is_active( 'groups' ) && bp_is_current_action( bp_get_groups_slug() ) ) {
|
3816 |
+
$context = 'member_groups';
|
3817 |
+
} else {
|
3818 |
+
$context = 'member';
|
3819 |
+
}
|
3820 |
+
|
3821 |
+
// On individual group pages, default to 'group'.
|
3822 |
+
} elseif ( bp_is_active( 'groups' ) && bp_is_group() ) {
|
3823 |
+
$context = 'group';
|
3824 |
+
|
3825 |
+
// 'activity' everywhere else.
|
3826 |
+
} else {
|
3827 |
+
$context = 'activity';
|
3828 |
}
|
3829 |
+
}
|
3830 |
+
|
3831 |
+
$filters = array();
|
3832 |
|
3833 |
+
// Walk through the registered actions, and prepare an the
|
3834 |
+
// select box options.
|
3835 |
+
foreach ( bp_activity_get_actions() as $actions ) {
|
3836 |
+
foreach ( $actions as $action ) {
|
3837 |
+
if ( ! in_array( $context, (array) $action['context'] ) ) {
|
3838 |
+
continue;
|
3839 |
+
}
|
3840 |
+
|
3841 |
+
// Friends activity collapses two filters into one.
|
3842 |
+
if ( in_array( $action['key'], array( 'friendship_accepted', 'friendship_created' ) ) ) {
|
3843 |
+
$action['key'] = 'friendship_accepted,friendship_created';
|
3844 |
+
}
|
3845 |
+
|
3846 |
+
$filters[ $action['key'] ] = $action['label'];
|
3847 |
+
}
|
3848 |
}
|
3849 |
|
3850 |
/**
|
@@ -185,25 +185,22 @@ class BP_Activity_Activity {
|
|
185 |
wp_cache_set( $this->id, $row, 'bp_activity' );
|
186 |
}
|
187 |
|
188 |
-
if ( empty( $row ) ) {
|
189 |
-
$this->id
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
$this->mptt_left = (int) $row->mptt_left;
|
205 |
-
$this->mptt_right = (int) $row->mptt_right;
|
206 |
-
$this->is_spam = (int) $row->is_spam;
|
207 |
|
208 |
// Generate dynamic 'action' when possible.
|
209 |
$action = bp_activity_generate_action_string( $this );
|
@@ -226,7 +223,7 @@ class BP_Activity_Activity {
|
|
226 |
*
|
227 |
* @since 1.0.0
|
228 |
*
|
229 |
-
* @return
|
230 |
*/
|
231 |
public function save() {
|
232 |
global $wpdb;
|
@@ -320,7 +317,6 @@ class BP_Activity_Activity {
|
|
320 |
*
|
321 |
* @since 1.2.0
|
322 |
* @since 2.4.0 Introduced the `$fields` parameter.
|
323 |
-
* @since 2.9.0 Introduced the `$order_by` parameter.
|
324 |
*
|
325 |
* @see BP_Activity_Activity::get_filter_sql() for a description of the
|
326 |
* 'filter' parameter.
|
@@ -336,7 +332,6 @@ class BP_Activity_Activity {
|
|
336 |
* @type string $fields Activity fields to return. Pass 'ids' to get only the activity IDs.
|
337 |
* 'all' returns full activity objects.
|
338 |
* @type string $sort ASC or DESC. Default: 'DESC'.
|
339 |
-
* @type string $order_by Column to order results by.
|
340 |
* @type array $exclude Array of activity IDs to exclude. Default: false.
|
341 |
* @type array $in Array of ids to limit query by (IN). Default: false.
|
342 |
* @type array $meta_query Array of meta_query conditions. See WP_Meta_Query::queries.
|
@@ -378,30 +373,30 @@ class BP_Activity_Activity {
|
|
378 |
10 => 'spam'
|
379 |
);
|
380 |
|
381 |
-
$
|
|
|
382 |
}
|
383 |
|
384 |
$bp = buddypress();
|
385 |
$r = wp_parse_args( $args, array(
|
386 |
-
'page' => 1,
|
387 |
-
'per_page' => 25,
|
388 |
-
'max' => false,
|
389 |
-
'fields' => 'all',
|
390 |
-
'sort' => 'DESC',
|
391 |
-
'
|
392 |
-
'
|
393 |
-
'
|
394 |
-
'
|
395 |
-
'
|
396 |
-
'
|
397 |
-
'
|
398 |
-
'
|
399 |
-
'
|
400 |
-
'
|
401 |
-
'
|
402 |
-
'
|
403 |
-
'
|
404 |
-
'count_total' => false, // Whether or not to use count_total.
|
405 |
) );
|
406 |
|
407 |
// Select conditions.
|
@@ -428,7 +423,7 @@ class BP_Activity_Activity {
|
|
428 |
|
429 |
// Override some arguments if needed.
|
430 |
if ( ! empty( $scope_query['override'] ) ) {
|
431 |
-
$r = array_replace_recursive( $r, $scope_query['override'] );
|
432 |
}
|
433 |
|
434 |
// Advanced filtering.
|
@@ -464,29 +459,6 @@ class BP_Activity_Activity {
|
|
464 |
$sort = 'DESC';
|
465 |
}
|
466 |
|
467 |
-
switch( $r['order_by'] ) {
|
468 |
-
case 'id' :
|
469 |
-
case 'user_id' :
|
470 |
-
case 'component' :
|
471 |
-
case 'type' :
|
472 |
-
case 'action' :
|
473 |
-
case 'content' :
|
474 |
-
case 'primary_link' :
|
475 |
-
case 'item_id' :
|
476 |
-
case 'secondary_item_id' :
|
477 |
-
case 'date_recorded' :
|
478 |
-
case 'hide_sitewide' :
|
479 |
-
case 'mptt_left' :
|
480 |
-
case 'mptt_right' :
|
481 |
-
case 'is_spam' :
|
482 |
-
break;
|
483 |
-
|
484 |
-
default :
|
485 |
-
$r['order_by'] = 'date_recorded';
|
486 |
-
break;
|
487 |
-
}
|
488 |
-
$order_by = 'a.' . $r['order_by'];
|
489 |
-
|
490 |
// Hide Hidden Items?
|
491 |
if ( ! $r['show_hidden'] ) {
|
492 |
$where_conditions['hidden_sql'] = "a.hide_sitewide = 0";
|
@@ -570,6 +542,28 @@ class BP_Activity_Activity {
|
|
570 |
*/
|
571 |
$join_sql = apply_filters( 'bp_activity_get_join_sql', $join_sql, $r, $select_sql, $from_sql, $where_sql );
|
572 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
573 |
// Sanitize page and per_page parameters.
|
574 |
$page = absint( $r['page'] );
|
575 |
$per_page = absint( $r['per_page'] );
|
@@ -619,21 +613,9 @@ class BP_Activity_Activity {
|
|
619 |
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
|
620 |
}
|
621 |
|
622 |
-
// Integer casting for legacy activity query.
|
623 |
-
foreach ( (array) $activities as $i => $ac ) {
|
624 |
-
$activities[ $i ]->id = (int) $ac->id;
|
625 |
-
$activities[ $i ]->item_id = (int) $ac->item_id;
|
626 |
-
$activities[ $i ]->secondary_item_id = (int) $ac->secondary_item_id;
|
627 |
-
$activities[ $i ]->user_id = (int) $ac->user_id;
|
628 |
-
$activities[ $i ]->hide_sitewide = (int) $ac->hide_sitewide;
|
629 |
-
$activities[ $i ]->mptt_left = (int) $ac->mptt_left;
|
630 |
-
$activities[ $i ]->mptt_right = (int) $ac->mptt_right;
|
631 |
-
$activities[ $i ]->is_spam = (int) $ac->is_spam;
|
632 |
-
}
|
633 |
-
|
634 |
} else {
|
635 |
// Query first for activity IDs.
|
636 |
-
$activity_ids_sql = "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY
|
637 |
|
638 |
if ( ! empty( $per_page ) && ! empty( $page ) ) {
|
639 |
// We query for $per_page + 1 items in order to
|
@@ -651,23 +633,7 @@ class BP_Activity_Activity {
|
|
651 |
*/
|
652 |
$activity_ids_sql = apply_filters( 'bp_activity_paged_activities_sql', $activity_ids_sql, $r );
|
653 |
|
654 |
-
|
655 |
-
* Queries that include 'last_activity' are cached separately,
|
656 |
-
* since they are generally much less long-lived.
|
657 |
-
*/
|
658 |
-
if ( preg_match( '/a\.type NOT IN \([^\)]*\'last_activity\'[^\)]*\)/', $activity_ids_sql ) ) {
|
659 |
-
$cache_group = 'bp_activity';
|
660 |
-
} else {
|
661 |
-
$cache_group = 'bp_activity_with_last_activity';
|
662 |
-
}
|
663 |
-
|
664 |
-
$cached = bp_core_get_incremented_cache( $activity_ids_sql, $cache_group );
|
665 |
-
if ( false === $cached ) {
|
666 |
-
$activity_ids = $wpdb->get_col( $activity_ids_sql );
|
667 |
-
bp_core_set_incremented_cache( $activity_ids_sql, $cache_group, $activity_ids );
|
668 |
-
} else {
|
669 |
-
$activity_ids = $cached;
|
670 |
-
}
|
671 |
|
672 |
$retval['has_more_items'] = ! empty( $per_page ) && count( $activity_ids ) > $per_page;
|
673 |
|
@@ -724,13 +690,7 @@ class BP_Activity_Activity {
|
|
724 |
* @param string $sort Sort direction for query.
|
725 |
*/
|
726 |
$total_activities_sql = apply_filters( 'bp_activity_total_activities_sql', "SELECT count(DISTINCT a.id) FROM {$bp->activity->table_name} a {$join_sql} {$where_sql}", $where_sql, $sort );
|
727 |
-
$
|
728 |
-
if ( false === $cached ) {
|
729 |
-
$total_activities = $wpdb->get_var( $total_activities_sql );
|
730 |
-
bp_core_set_incremented_cache( $total_activities_sql, $cache_group, $total_activities );
|
731 |
-
} else {
|
732 |
-
$total_activities = $cached;
|
733 |
-
}
|
734 |
|
735 |
if ( !empty( $r['max'] ) ) {
|
736 |
if ( (int) $total_activities > (int) $r['max'] ) {
|
@@ -987,7 +947,7 @@ class BP_Activity_Activity {
|
|
987 |
* @param mixed $scope The activity scope. Accepts string or array of scopes.
|
988 |
* @param array $r Current activity arguments. Same as those of BP_Activity_Activity::get(),
|
989 |
* but merged with defaults.
|
990 |
-
* @return
|
991 |
*/
|
992 |
public static function get_scope_query_sql( $scope = false, $r = array() ) {
|
993 |
|
@@ -1116,7 +1076,7 @@ class BP_Activity_Activity {
|
|
1116 |
* @param string $action Action to filter by.
|
1117 |
* @param string $content Content to filter by.
|
1118 |
* @param string $date_recorded Date to filter by.
|
1119 |
-
* @return int|
|
1120 |
*/
|
1121 |
public static function get_id( $user_id, $component, $type, $item_id, $secondary_item_id, $action, $content, $date_recorded ) {
|
1122 |
global $wpdb;
|
@@ -1477,6 +1437,7 @@ class BP_Activity_Activity {
|
|
1477 |
}
|
1478 |
|
1479 |
// Legacy query - not recommended.
|
|
|
1480 |
|
1481 |
/**
|
1482 |
* Filters if BuddyPress should use the legacy activity query.
|
@@ -1487,7 +1448,7 @@ class BP_Activity_Activity {
|
|
1487 |
* @param BP_Activity_Activity $value Magic method referring to currently called method.
|
1488 |
* @param array $func_args Array of the method's argument list.
|
1489 |
*/
|
1490 |
-
if ( apply_filters( 'bp_use_legacy_activity_query', false, __METHOD__,
|
1491 |
|
1492 |
/**
|
1493 |
* Filters the MySQL prepared statement for the legacy activity query.
|
@@ -1697,7 +1658,7 @@ class BP_Activity_Activity {
|
|
1697 |
*
|
1698 |
* @param string $field The database field.
|
1699 |
* @param array|bool $items The values for the IN clause, or false when none are found.
|
1700 |
-
* @return string|
|
1701 |
*/
|
1702 |
public static function get_in_operator_sql( $field, $items ) {
|
1703 |
global $wpdb;
|
@@ -1832,7 +1793,7 @@ class BP_Activity_Activity {
|
|
1832 |
// Get activities from user meta.
|
1833 |
$favorite_activity_entries = bp_get_user_meta( $user_id, 'bp_favorite_activities', true );
|
1834 |
if ( ! empty( $favorite_activity_entries ) ) {
|
1835 |
-
return count( $favorite_activity_entries );
|
1836 |
}
|
1837 |
|
1838 |
// No favorites.
|
@@ -1845,7 +1806,7 @@ class BP_Activity_Activity {
|
|
1845 |
* @since 1.1.0
|
1846 |
*
|
1847 |
* @param string $content The content to filter by.
|
1848 |
-
* @return int|
|
1849 |
*/
|
1850 |
public static function check_exists_by_content( $content ) {
|
1851 |
global $wpdb;
|
@@ -1872,4 +1833,57 @@ class BP_Activity_Activity {
|
|
1872 |
|
1873 |
return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) );
|
1874 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1875 |
}
|
185 |
wp_cache_set( $this->id, $row, 'bp_activity' );
|
186 |
}
|
187 |
|
188 |
+
if ( ! empty( $row ) ) {
|
189 |
+
$this->id = (int) $row->id;
|
190 |
+
$this->item_id = (int) $row->item_id;
|
191 |
+
$this->secondary_item_id = (int) $row->secondary_item_id;
|
192 |
+
$this->user_id = (int) $row->user_id;
|
193 |
+
$this->primary_link = $row->primary_link;
|
194 |
+
$this->component = $row->component;
|
195 |
+
$this->type = $row->type;
|
196 |
+
$this->action = $row->action;
|
197 |
+
$this->content = $row->content;
|
198 |
+
$this->date_recorded = $row->date_recorded;
|
199 |
+
$this->hide_sitewide = (int) $row->hide_sitewide;
|
200 |
+
$this->mptt_left = (int) $row->mptt_left;
|
201 |
+
$this->mptt_right = (int) $row->mptt_right;
|
202 |
+
$this->is_spam = (int) $row->is_spam;
|
203 |
+
}
|
|
|
|
|
|
|
204 |
|
205 |
// Generate dynamic 'action' when possible.
|
206 |
$action = bp_activity_generate_action_string( $this );
|
223 |
*
|
224 |
* @since 1.0.0
|
225 |
*
|
226 |
+
* @return bool True on success.
|
227 |
*/
|
228 |
public function save() {
|
229 |
global $wpdb;
|
317 |
*
|
318 |
* @since 1.2.0
|
319 |
* @since 2.4.0 Introduced the `$fields` parameter.
|
|
|
320 |
*
|
321 |
* @see BP_Activity_Activity::get_filter_sql() for a description of the
|
322 |
* 'filter' parameter.
|
332 |
* @type string $fields Activity fields to return. Pass 'ids' to get only the activity IDs.
|
333 |
* 'all' returns full activity objects.
|
334 |
* @type string $sort ASC or DESC. Default: 'DESC'.
|
|
|
335 |
* @type array $exclude Array of activity IDs to exclude. Default: false.
|
336 |
* @type array $in Array of ids to limit query by (IN). Default: false.
|
337 |
* @type array $meta_query Array of meta_query conditions. See WP_Meta_Query::queries.
|
373 |
10 => 'spam'
|
374 |
);
|
375 |
|
376 |
+
$func_args = func_get_args();
|
377 |
+
$args = bp_core_parse_args_array( $old_args_keys, $func_args );
|
378 |
}
|
379 |
|
380 |
$bp = buddypress();
|
381 |
$r = wp_parse_args( $args, array(
|
382 |
+
'page' => 1, // The current page.
|
383 |
+
'per_page' => 25, // Activity items per page.
|
384 |
+
'max' => false, // Max number of items to return.
|
385 |
+
'fields' => 'all', // Fields to include.
|
386 |
+
'sort' => 'DESC', // ASC or DESC.
|
387 |
+
'exclude' => false, // Array of ids to exclude.
|
388 |
+
'in' => false, // Array of ids to limit query by (IN).
|
389 |
+
'meta_query' => false, // Filter by activitymeta.
|
390 |
+
'date_query' => false, // Filter by date.
|
391 |
+
'filter_query' => false, // Advanced filtering - see BP_Activity_Query.
|
392 |
+
'filter' => false, // See self::get_filter_sql().
|
393 |
+
'scope' => false, // Preset activity arguments.
|
394 |
+
'search_terms' => false, // Terms to search by.
|
395 |
+
'display_comments' => false, // Whether to include activity comments.
|
396 |
+
'show_hidden' => false, // Show items marked hide_sitewide.
|
397 |
+
'spam' => 'ham_only', // Spam status.
|
398 |
+
'update_meta_cache' => true, // Whether or not to update meta cache.
|
399 |
+
'count_total' => false, // Whether or not to use count_total.
|
|
|
400 |
) );
|
401 |
|
402 |
// Select conditions.
|
423 |
|
424 |
// Override some arguments if needed.
|
425 |
if ( ! empty( $scope_query['override'] ) ) {
|
426 |
+
$r = self::array_replace_recursive( $r, $scope_query['override'] );
|
427 |
}
|
428 |
|
429 |
// Advanced filtering.
|
459 |
$sort = 'DESC';
|
460 |
}
|
461 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
462 |
// Hide Hidden Items?
|
463 |
if ( ! $r['show_hidden'] ) {
|
464 |
$where_conditions['hidden_sql'] = "a.hide_sitewide = 0";
|
542 |
*/
|
543 |
$join_sql = apply_filters( 'bp_activity_get_join_sql', $join_sql, $r, $select_sql, $from_sql, $where_sql );
|
544 |
|
545 |
+
/**
|
546 |
+
* Filters the preferred order of indexes for activity item.
|
547 |
+
*
|
548 |
+
* @since 1.6.0
|
549 |
+
*
|
550 |
+
* @param array $value Array of indexes in preferred order.
|
551 |
+
*/
|
552 |
+
$indexes = apply_filters( 'bp_activity_preferred_index_order', array( 'user_id', 'item_id', 'secondary_item_id', 'date_recorded', 'component', 'type', 'hide_sitewide', 'is_spam' ) );
|
553 |
+
|
554 |
+
foreach( $indexes as $key => $index ) {
|
555 |
+
if ( false !== strpos( $where_sql, $index ) ) {
|
556 |
+
$the_index = $index;
|
557 |
+
break; // Take the first one we find.
|
558 |
+
}
|
559 |
+
}
|
560 |
+
|
561 |
+
if ( !empty( $the_index ) ) {
|
562 |
+
$index_hint_sql = "USE INDEX ({$the_index})";
|
563 |
+
} else {
|
564 |
+
$index_hint_sql = '';
|
565 |
+
}
|
566 |
+
|
567 |
// Sanitize page and per_page parameters.
|
568 |
$page = absint( $r['page'] );
|
569 |
$per_page = absint( $r['per_page'] );
|
613 |
$activities = $wpdb->get_results( apply_filters( 'bp_activity_get_user_join_filter', "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort}", $select_sql, $from_sql, $where_sql, $sort, $pag_sql ) );
|
614 |
}
|
615 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
616 |
} else {
|
617 |
// Query first for activity IDs.
|
618 |
+
$activity_ids_sql = "{$select_sql} {$from_sql} {$join_sql} {$where_sql} ORDER BY a.date_recorded {$sort}, a.id {$sort}";
|
619 |
|
620 |
if ( ! empty( $per_page ) && ! empty( $page ) ) {
|
621 |
// We query for $per_page + 1 items in order to
|
633 |
*/
|
634 |
$activity_ids_sql = apply_filters( 'bp_activity_paged_activities_sql', $activity_ids_sql, $r );
|
635 |
|
636 |
+
$activity_ids = $wpdb->get_col( $activity_ids_sql );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
637 |
|
638 |
$retval['has_more_items'] = ! empty( $per_page ) && count( $activity_ids ) > $per_page;
|
639 |
|
690 |
* @param string $sort Sort direction for query.
|
691 |
*/
|
692 |
$total_activities_sql = apply_filters( 'bp_activity_total_activities_sql', "SELECT count(DISTINCT a.id) FROM {$bp->activity->table_name} a {$join_sql} {$where_sql}", $where_sql, $sort );
|
693 |
+
$total_activities = $wpdb->get_var( $total_activities_sql );
|
|
|
|
|
|
|
|
|
|
|
|
|
694 |
|
695 |
if ( !empty( $r['max'] ) ) {
|
696 |
if ( (int) $total_activities > (int) $r['max'] ) {
|
947 |
* @param mixed $scope The activity scope. Accepts string or array of scopes.
|
948 |
* @param array $r Current activity arguments. Same as those of BP_Activity_Activity::get(),
|
949 |
* but merged with defaults.
|
950 |
+
* @return array 'sql' WHERE SQL string and 'override' activity args.
|
951 |
*/
|
952 |
public static function get_scope_query_sql( $scope = false, $r = array() ) {
|
953 |
|
1076 |
* @param string $action Action to filter by.
|
1077 |
* @param string $content Content to filter by.
|
1078 |
* @param string $date_recorded Date to filter by.
|
1079 |
+
* @return int|bool Activity ID on success, false if none is found.
|
1080 |
*/
|
1081 |
public static function get_id( $user_id, $component, $type, $item_id, $secondary_item_id, $action, $content, $date_recorded ) {
|
1082 |
global $wpdb;
|
1437 |
}
|
1438 |
|
1439 |
// Legacy query - not recommended.
|
1440 |
+
$func_args = func_get_args();
|
1441 |
|
1442 |
/**
|
1443 |
* Filters if BuddyPress should use the legacy activity query.
|
1448 |
* @param BP_Activity_Activity $value Magic method referring to currently called method.
|
1449 |
* @param array $func_args Array of the method's argument list.
|
1450 |
*/
|
1451 |
+
if ( apply_filters( 'bp_use_legacy_activity_query', false, __METHOD__, $func_args ) ) {
|
1452 |
|
1453 |
/**
|
1454 |
* Filters the MySQL prepared statement for the legacy activity query.
|
1658 |
*
|
1659 |
* @param string $field The database field.
|
1660 |
* @param array|bool $items The values for the IN clause, or false when none are found.
|
1661 |
+
* @return string|bool
|
1662 |
*/
|
1663 |
public static function get_in_operator_sql( $field, $items ) {
|
1664 |
global $wpdb;
|
1793 |
// Get activities from user meta.
|
1794 |
$favorite_activity_entries = bp_get_user_meta( $user_id, 'bp_favorite_activities', true );
|
1795 |
if ( ! empty( $favorite_activity_entries ) ) {
|
1796 |
+
return count( maybe_unserialize( $favorite_activity_entries ) );
|
1797 |
}
|
1798 |
|
1799 |
// No favorites.
|
1806 |
* @since 1.1.0
|
1807 |
*
|
1808 |
* @param string $content The content to filter by.
|
1809 |
+
* @return int|bool The ID of the first matching item if found, otherwise false.
|
1810 |
*/
|
1811 |
public static function check_exists_by_content( $content ) {
|
1812 |
global $wpdb;
|
1833 |
|
1834 |
return $wpdb->get_var( $wpdb->prepare( "UPDATE {$bp->activity->table_name} SET hide_sitewide = 1 WHERE user_id = %d", $user_id ) );
|
1835 |
}
|
1836 |
+
|
1837 |
+
/**
|
1838 |
+
* PHP-agnostic version of {@link array_replace_recursive()}.
|
1839 |
+
*
|
1840 |
+
* The array_replace_recursive() function is a PHP 5.3 function. BuddyPress (and
|
1841 |
+
* WordPress) currently supports down to PHP 5.2, so this method is a workaround
|
1842 |
+
* for PHP 5.2.
|
1843 |
+
*
|
1844 |
+
* Note: array_replace_recursive() supports infinite arguments, but for our use-
|
1845 |
+
* case, we only need to support two arguments.
|
1846 |
+
*
|
1847 |
+
* Subject to removal once WordPress makes PHP 5.3.0 the minimum requirement.
|
1848 |
+
*
|
1849 |
+
* @since 2.2.0
|
1850 |
+
*
|
1851 |
+
* @see http://php.net/manual/en/function.array-replace-recursive.php#109390
|
1852 |
+
*
|
1853 |
+
* @param array $base Array with keys needing to be replaced.
|
1854 |
+
* @param array $replacements Array with the replaced keys.
|
1855 |
+
* @return array
|
1856 |
+
*/
|
1857 |
+
protected static function array_replace_recursive( $base = array(), $replacements = array() ) {
|
1858 |
+
if ( function_exists( 'array_replace_recursive' ) ) {
|
1859 |
+
return array_replace_recursive( $base, $replacements );
|
1860 |
+
}
|
1861 |
+
|
1862 |
+
// PHP 5.2-compatible version
|
1863 |
+
// http://php.net/manual/en/function.array-replace-recursive.php#109390.
|
1864 |
+
foreach ( array_slice( func_get_args(), 1 ) as $replacements ) {
|
1865 |
+
$bref_stack = array( &$base );
|
1866 |
+
$head_stack = array( $replacements );
|
1867 |
+
|
1868 |
+
do {
|
1869 |
+
end( $bref_stack );
|
1870 |
+
|
1871 |
+
$bref = &$bref_stack[ key( $bref_stack ) ];
|
1872 |
+
$head = array_pop( $head_stack );
|
1873 |
+
|
1874 |
+
unset( $bref_stack[ key($bref_stack) ] );
|
1875 |
+
|
1876 |
+
foreach ( array_keys( $head ) as $key ) {
|
1877 |
+
if ( isset( $key, $bref ) && is_array( $bref[$key] ) && is_array( $head[$key] ) ) {
|
1878 |
+
$bref_stack[] = &$bref[ $key ];
|
1879 |
+
$head_stack[] = $head[ $key ];
|
1880 |
+
} else {
|
1881 |
+
$bref[ $key ] = $head[ $key ];
|
1882 |
+
}
|
1883 |
+
}
|
1884 |
+
} while( count( $head_stack ) );
|
1885 |
+
}
|
1886 |
+
|
1887 |
+
return $base;
|
1888 |
+
}
|
1889 |
}
|
@@ -57,18 +57,18 @@ class BP_Activity_Component extends BP_Component {
|
|
57 |
'adminbar',
|
58 |
'template',
|
59 |
'functions',
|
|
|
60 |
'cache'
|
61 |
);
|
62 |
|
63 |
-
|
64 |
-
|
65 |
-
$includes[] = 'notifications';
|
66 |
}
|
67 |
|
68 |
// Load Akismet support if Akismet is configured.
|
69 |
$akismet_key = bp_get_option( 'wordpress_api_key' );
|
70 |
|
71 |
-
/** This filter is documented in bp-activity/bp-activity-
|
72 |
if ( defined( 'AKISMET_VERSION' ) && class_exists( 'Akismet' ) && ( ! empty( $akismet_key ) || defined( 'WPCOM_API_KEY' ) ) && apply_filters( 'bp_activity_use_akismet', bp_is_akismet_active() ) ) {
|
73 |
$includes[] = 'akismet';
|
74 |
}
|
@@ -116,17 +116,13 @@ class BP_Activity_Component extends BP_Component {
|
|
116 |
'activity' => $bp->table_prefix . 'bp_activity_meta',
|
117 |
);
|
118 |
|
119 |
-
// Fetch the default directory title.
|
120 |
-
$default_directory_titles = bp_core_get_directory_page_default_titles();
|
121 |
-
$default_directory_title = $default_directory_titles[$this->id];
|
122 |
-
|
123 |
// All globals for activity component.
|
124 |
// Note that global_tables is included in this array.
|
125 |
$args = array(
|
126 |
'slug' => BP_ACTIVITY_SLUG,
|
127 |
'root_slug' => isset( $bp->pages->activity->slug ) ? $bp->pages->activity->slug : BP_ACTIVITY_SLUG,
|
128 |
'has_directory' => true,
|
129 |
-
'directory_title' =>
|
130 |
'notification_callback' => 'bp_activity_format_notifications',
|
131 |
'search_string' => __( 'Search Activity...', 'buddypress' ),
|
132 |
'global_tables' => $global_tables,
|
@@ -365,6 +361,19 @@ class BP_Activity_Component extends BP_Component {
|
|
365 |
parent::setup_title();
|
366 |
}
|
367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
/**
|
369 |
* Setup cache groups.
|
370 |
*
|
57 |
'adminbar',
|
58 |
'template',
|
59 |
'functions',
|
60 |
+
'notifications',
|
61 |
'cache'
|
62 |
);
|
63 |
|
64 |
+
if ( ! buddypress()->do_autoload ) {
|
65 |
+
$includes[] = 'classes';
|
|
|
66 |
}
|
67 |
|
68 |
// Load Akismet support if Akismet is configured.
|
69 |
$akismet_key = bp_get_option( 'wordpress_api_key' );
|
70 |
|
71 |
+
/** This filter is documented in bp-activity/bp-activity-actions.php */
|
72 |
if ( defined( 'AKISMET_VERSION' ) && class_exists( 'Akismet' ) && ( ! empty( $akismet_key ) || defined( 'WPCOM_API_KEY' ) ) && apply_filters( 'bp_activity_use_akismet', bp_is_akismet_active() ) ) {
|
73 |
$includes[] = 'akismet';
|
74 |
}
|
116 |
'activity' => $bp->table_prefix . 'bp_activity_meta',
|
117 |
);
|
118 |
|
|
|
|
|
|
|
|
|
119 |
// All globals for activity component.
|
120 |
// Note that global_tables is included in this array.
|
121 |
$args = array(
|
122 |
'slug' => BP_ACTIVITY_SLUG,
|
123 |
'root_slug' => isset( $bp->pages->activity->slug ) ? $bp->pages->activity->slug : BP_ACTIVITY_SLUG,
|
124 |
'has_directory' => true,
|
125 |
+
'directory_title' => _x( 'Site-Wide Activity', 'component directory title', 'buddypress' ),
|
126 |
'notification_callback' => 'bp_activity_format_notifications',
|
127 |
'search_string' => __( 'Search Activity...', 'buddypress' ),
|
128 |
'global_tables' => $global_tables,
|
361 |
parent::setup_title();
|
362 |
}
|
363 |
|
364 |
+
/**
|
365 |
+
* Set up actions necessary for the component.
|
366 |
+
*
|
367 |
+
* @since 1.6.0
|
368 |
+
*/
|
369 |
+
public function setup_actions() {
|
370 |
+
|
371 |
+
// Spam prevention.
|
372 |
+
add_action( 'bp_include', 'bp_activity_setup_akismet' );
|
373 |
+
|
374 |
+
parent::setup_actions();
|
375 |
+
}
|
376 |
+
|
377 |
/**
|
378 |
* Setup cache groups.
|
379 |
*
|
@@ -171,7 +171,7 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
171 |
$activities['total'] = count( $activities['activities'] );
|
172 |
|
173 |
// Sort the array by the activity object's date_recorded value.
|
174 |
-
usort( $activities['activities'],
|
175 |
}
|
176 |
|
177 |
// The bp_activity_get function returns an array of objects; cast these to arrays for WP_List_Table.
|
@@ -428,26 +428,8 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
428 |
<option value="" <?php selected( ! $selected ); ?>><?php _e( 'View all actions', 'buddypress' ); ?></option>
|
429 |
|
430 |
<?php foreach ( $activity_actions as $component => $actions ) : ?>
|
431 |
-
|
432 |
-
|
433 |
-
if ( $component === 'profile' ) {
|
434 |
-
$component = 'xprofile';
|
435 |
-
}
|
436 |
-
|
437 |
-
if ( bp_is_active( $component ) ) {
|
438 |
-
if ( $component === 'xprofile' ) {
|
439 |
-
$component_name = buddypress()->profile->name;
|
440 |
-
} else {
|
441 |
-
$component_name = buddypress()->$component->name;
|
442 |
-
}
|
443 |
-
|
444 |
-
} else {
|
445 |
-
// Prevent warnings by other plugins if a component is disabled but the activity type has been registered.
|
446 |
-
$component_name = ucfirst( $component );
|
447 |
-
}
|
448 |
-
?>
|
449 |
-
|
450 |
-
<optgroup label="<?php echo esc_html( $component_name ); ?>">
|
451 |
|
452 |
<?php foreach ( $actions as $action_key => $action_values ) : ?>
|
453 |
|
@@ -515,7 +497,6 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
515 |
* @param array $item A singular item (one full row).
|
516 |
*/
|
517 |
function column_cb( $item ) {
|
518 |
-
/* translators: accessibility text */
|
519 |
printf( '<label class="screen-reader-text" for="aid-%1$d">' . __( 'Select activity item %1$d', 'buddypress' ) . '</label><input type="checkbox" name="aid[]" value="%1$d" id="aid-%1$d" />', $item['id'] );
|
520 |
}
|
521 |
|
@@ -592,7 +573,7 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
592 |
if ( $this->can_comment( $item ) ) {
|
593 |
$actions['reply'] = sprintf( '<a href="#" class="reply hide-if-no-js">%s</a>', __( 'Reply', 'buddypress' ) );
|
594 |
} else {
|
595 |
-
$actions['reply'] = sprintf( '<span class="form-input-tip">%s</span>', __( 'Replies disabled', 'buddypress' ) );
|
596 |
}
|
597 |
|
598 |
// Edit.
|
@@ -641,10 +622,15 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
641 |
|
642 |
// Get activity content - if not set, use the action.
|
643 |
if ( ! empty( $item['content'] ) ) {
|
644 |
-
$activity = new BP_Activity_Activity( $item['id'] );
|
645 |
|
646 |
-
/**
|
647 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
648 |
} else {
|
649 |
/**
|
650 |
* Filters current activity item action.
|
@@ -706,7 +692,8 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
706 |
|
707 |
// If the activity has comments, display a link to the activity's permalink, with its comment count in a speech bubble.
|
708 |
if ( $comment_count ) {
|
709 |
-
|
|
|
710 |
}
|
711 |
|
712 |
// For non-root activities, display a link to the replied-to activity's author's profile.
|
@@ -806,7 +793,6 @@ class BP_Activity_List_Table extends WP_List_Table {
|
|
806 |
$parent_activity = (object) $item;
|
807 |
} elseif ( 'activity_comment' === $item['type'] ) {
|
808 |
$parent_activity = new BP_Activity_Activity( $item['item_id'] );
|
809 |
-
$can_comment = bp_activity_can_comment_reply( (object) $item );
|
810 |
}
|
811 |
|
812 |
if ( isset( $parent_activity->type ) && bp_activity_post_type_get_tracking_arg( $parent_activity->type, 'post_type' ) ) {
|
171 |
$activities['total'] = count( $activities['activities'] );
|
172 |
|
173 |
// Sort the array by the activity object's date_recorded value.
|
174 |
+
usort( $activities['activities'], create_function( '$a, $b', 'return $a->date_recorded > $b->date_recorded;' ) );
|
175 |
}
|
176 |
|
177 |
// The bp_activity_get function returns an array of objects; cast these to arrays for WP_List_Table.
|
428 |
<option value="" <?php selected( ! $selected ); ?>><?php _e( 'View all actions', 'buddypress' ); ?></option>
|
429 |
|
430 |
<?php foreach ( $activity_actions as $component => $actions ) : ?>
|
431 |
+
|
432 |
+
<optgroup label="<?php echo ucfirst( $component ); ?>">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
433 |
|
434 |
<?php foreach ( $actions as $action_key => $action_values ) : ?>
|
435 |
|
497 |
* @param array $item A singular item (one full row).
|
498 |
*/
|
499 |
function column_cb( $item ) {
|
|
|
500 |
printf( '<label class="screen-reader-text" for="aid-%1$d">' . __( 'Select activity item %1$d', 'buddypress' ) . '</label><input type="checkbox" name="aid[]" value="%1$d" id="aid-%1$d" />', $item['id'] );
|
501 |
}
|
502 |
|
573 |
if ( $this->can_comment( $item ) ) {
|
574 |
$actions['reply'] = sprintf( '<a href="#" class="reply hide-if-no-js">%s</a>', __( 'Reply', 'buddypress' ) );
|
575 |
} else {
|
576 |
+
$actions['reply'] = sprintf( '<span class="form-input-tip" title="%s">%s</span>', __( 'Replies are disabled for this activity item', 'buddypress' ), __( 'Replies disabled', 'buddypress' ) );
|
577 |
}
|
578 |
|
579 |
// Edit.
|
622 |
|
623 |
// Get activity content - if not set, use the action.
|
624 |
if ( ! empty( $item['content'] ) ) {
|
|
|
625 |
|
626 |
+
/**
|
627 |
+
* Filters current activity item content.
|
628 |
+
*
|
629 |
+
* @since 1.2.0
|
630 |
+
*
|
631 |
+
* @param array $item Array index holding current activity item content.
|
632 |
+
*/
|
633 |
+
$content = apply_filters_ref_array( 'bp_get_activity_content_body', array( $item['content'] ) );
|
634 |
} else {
|
635 |
/**
|
636 |
* Filters current activity item action.
|
692 |
|
693 |
// If the activity has comments, display a link to the activity's permalink, with its comment count in a speech bubble.
|
694 |
if ( $comment_count ) {
|
695 |
+
$title_attr = sprintf( _n( '%s related activity', '%s related activities', $comment_count, 'buddypress' ), number_format_i18n( $comment_count ) );
|
696 |
+
printf( '<a href="%1$s" title="%2$s" class="post-com-count post-com-count-approved"><span class="comment-count comment-count-approved">%3$s</span></a>', esc_url( $root_activity_url ), esc_attr( $title_attr ), number_format_i18n( $comment_count ) );
|
697 |
}
|
698 |
|
699 |
// For non-root activities, display a link to the replied-to activity's author's profile.
|
793 |
$parent_activity = (object) $item;
|
794 |
} elseif ( 'activity_comment' === $item['type'] ) {
|
795 |
$parent_activity = new BP_Activity_Activity( $item['item_id'] );
|
|
|
796 |
}
|
797 |
|
798 |
if ( isset( $parent_activity->type ) && bp_activity_post_type_get_tracking_arg( $parent_activity->type, 'post_type' ) ) {
|
@@ -311,9 +311,7 @@ class BP_Activity_oEmbed_Extension extends BP_Core_oEmbed_Extension {
|
|
311 |
<?php
|
312 |
printf(
|
313 |
_n(
|
314 |
-
/* translators: accessibility text */
|
315 |
'%s <span class="screen-reader-text">Comment</span>',
|
316 |
-
/* translators: accessibility text */
|
317 |
'%s <span class="screen-reader-text">Comments</span>',
|
318 |
$count,
|
319 |
'buddypress'
|
311 |
<?php
|
312 |
printf(
|
313 |
_n(
|
|
|
314 |
'%s <span class="screen-reader-text">Comment</span>',
|
|
|
315 |
'%s <span class="screen-reader-text">Comments</span>',
|
316 |
$count,
|
317 |
'buddypress'
|
@@ -159,7 +159,8 @@ class BP_Activity_Template {
|
|
159 |
12 => 'page_arg'
|
160 |
);
|
161 |
|
162 |
-
$
|
|
|
163 |
}
|
164 |
|
165 |
$defaults = array(
|
@@ -195,7 +196,7 @@ class BP_Activity_Template {
|
|
195 |
$this->disable_blogforum_replies = (bool) bp_core_get_root_option( 'bp-disable-blogforum-comments' );
|
196 |
|
197 |
// Get an array of the logged in user's favorite activities.
|
198 |
-
$this->my_favs = bp_get_user_meta( bp_loggedin_user_id(), 'bp_favorite_activities', true );
|
199 |
|
200 |
// Fetch specific activity items based on ID's.
|
201 |
if ( !empty( $include ) ) {
|
159 |
12 => 'page_arg'
|
160 |
);
|
161 |
|
162 |
+
$func_args = func_get_args();
|
163 |
+
$args = bp_core_parse_args_array( $old_args_keys, $func_args );
|
164 |
}
|
165 |
|
166 |
$defaults = array(
|
196 |
$this->disable_blogforum_replies = (bool) bp_core_get_root_option( 'bp-disable-blogforum-comments' );
|
197 |
|
198 |
// Get an array of the logged in user's favorite activities.
|
199 |
+
$this->my_favs = maybe_unserialize( bp_get_user_meta( bp_loggedin_user_id(), 'bp_favorite_activities', true ) );
|
200 |
|
201 |
// Fetch specific activity items based on ID's.
|
202 |
if ( !empty( $include ) ) {
|
@@ -2,8 +2,8 @@
|
|
2 |
background: rgba(204, 204, 204, 0.8);
|
3 |
border-radius: 2px;
|
4 |
border: 1px solid rgb(204, 204, 204);
|
5 |
-
box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #
|
6 |
-
color: #
|
7 |
display: none;
|
8 |
font-family: sans-serif;
|
9 |
margin-top: 18px;
|
@@ -14,16 +14,14 @@
|
|
14 |
.atwho-view {
|
15 |
left: 0;
|
16 |
}
|
17 |
-
|
18 |
.atwho-view ul {
|
19 |
-
background: #
|
20 |
list-style: none;
|
21 |
margin: auto;
|
22 |
padding: 0;
|
23 |
}
|
24 |
-
|
25 |
.atwho-view ul li {
|
26 |
-
border-bottom: 1px solid #
|
27 |
box-sizing: content-box;
|
28 |
cursor: pointer;
|
29 |
display: block;
|
@@ -34,71 +32,59 @@
|
|
34 |
overflow: hidden;
|
35 |
padding: 5px 10px;
|
36 |
}
|
37 |
-
|
38 |
.atwho-view img {
|
39 |
border-radius: 2px;
|
40 |
float: left;
|
41 |
height: 20px;
|
42 |
-
margin-top:
|
43 |
width: 20px;
|
44 |
}
|
45 |
-
|
46 |
.atwho-view strong {
|
47 |
-
background: #
|
48 |
-
font-weight:
|
49 |
}
|
50 |
-
|
51 |
.atwho-view .username strong {
|
52 |
-
color: #
|
53 |
}
|
54 |
-
|
55 |
.atwho-view small {
|
56 |
-
color: #
|
57 |
float: left;
|
58 |
font-size: smaller;
|
59 |
-
font-weight:
|
60 |
margin: 0 40px 0 10px;
|
61 |
}
|
62 |
-
|
63 |
.atwho-view .cur {
|
64 |
background: rgba(239, 239, 239, 0.5);
|
65 |
}
|
66 |
|
67 |
@media (max-width: 900px) {
|
68 |
-
|
69 |
.atwho-view img {
|
70 |
float: right;
|
71 |
margin: 0 0 0 10px;
|
72 |
}
|
73 |
}
|
74 |
-
|
75 |
@media (max-width: 400px) {
|
76 |
-
|
77 |
.atwho-view ul li {
|
78 |
font-size: 16px;
|
79 |
line-height: 23px;
|
80 |
padding: 13px;
|
81 |
}
|
82 |
-
|
83 |
.atwho-view ul li img {
|
84 |
height: 30px;
|
85 |
margin-top: -5px;
|
86 |
width: 30px;
|
87 |
}
|
88 |
-
|
89 |
.atwho-view {
|
90 |
border-radius: 0;
|
91 |
height: 100%;
|
92 |
right: 0 !important;
|
93 |
width: 100%;
|
94 |
}
|
95 |
-
|
96 |
.atwho-view ul li .username {
|
97 |
display: inline-block;
|
98 |
margin: -10px 0 0 0;
|
99 |
padding: 10px 0;
|
100 |
}
|
101 |
-
|
102 |
.atwho-view ul li small {
|
103 |
display: inline-block;
|
104 |
margin-right: 20px;
|
2 |
background: rgba(204, 204, 204, 0.8);
|
3 |
border-radius: 2px;
|
4 |
border: 1px solid rgb(204, 204, 204);
|
5 |
+
box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #FFF;
|
6 |
+
color: #D84800;
|
7 |
display: none;
|
8 |
font-family: sans-serif;
|
9 |
margin-top: 18px;
|
14 |
.atwho-view {
|
15 |
left: 0;
|
16 |
}
|
|
|
17 |
.atwho-view ul {
|
18 |
+
background: #FFF;
|
19 |
list-style: none;
|
20 |
margin: auto;
|
21 |
padding: 0;
|
22 |
}
|
|
|
23 |
.atwho-view ul li {
|
24 |
+
border-bottom: 1px solid #EFEFEF;
|
25 |
box-sizing: content-box;
|
26 |
cursor: pointer;
|
27 |
display: block;
|
32 |
overflow: hidden;
|
33 |
padding: 5px 10px;
|
34 |
}
|
|
|
35 |
.atwho-view img {
|
36 |
border-radius: 2px;
|
37 |
float: left;
|
38 |
height: 20px;
|
39 |
+
margin-top:0;
|
40 |
width: 20px;
|
41 |
}
|
|
|
42 |
.atwho-view strong {
|
43 |
+
background: #EFEFEF;
|
44 |
+
font-weight: bold;
|
45 |
}
|
|
|
46 |
.atwho-view .username strong {
|
47 |
+
color: #D54E21;
|
48 |
}
|
|
|
49 |
.atwho-view small {
|
50 |
+
color: #AAA;
|
51 |
float: left;
|
52 |
font-size: smaller;
|
53 |
+
font-weight: normal;
|
54 |
margin: 0 40px 0 10px;
|
55 |
}
|
|
|
56 |
.atwho-view .cur {
|
57 |
background: rgba(239, 239, 239, 0.5);
|
58 |
}
|
59 |
|
60 |
@media (max-width: 900px) {
|
|
|
61 |
.atwho-view img {
|
62 |
float: right;
|
63 |
margin: 0 0 0 10px;
|
64 |
}
|
65 |
}
|
|
|
66 |
@media (max-width: 400px) {
|
|
|
67 |
.atwho-view ul li {
|
68 |
font-size: 16px;
|
69 |
line-height: 23px;
|
70 |
padding: 13px;
|
71 |
}
|
|
|
72 |
.atwho-view ul li img {
|
73 |
height: 30px;
|
74 |
margin-top: -5px;
|
75 |
width: 30px;
|
76 |
}
|
|
|
77 |
.atwho-view {
|
78 |
border-radius: 0;
|
79 |
height: 100%;
|
80 |
right: 0 !important;
|
81 |
width: 100%;
|
82 |
}
|
|
|
83 |
.atwho-view ul li .username {
|
84 |
display: inline-block;
|
85 |
margin: -10px 0 0 0;
|
86 |
padding: 10px 0;
|
87 |
}
|
|
|
88 |
.atwho-view ul li small {
|
89 |
display: inline-block;
|
90 |
margin-right: 20px;
|
@@ -1 +1 @@
|
|
1 |
-
.atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #
|
1 |
+
.atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #FFF;color:#D84800;display:none;font-family:sans-serif;margin-top:18px;position:absolute;top:0;z-index:1000;left:0}.atwho-view ul{background:#FFF;list-style:none;margin:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #EFEFEF;box-sizing:content-box;cursor:pointer;display:block;font-size:14px;height:20px;line-height:20px;margin:0;overflow:hidden;padding:5px 10px}.atwho-view img{border-radius:2px;float:left;height:20px;margin-top:0;width:20px}.atwho-view strong{background:#EFEFEF;font-weight:700}.atwho-view .username strong{color:#D54E21}.atwho-view small{color:#AAA;float:left;font-size:smaller;font-weight:400;margin:0 40px 0 10px}.atwho-view .cur{background:rgba(239,239,239,.5)}@media (max-width:900px){.atwho-view img{float:right;margin:0 0 0 10px}}@media (max-width:400px){.atwho-view ul li{font-size:16px;line-height:23px;padding:13px}.atwho-view ul li img{height:30px;margin-top:-5px;width:30px}.atwho-view{border-radius:0;height:100%;right:0!important;width:100%}.atwho-view ul li .username{display:inline-block;margin:-10px 0 0;padding:10px 0}.atwho-view ul li small{display:inline-block;margin-right:20px}}
|
@@ -2,8 +2,8 @@
|
|
2 |
background: rgba(204, 204, 204, 0.8);
|
3 |
border-radius: 2px;
|
4 |
border: 1px solid rgb(204, 204, 204);
|
5 |
-
box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #
|
6 |
-
color: #
|
7 |
display: none;
|
8 |
font-family: sans-serif;
|
9 |
margin-top: 18px;
|
@@ -11,21 +11,18 @@
|
|
11 |
top: 0;
|
12 |
z-index: 1000; /* >999 for wp-admin */
|
13 |
}
|
14 |
-
|
15 |
/* rtl:ignore */
|
16 |
.atwho-view {
|
17 |
left: 0;
|
18 |
}
|
19 |
-
|
20 |
.atwho-view ul {
|
21 |
-
background: #
|
22 |
list-style: none;
|
23 |
margin: auto;
|
24 |
padding: 0;
|
25 |
}
|
26 |
-
|
27 |
.atwho-view ul li {
|
28 |
-
border-bottom: 1px solid #
|
29 |
box-sizing: content-box;
|
30 |
cursor: pointer;
|
31 |
display: block;
|
@@ -36,71 +33,59 @@
|
|
36 |
overflow: hidden;
|
37 |
padding: 5px 10px;
|
38 |
}
|
39 |
-
|
40 |
.atwho-view img {
|
41 |
border-radius: 2px;
|
42 |
float: right;
|
43 |
height: 20px;
|
44 |
-
margin-top:
|
45 |
width: 20px;
|
46 |
}
|
47 |
-
|
48 |
.atwho-view strong {
|
49 |
-
background: #
|
50 |
-
font-weight:
|
51 |
}
|
52 |
-
|
53 |
.atwho-view .username strong {
|
54 |
-
color: #
|
55 |
}
|
56 |
-
|
57 |
.atwho-view small {
|
58 |
-
color: #
|
59 |
float: right;
|
60 |
font-size: smaller;
|
61 |
-
font-weight:
|
62 |
margin: 0 10px 0 40px;
|
63 |
}
|
64 |
-
|
65 |
.atwho-view .cur {
|
66 |
background: rgba(239, 239, 239, 0.5);
|
67 |
}
|
68 |
|
69 |
@media (max-width: 900px) {
|
70 |
-
|
71 |
.atwho-view img {
|
72 |
float: left;
|
73 |
margin: 0 10px 0 0;
|
74 |
}
|
75 |
}
|
76 |
-
|
77 |
@media (max-width: 400px) {
|
78 |
-
|
79 |
.atwho-view ul li {
|
80 |
font-size: 16px;
|
81 |
line-height: 23px;
|
82 |
padding: 13px;
|
83 |
}
|
84 |
-
|
85 |
.atwho-view ul li img {
|
86 |
height: 30px;
|
87 |
margin-top: -5px;
|
88 |
width: 30px;
|
89 |
}
|
90 |
-
|
91 |
.atwho-view {
|
92 |
border-radius: 0;
|
93 |
height: 100%;
|
94 |
left: 0 !important;
|
95 |
width: 100%;
|
96 |
}
|
97 |
-
|
98 |
.atwho-view ul li .username {
|
99 |
display: inline-block;
|
100 |
margin: -10px 0 0 0;
|
101 |
padding: 10px 0;
|
102 |
}
|
103 |
-
|
104 |
.atwho-view ul li small {
|
105 |
display: inline-block;
|
106 |
margin-left: 20px;
|
2 |
background: rgba(204, 204, 204, 0.8);
|
3 |
border-radius: 2px;
|
4 |
border: 1px solid rgb(204, 204, 204);
|
5 |
+
box-shadow: 0 0 5px rgba(204, 204, 204, 0.25), 0 0 1px #FFF;
|
6 |
+
color: #D84800;
|
7 |
display: none;
|
8 |
font-family: sans-serif;
|
9 |
margin-top: 18px;
|
11 |
top: 0;
|
12 |
z-index: 1000; /* >999 for wp-admin */
|
13 |
}
|
|
|
14 |
/* rtl:ignore */
|
15 |
.atwho-view {
|
16 |
left: 0;
|
17 |
}
|
|
|
18 |
.atwho-view ul {
|
19 |
+
background: #FFF;
|
20 |
list-style: none;
|
21 |
margin: auto;
|
22 |
padding: 0;
|
23 |
}
|
|
|
24 |
.atwho-view ul li {
|
25 |
+
border-bottom: 1px solid #EFEFEF;
|
26 |
box-sizing: content-box;
|
27 |
cursor: pointer;
|
28 |
display: block;
|
33 |
overflow: hidden;
|
34 |
padding: 5px 10px;
|
35 |
}
|
|
|
36 |
.atwho-view img {
|
37 |
border-radius: 2px;
|
38 |
float: right;
|
39 |
height: 20px;
|
40 |
+
margin-top:0;
|
41 |
width: 20px;
|
42 |
}
|
|
|
43 |
.atwho-view strong {
|
44 |
+
background: #EFEFEF;
|
45 |
+
font-weight: bold;
|
46 |
}
|
|
|
47 |
.atwho-view .username strong {
|
48 |
+
color: #D54E21;
|
49 |
}
|
|
|
50 |
.atwho-view small {
|
51 |
+
color: #AAA;
|
52 |
float: right;
|
53 |
font-size: smaller;
|
54 |
+
font-weight: normal;
|
55 |
margin: 0 10px 0 40px;
|
56 |
}
|
|
|
57 |
.atwho-view .cur {
|
58 |
background: rgba(239, 239, 239, 0.5);
|
59 |
}
|
60 |
|
61 |
@media (max-width: 900px) {
|
|
|
62 |
.atwho-view img {
|
63 |
float: left;
|
64 |
margin: 0 10px 0 0;
|
65 |
}
|
66 |
}
|
|
|
67 |
@media (max-width: 400px) {
|
|
|
68 |
.atwho-view ul li {
|
69 |
font-size: 16px;
|
70 |
line-height: 23px;
|
71 |
padding: 13px;
|
72 |
}
|
|
|
73 |
.atwho-view ul li img {
|
74 |
height: 30px;
|
75 |
margin-top: -5px;
|
76 |
width: 30px;
|
77 |
}
|
|
|
78 |
.atwho-view {
|
79 |
border-radius: 0;
|
80 |
height: 100%;
|
81 |
left: 0 !important;
|
82 |
width: 100%;
|
83 |
}
|
|
|
84 |
.atwho-view ul li .username {
|
85 |
display: inline-block;
|
86 |
margin: -10px 0 0 0;
|
87 |
padding: 10px 0;
|
88 |
}
|
|
|
89 |
.atwho-view ul li small {
|
90 |
display: inline-block;
|
91 |
margin-left: 20px;
|
@@ -1 +1 @@
|
|
1 |
-
.atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #
|
1 |
+
.atwho-view{background:rgba(204,204,204,.8);border-radius:2px;border:1px solid #ccc;box-shadow:0 0 5px rgba(204,204,204,.25),0 0 1px #FFF;color:#D84800;display:none;font-family:sans-serif;margin-top:18px;position:absolute;top:0;z-index:1000;left:0}.atwho-view ul{background:#FFF;list-style:none;margin:auto;padding:0}.atwho-view ul li{border-bottom:1px solid #EFEFEF;box-sizing:content-box;cursor:pointer;display:block;font-size:14px;height:20px;line-height:20px;margin:0;overflow:hidden;padding:5px 10px}.atwho-view img{border-radius:2px;float:right;height:20px;margin-top:0;width:20px}.atwho-view strong{background:#EFEFEF;font-weight:700}.atwho-view .username strong{color:#D54E21}.atwho-view small{color:#AAA;float:right;font-size:smaller;font-weight:400;margin:0 10px 0 40px}.atwho-view .cur{background:rgba(239,239,239,.5)}@media (max-width:900px){.atwho-view img{float:left;margin:0 10px 0 0}}@media (max-width:400px){.atwho-view ul li{font-size:16px;line-height:23px;padding:13px}.atwho-view ul li img{height:30px;margin-top:-5px;width:30px}.atwho-view{border-radius:0;height:100%;left:0!important;width:100%}.atwho-view ul li .username{display:inline-block;margin:-10px 0 0;padding:10px 0}.atwho-view ul li small{display:inline-block;margin-left:20px}}
|
@@ -1 +1 @@
|
|
1 |
-
window.bp=window.bp||{},function(
|
1 |
+
window.bp=window.bp||{},function(a,b,c){var d,e=[];a.mentions=a.mentions||{},a.mentions.users=window.bp.mentions.users||[],"object"==typeof window.BP_Suggestions&&(a.mentions.users=window.BP_Suggestions.friends||a.mentions.users),b.fn.bp_mentions=function(a){b.isArray(a)&&(a={data:a});var c={delay:200,hide_without_suffix:!0,insert_tpl:"</>${atwho-data-value}</>",limit:10,start_with_space:!1,suffix:"",callbacks:{filter:function(a,b,c){var d,e,f,g=[],h=new RegExp("^"+a+"| "+a,"ig");for(e=0,f=b.length;f>e;e++)d=b[e],d[c].toLowerCase().match(h)&&g.push(d);return g},highlighter:function(a,b){if(!b)return a;var c=new RegExp(">(\\s*|[\\w\\s]*)("+this.at.replace("+","\\+")+"?"+b.replace("+","\\+")+")([\\w ]*)\\s*<","ig");return a.replace(c,function(a,b,c,d){return">"+b+"<strong>"+c+"</strong>"+d+"<"})},before_reposition:function(a){var c,d,e,f,g=b("#atwho-ground-"+this.id+" .atwho-view"),h=b("body"),i=this.$inputor.data("atwho");"undefined"!==i&&"undefined"!==i.iframe&&null!==i.iframe?(c=this.$inputor.caret("offset",{iframe:i.iframe}),e=b(i.iframe).offset(),"undefined"!==e&&(c.left+=e.left,c.top+=e.top)):c=this.$inputor.caret("offset"),c.left>h.width()/2?(g.addClass("right"),f=c.left-a.left-this.view.$el.width()):(g.removeClass("right"),f=c.left-a.left+1),h.width()<=400&&b(document).scrollTop(c.top-6),d=parseInt(this.$inputor.css("line-height").substr(0,this.$inputor.css("line-height").length-2),10),(!d||5>d)&&(d=19),a.top=c.top+d,a.left+=f},inserting_wrapper:function(a,b,c){return""+b+c}}},f={callbacks:{remote_filter:function(a,c){var f=b(this),g={};return d=e[a],"object"==typeof d?void c(d):(f.xhr&&f.xhr.abort(),g={action:"bp_get_suggestions",term:a,type:"members"},b.isNumeric(this.$inputor.data("suggestions-group-id"))&&(g["group-id"]=parseInt(this.$inputor.data("suggestions-group-id"),10)),void(f.xhr=b.getJSON(ajaxurl,g).done(function(d){if(d.success){var f=b.map(d.data,function(a){return a.search=a.search||a.ID+" "+a.name,a});e[a]=f,c(f)}})))}},data:b.map(a.data,function(a){return a.search=a.search||a.ID+" "+a.name,a}),at:"@",search_key:"search",tpl:'<li data-value="@${ID}"><img src="${image}" /><span class="username">@${ID}</span><small>${name}</small></li>'},g=b.extend(!0,{},c,f,a);return b.fn.atwho.call(this,g)},b(document).ready(function(){b(".bp-suggestions, #comments form textarea, .wp-editor-area").bp_mentions(a.mentions.users)}),a.mentions.tinyMCEinit=function(){"undefined"!=typeof window.tinyMCE&&null!==window.tinyMCE.activeEditor&&"undefined"!=typeof window.tinyMCE.activeEditor&&b(window.tinyMCE.activeEditor.contentDocument.activeElement).atwho("setIframe",b(".wp-editor-wrap iframe")[0]).bp_mentions(a.mentions.users)}}(bp,jQuery);
|
@@ -48,7 +48,7 @@ add_action( 'bp_register_activity_actions', 'bp_blogs_register_activity_actions'
|
|
48 |
*
|
49 |
* @param object|null $params Tracking arguments.
|
50 |
* @param string|int $post_type Post type to track.
|
51 |
-
* @return object
|
52 |
*/
|
53 |
function bp_blogs_register_post_tracking_args( $params = null, $post_type = 0 ) {
|
54 |
|
@@ -435,7 +435,7 @@ add_filter( 'bp_activity_prefetch_object_data', 'bp_blogs_prefetch_activity_obje
|
|
435 |
* bp_activity_add().
|
436 |
* @type string $component Default: 'blogs'.
|
437 |
* }
|
438 |
-
* @return
|
439 |
*/
|
440 |
function bp_blogs_record_activity( $args = '' ) {
|
441 |
$defaults = array(
|
@@ -547,7 +547,7 @@ function bp_blogs_comments_open( $activity ) {
|
|
547 |
switch_to_blog( $blog_id );
|
548 |
|
549 |
// Use comments_open().
|
550 |
-
remove_filter( 'comments_open', 'bp_comments_open', 10 );
|
551 |
$open = comments_open( $activity->secondary_item_id );
|
552 |
add_filter( 'comments_open', 'bp_comments_open', 10, 2 );
|
553 |
|
@@ -624,15 +624,6 @@ function bp_blogs_record_activity_on_site_creation( $recorded_blog, $is_private,
|
|
624 |
if ( ! $is_private && ! $no_activity && bp_blogs_is_blog_trackable( $recorded_blog->blog_id, $recorded_blog->user_id ) ) {
|
625 |
bp_blogs_record_activity( array(
|
626 |
'user_id' => $recorded_blog->user_id,
|
627 |
-
|
628 |
-
/**
|
629 |
-
* Filters the activity created blog primary link.
|
630 |
-
*
|
631 |
-
* @since 1.1.0
|
632 |
-
*
|
633 |
-
* @param string $value Blog primary link.
|
634 |
-
* @param int $value Blog ID.
|
635 |
-
*/
|
636 |
'primary_link' => apply_filters( 'bp_blogs_activity_created_blog_primary_link', bp_blogs_get_blogmeta( $recorded_blog->blog_id, 'url' ), $recorded_blog->blog_id ),
|
637 |
'type' => 'new_blog',
|
638 |
'item_id' => $recorded_blog->blog_id
|
@@ -648,25 +639,15 @@ add_action( 'bp_blogs_new_blog', 'bp_blogs_record_activity_on_site_creation', 10
|
|
648 |
*
|
649 |
* @param int $blog_id Site ID.
|
650 |
*/
|
651 |
-
function bp_blogs_delete_new_blog_activity_for_site( $blog_id
|
652 |
-
|
653 |
'item_id' => $blog_id,
|
654 |
'component' => buddypress()->blogs->id,
|
655 |
'type' => 'new_blog'
|
656 |
-
);
|
657 |
-
|
658 |
-
/**
|
659 |
-
* In the case a user is removed, make sure he is the author of the 'new_blog' activity
|
660 |
-
* when trying to delete it.
|
661 |
-
*/
|
662 |
-
if ( ! empty( $user_id ) ) {
|
663 |
-
$args['user_id'] = $user_id;
|
664 |
-
}
|
665 |
-
|
666 |
-
bp_blogs_delete_activity( $args );
|
667 |
}
|
668 |
-
add_action( 'bp_blogs_remove_blog', 'bp_blogs_delete_new_blog_activity_for_site'
|
669 |
-
add_action( 'bp_blogs_remove_blog_for_user', 'bp_blogs_delete_new_blog_activity_for_site'
|
670 |
|
671 |
/**
|
672 |
* Delete all 'blogs' activity items for a site when the site is deleted.
|
@@ -806,7 +787,7 @@ function bp_blogs_sync_add_from_activity_comment( $comment_id, $params, $parent_
|
|
806 |
);
|
807 |
|
808 |
// Prevent separate activity entry being made.
|
809 |
-
remove_action( 'comment_post', 'bp_activity_post_type_comment', 10 );
|
810 |
|
811 |
// Handle multisite.
|
812 |
switch_to_blog( $parent_activity->item_id );
|
@@ -832,7 +813,7 @@ function bp_blogs_sync_add_from_activity_comment( $comment_id, $params, $parent_
|
|
832 |
// permalinks to use the post comment link
|
833 |
//
|
834 |
// @todo since this is done after AJAX posting, the activity comment permalink
|
835 |
-
// doesn't change on the
|
836 |
$resave_activity = new BP_Activity_Activity( $comment_id );
|
837 |
$resave_activity->primary_link = get_comment_link( $post_comment_id );
|
838 |
|
@@ -970,8 +951,8 @@ function bp_blogs_sync_activity_edit_to_post_comment( BP_Activity_Activity $acti
|
|
970 |
$old_comment_status = $post_comment_status;
|
971 |
|
972 |
// No need to edit the activity, as it's the activity who's updating the comment
|
973 |
-
remove_action( 'transition_comment_status',
|
974 |
-
remove_action( 'bp_activity_post_type_comment', 'bp_blogs_comment_sync_activity_comment',
|
975 |
|
976 |
if ( 1 === $activity->is_spam && 'spam' !== $post_comment_status ) {
|
977 |
wp_spam_comment( $post_comment_id );
|
@@ -1300,7 +1281,7 @@ function bp_blogs_can_comment_reply( $retval, $comment ) {
|
|
1300 |
|
1301 |
// Check comment depth and disable if depth is too large.
|
1302 |
if ( isset( buddypress()->blogs->thread_depth[$comment->item_id] ) ){
|
1303 |
-
if (
|
1304 |
$retval = false;
|
1305 |
}
|
1306 |
}
|
48 |
*
|
49 |
* @param object|null $params Tracking arguments.
|
50 |
* @param string|int $post_type Post type to track.
|
51 |
+
* @return object
|
52 |
*/
|
53 |
function bp_blogs_register_post_tracking_args( $params = null, $post_type = 0 ) {
|
54 |
|
435 |
* bp_activity_add().
|
436 |
* @type string $component Default: 'blogs'.
|
437 |
* }
|
438 |
+
* @return int|bool On success, returns the activity ID. False on failure.
|
439 |
*/
|
440 |
function bp_blogs_record_activity( $args = '' ) {
|
441 |
$defaults = array(
|
547 |
switch_to_blog( $blog_id );
|
548 |
|
549 |
// Use comments_open().
|
550 |
+
remove_filter( 'comments_open', 'bp_comments_open', 10, 2 );
|
551 |
$open = comments_open( $activity->secondary_item_id );
|
552 |
add_filter( 'comments_open', 'bp_comments_open', 10, 2 );
|
553 |
|
624 |
if ( ! $is_private && ! $no_activity && bp_blogs_is_blog_trackable( $recorded_blog->blog_id, $recorded_blog->user_id ) ) {
|
625 |
bp_blogs_record_activity( array(
|
626 |
'user_id' => $recorded_blog->user_id,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
627 |
'primary_link' => apply_filters( 'bp_blogs_activity_created_blog_primary_link', bp_blogs_get_blogmeta( $recorded_blog->blog_id, 'url' ), $recorded_blog->blog_id ),
|
628 |
'type' => 'new_blog',
|
629 |
'item_id' => $recorded_blog->blog_id
|
639 |
*
|
640 |
* @param int $blog_id Site ID.
|
641 |
*/
|
642 |
+
function bp_blogs_delete_new_blog_activity_for_site( $blog_id ) {
|
643 |
+
bp_blogs_delete_activity( array(
|
644 |
'item_id' => $blog_id,
|
645 |
'component' => buddypress()->blogs->id,
|
646 |
'type' => 'new_blog'
|
647 |
+
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
648 |
}
|
649 |
+
add_action( 'bp_blogs_remove_blog', 'bp_blogs_delete_new_blog_activity_for_site' );
|
650 |
+
add_action( 'bp_blogs_remove_blog_for_user', 'bp_blogs_delete_new_blog_activity_for_site' );
|
651 |
|
652 |
/**
|
653 |
* Delete all 'blogs' activity items for a site when the site is deleted.
|
787 |
);
|
788 |
|
789 |
// Prevent separate activity entry being made.
|
790 |
+
remove_action( 'comment_post', 'bp_activity_post_type_comment', 10, 2 );
|
791 |
|
792 |
// Handle multisite.
|
793 |
switch_to_blog( $parent_activity->item_id );
|
813 |
// permalinks to use the post comment link
|
814 |
//
|
815 |
// @todo since this is done after AJAX posting, the activity comment permalink
|
816 |
+
// doesn't change on the frontend until the next page refresh.
|
817 |
$resave_activity = new BP_Activity_Activity( $comment_id );
|
818 |
$resave_activity->primary_link = get_comment_link( $post_comment_id );
|
819 |
|
951 |
$old_comment_status = $post_comment_status;
|
952 |
|
953 |
// No need to edit the activity, as it's the activity who's updating the comment
|
954 |
+
remove_action( 'transition_comment_status', 'bp_activity_transition_post_type_comment_status', 10, 3 );
|
955 |
+
remove_action( 'bp_activity_post_type_comment', 'bp_blogs_comment_sync_activity_comment', 10, 4 );
|
956 |
|
957 |
if ( 1 === $activity->is_spam && 'spam' !== $post_comment_status ) {
|
958 |
wp_spam_comment( $post_comment_id );
|
1281 |
|
1282 |
// Check comment depth and disable if depth is too large.
|
1283 |
if ( isset( buddypress()->blogs->thread_depth[$comment->item_id] ) ){
|
1284 |
+
if ( $comment->mptt_left > buddypress()->blogs->thread_depth[$comment->item_id] ) {
|
1285 |
$retval = false;
|
1286 |
}
|
1287 |
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* BuddyPress Blogs Classes.
|
4 |
+
*
|
5 |
+
* @package BuddyPress
|
6 |
+
* @subpackage BlogsClasses
|
7 |
+
* @since 1.0.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly.
|
11 |
+
defined( 'ABSPATH' ) || exit;
|
12 |
+
|
13 |
+
require dirname( __FILE__ ) . '/classes/class-bp-blogs-blog.php';
|
@@ -121,17 +121,3 @@ function bp_blogs_post_pre_publish( $return = true, $blog_id = 0, $post_id = 0,
|
|
121 |
}
|
122 |
add_filter( 'bp_activity_post_pre_publish', 'bp_blogs_post_pre_publish', 10, 4 );
|
123 |
add_filter( 'bp_activity_post_pre_comment', 'bp_blogs_post_pre_publish', 10, 4 );
|
124 |
-
|
125 |
-
/**
|
126 |
-
* Registers our custom thumb size with WP's Site Icon feature.
|
127 |
-
*
|
128 |
-
* @since 2.7.0
|
129 |
-
*
|
130 |
-
* @param array $sizes Current array of custom site icon sizes.
|
131 |
-
* @return array
|
132 |
-
*/
|
133 |
-
function bp_blogs_register_custom_site_icon_size( $sizes ) {
|
134 |
-
$sizes[] = bp_core_avatar_thumb_width();
|
135 |
-
return $sizes;
|
136 |
-
}
|
137 |
-
add_filter( 'site_icon_image_sizes', 'bp_blogs_register_custom_site_icon_size' );
|
121 |
}
|
122 |
add_filter( 'bp_activity_post_pre_publish', 'bp_blogs_post_pre_publish', 10, 4 );
|
123 |
add_filter( 'bp_activity_post_pre_comment', 'bp_blogs_post_pre_publish', 10, 4 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -65,14 +65,7 @@ function bp_blogs_get_blogs( $args = '' ) {
|
|
65 |
$r['include_blog_ids']
|
66 |
);
|
67 |
|
68 |
-
|
69 |
-
* Filters a set of blogs.
|
70 |
-
*
|
71 |
-
* @since 1.2.0
|
72 |
-
*
|
73 |
-
* @param array $blogs Array of blog data.
|
74 |
-
* @param array $r Parsed query arguments.
|
75 |
-
*/
|
76 |
return apply_filters( 'bp_blogs_get_blogs', $blogs, $r );
|
77 |
}
|
78 |
|
@@ -253,26 +246,9 @@ function bp_blogs_record_existing_blogs( $args = array() ) {
|
|
253 |
*/
|
254 |
function bp_blogs_is_blog_recordable( $blog_id, $user_id = 0 ) {
|
255 |
|
256 |
-
/**
|
257 |
-
* Filters whether or not a blog is globally activity stream recordable.
|
258 |
-
*
|
259 |
-
* @since 1.7.0
|
260 |
-
*
|
261 |
-
* @param bool $value Whether or not recordable. Default true.
|
262 |
-
* @param int $blog_id Current blog ID.
|
263 |
-
*/
|
264 |
$recordable_globally = apply_filters( 'bp_blogs_is_blog_recordable', true, $blog_id );
|
265 |
|
266 |
if ( !empty( $user_id ) ) {
|
267 |
-
/**
|
268 |
-
* Filters whether or not a blog is globally activity stream recordable for user.
|
269 |
-
*
|
270 |
-
* @since 1.7.0
|
271 |
-
*
|
272 |
-
* @param bool $recordable_globally Whether or not recordable.
|
273 |
-
* @param int $blog_id Current blog ID.
|
274 |
-
* @param int $user_id Current user ID.
|
275 |
-
*/
|
276 |
$recordable_for_user = apply_filters( 'bp_blogs_is_blog_recordable_for_user', $recordable_globally, $blog_id, $user_id );
|
277 |
} else {
|
278 |
$recordable_for_user = $recordable_globally;
|
@@ -299,27 +275,9 @@ function bp_blogs_is_blog_recordable( $blog_id, $user_id = 0 ) {
|
|
299 |
*/
|
300 |
function bp_blogs_is_blog_trackable( $blog_id, $user_id = 0 ) {
|
301 |
|
302 |
-
/**
|
303 |
-
* Filters whether or not a blog is globally trackable.
|
304 |
-
*
|
305 |
-
* @since 1.7.0
|
306 |
-
*
|
307 |
-
* @param bool $value Whether or not trackable.
|
308 |
-
* @param int $blog_id Current blog ID.
|
309 |
-
*/
|
310 |
$trackable_globally = apply_filters( 'bp_blogs_is_blog_trackable', bp_blogs_is_blog_recordable( $blog_id, $user_id ), $blog_id );
|
311 |
|
312 |
if ( !empty( $user_id ) ) {
|
313 |
-
|
314 |
-
/**
|
315 |
-
* Filters whether or not a blog is globally trackable for user.
|
316 |
-
*
|
317 |
-
* @since 1.7.0
|
318 |
-
*
|
319 |
-
* @param bool $value Whether or not trackable.
|
320 |
-
* @param int $blog_id Current blog ID.
|
321 |
-
* @param int $user_id Current user ID.
|
322 |
-
*/
|
323 |
$trackable_for_user = apply_filters( 'bp_blogs_is_blog_trackable_for_user', $trackable_globally, $blog_id, $user_id );
|
324 |
} else {
|
325 |
$trackable_for_user = $trackable_globally;
|
@@ -341,7 +299,7 @@ function bp_blogs_is_blog_trackable( $blog_id, $user_id = 0 ) {
|
|
341 |
* @param int $user_id ID of the user for whom the blog is being recorded.
|
342 |
* @param bool $no_activity Optional. Whether to skip recording an activity
|
343 |
* item about this blog creation. Default: false.
|
344 |
-
* @return
|
345 |
*/
|
346 |
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
347 |
|
@@ -386,14 +344,6 @@ function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
|
386 |
bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'thread_comments_depth', $thread_depth );
|
387 |
|
388 |
$is_private = !empty( $_POST['blog_public'] ) && (int) $_POST['blog_public'] ? false : true;
|
389 |
-
|
390 |
-
/**
|
391 |
-
* Filters whether or not a new blog is public.
|
392 |
-
*
|
393 |
-
* @since 1.5.0
|
394 |
-
*
|
395 |
-
* @param bool $is_private Whether or not blog is public.
|
396 |
-
*/
|
397 |
$is_private = !apply_filters( 'bp_is_new_blog_public', !$is_private );
|
398 |
|
399 |
/**
|
@@ -525,32 +475,11 @@ function bp_blogs_update_option_thread_comments_depth( $oldvalue, $newvalue ) {
|
|
525 |
}
|
526 |
add_action( 'update_option_thread_comments_depth', 'bp_blogs_update_option_thread_comments_depth', 10, 2 );
|
527 |
|
528 |
-
/**
|
529 |
-
* Syncs site icon URLs to blogmeta.
|
530 |
-
*
|
531 |
-
* @since 2.7.0
|
532 |
-
*
|
533 |
-
* @param int|string $old_value Old value
|
534 |
-
* @param int|string $new_value New value
|
535 |
-
*/
|
536 |
-
function bp_blogs_update_option_site_icon( $old_value, $new_value ) {
|
537 |
-
if ( 0 === $new_value ) {
|
538 |
-
bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_thumb', 0 );
|
539 |
-
bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_full', 0 );
|
540 |
-
} else {
|
541 |
-
// Save site icon URL as blogmeta.
|
542 |
-
bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_thumb', get_site_icon_url( bp_core_avatar_thumb_width() ) );
|
543 |
-
bp_blogs_update_blogmeta( get_current_blog_id(), 'site_icon_url_full', get_site_icon_url( bp_core_avatar_full_width() ) );
|
544 |
-
}
|
545 |
-
}
|
546 |
-
add_action( 'update_option_site_icon', 'bp_blogs_update_option_site_icon', 10, 2 );
|
547 |
-
|
548 |
/**
|
549 |
* Deletes the 'url' blogmeta for a site.
|
550 |
*
|
551 |
-
*
|
552 |
-
*
|
553 |
-
* correct hook was 'refresh_blog_details'; afterward, 'clean_site_cache'.
|
554 |
*
|
555 |
* @since 2.3.0
|
556 |
*
|
@@ -559,12 +488,7 @@ add_action( 'update_option_site_icon', 'bp_blogs_update_option_site_icon', 10, 2
|
|
559 |
function bp_blogs_delete_url_blogmeta( $site_id = 0 ) {
|
560 |
bp_blogs_delete_blogmeta( (int) $site_id, 'url' );
|
561 |
}
|
562 |
-
|
563 |
-
if ( function_exists( 'wp_switch_roles_and_user' ) ) {
|
564 |
-
add_action( 'clean_site_cache', 'bp_blogs_delete_url_blogmeta' );
|
565 |
-
} else {
|
566 |
-
add_action( 'refresh_blog_details', 'bp_blogs_delete_url_blogmeta' );
|
567 |
-
}
|
568 |
|
569 |
/**
|
570 |
* Record activity metadata about a published blog post.
|
@@ -700,7 +624,7 @@ add_action( 'bp_activity_post_type_updated', 'bp_blogs_update_post_activity_meta
|
|
700 |
* @param WP_Comment|null $comment The comment object.
|
701 |
* @param array $activity_args Array of activity arguments.
|
702 |
* @param object|null $activity_post_object The post type tracking args object.
|
703 |
-
* @return
|
704 |
*/
|
705 |
function bp_blogs_comment_sync_activity_comment( &$activity_id, $comment = null, $activity_args = array(), $activity_post_object = null ) {
|
706 |
if ( empty( $activity_args ) || empty( $comment->post->ID ) || empty( $activity_post_object->comment_action_id ) ) {
|
@@ -791,18 +715,6 @@ function bp_blogs_comment_sync_activity_comment( &$activity_id, $comment = null,
|
|
791 |
bp_activity_update_meta( $activity_id, 'post_url', esc_url_raw( add_query_arg( 'p', $comment->post->ID, home_url( '/' ) ) ) );
|
792 |
}
|
793 |
}
|
794 |
-
|
795 |
-
/**
|
796 |
-
* Fires after an activity comment is added from a WP post comment.
|
797 |
-
*
|
798 |
-
* @since 2.6.0
|
799 |
-
*
|
800 |
-
* @param int $activity_id The activity comment ID.
|
801 |
-
* @param WP_Comment $post_type_comment WP Comment object.
|
802 |
-
* @param array $activity_args Activity comment arguments.
|
803 |
-
* @param object $activity_post_object The post type tracking args object.
|
804 |
-
*/
|
805 |
-
do_action( 'bp_blogs_comment_sync_activity_comment', $activity_id, $comment, $activity_args, $activity_post_object );
|
806 |
}
|
807 |
}
|
808 |
|
@@ -840,7 +752,7 @@ add_action( 'bp_activity_post_type_comment', 'bp_blogs_comment_sync_activity_com
|
|
840 |
* @param int $user_id The ID of the user.
|
841 |
* @param string|bool $role User's WordPress role for this blog ID.
|
842 |
* @param int $blog_id Blog ID user is being added to.
|
843 |
-
* @return
|
844 |
*/
|
845 |
function bp_blogs_add_user_to_blog( $user_id, $role = false, $blog_id = 0 ) {
|
846 |
global $wpdb;
|
@@ -900,14 +812,6 @@ add_action( 'user_register', 'bp_blogs_add_user_to_blog' );
|
|
900 |
* @return string
|
901 |
*/
|
902 |
function bp_blogs_get_allowed_roles() {
|
903 |
-
|
904 |
-
/**
|
905 |
-
* Filters the allowed roles a member must have to be recorded into bp_user_blogs pointer table.
|
906 |
-
*
|
907 |
-
* @since 2.1.0
|
908 |
-
*
|
909 |
-
* @param array $value Array of potential roles user needs.
|
910 |
-
*/
|
911 |
return apply_filters( 'bp_blogs_get_allowed_roles', array( 'contributor', 'author', 'editor', 'administrator' ) );
|
912 |
}
|
913 |
|
@@ -1003,6 +907,19 @@ function bp_blogs_remove_blog_for_user( $user_id, $blog_id ) {
|
|
1003 |
|
1004 |
BP_Blogs_Blog::delete_blog_for_user( $blog_id, $user_id );
|
1005 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1006 |
/**
|
1007 |
* Fires after a blog has been removed from the tracker for a specific user.
|
1008 |
*
|
65 |
$r['include_blog_ids']
|
66 |
);
|
67 |
|
68 |
+
// Filter and return.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
return apply_filters( 'bp_blogs_get_blogs', $blogs, $r );
|
70 |
}
|
71 |
|
246 |
*/
|
247 |
function bp_blogs_is_blog_recordable( $blog_id, $user_id = 0 ) {
|
248 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
$recordable_globally = apply_filters( 'bp_blogs_is_blog_recordable', true, $blog_id );
|
250 |
|
251 |
if ( !empty( $user_id ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
252 |
$recordable_for_user = apply_filters( 'bp_blogs_is_blog_recordable_for_user', $recordable_globally, $blog_id, $user_id );
|
253 |
} else {
|
254 |
$recordable_for_user = $recordable_globally;
|
275 |
*/
|
276 |
function bp_blogs_is_blog_trackable( $blog_id, $user_id = 0 ) {
|
277 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
$trackable_globally = apply_filters( 'bp_blogs_is_blog_trackable', bp_blogs_is_blog_recordable( $blog_id, $user_id ), $blog_id );
|
279 |
|
280 |
if ( !empty( $user_id ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
$trackable_for_user = apply_filters( 'bp_blogs_is_blog_trackable_for_user', $trackable_globally, $blog_id, $user_id );
|
282 |
} else {
|
283 |
$trackable_for_user = $trackable_globally;
|
299 |
* @param int $user_id ID of the user for whom the blog is being recorded.
|
300 |
* @param bool $no_activity Optional. Whether to skip recording an activity
|
301 |
* item about this blog creation. Default: false.
|
302 |
+
* @return bool|null Returns false on failure.
|
303 |
*/
|
304 |
function bp_blogs_record_blog( $blog_id, $user_id, $no_activity = false ) {
|
305 |
|
344 |
bp_blogs_update_blogmeta( $recorded_blog->blog_id, 'thread_comments_depth', $thread_depth );
|
345 |
|
346 |
$is_private = !empty( $_POST['blog_public'] ) && (int) $_POST['blog_public'] ? false : true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
$is_private = !apply_filters( 'bp_is_new_blog_public', !$is_private );
|
348 |
|
349 |
/**
|
475 |
}
|
476 |
add_action( 'update_option_thread_comments_depth', 'bp_blogs_update_option_thread_comments_depth', 10, 2 );
|
477 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
/**
|
479 |
* Deletes the 'url' blogmeta for a site.
|
480 |
*
|
481 |
+
* Hooked to 'refresh_blog_details', which is notably used when editing a site
|
482 |
+
* under "Network Admin > Sites".
|
|
|
483 |
*
|
484 |
* @since 2.3.0
|
485 |
*
|
488 |
function bp_blogs_delete_url_blogmeta( $site_id = 0 ) {
|
489 |
bp_blogs_delete_blogmeta( (int) $site_id, 'url' );
|
490 |
}
|
491 |
+
add_action( 'refresh_blog_details', 'bp_blogs_delete_url_blogmeta' );
|
|
|
|
|
|
|
|
|
|
|
492 |
|
493 |
/**
|
494 |
* Record activity metadata about a published blog post.
|
624 |
* @param WP_Comment|null $comment The comment object.
|
625 |
* @param array $activity_args Array of activity arguments.
|
626 |
* @param object|null $activity_post_object The post type tracking args object.
|
627 |
+
* @return int|bool Returns false if no activity, the activity id otherwise.
|
628 |
*/
|
629 |
function bp_blogs_comment_sync_activity_comment( &$activity_id, $comment = null, $activity_args = array(), $activity_post_object = null ) {
|
630 |
if ( empty( $activity_args ) || empty( $comment->post->ID ) || empty( $activity_post_object->comment_action_id ) ) {
|
715 |
bp_activity_update_meta( $activity_id, 'post_url', esc_url_raw( add_query_arg( 'p', $comment->post->ID, home_url( '/' ) ) ) );
|
716 |
}
|
717 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
718 |
}
|
719 |
}
|
720 |
|
752 |
* @param int $user_id The ID of the user.
|
753 |
* @param string|bool $role User's WordPress role for this blog ID.
|
754 |
* @param int $blog_id Blog ID user is being added to.
|
755 |
+
* @return bool|null False on failure.
|
756 |
*/
|
757 |
function bp_blogs_add_user_to_blog( $user_id, $role = false, $blog_id = 0 ) {
|
758 |
global $wpdb;
|
812 |
* @return string
|
813 |
*/
|
814 |
function bp_blogs_get_allowed_roles() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
815 |
return apply_filters( 'bp_blogs_get_allowed_roles', array( 'contributor', 'author', 'editor', 'administrator' ) );
|
816 |
}
|
817 |
|
907 |
|
908 |
BP_Blogs_Blog::delete_blog_for_user( $blog_id, $user_id );
|
909 |
|
910 |
+
/**
|
911 |
+
* Delete activity stream item only if the Activity component is active
|
912 |
+
*
|
913 |
+
* @see https://buddypress.trac.wordpress.org/ticket/6937
|
914 |
+
*/
|
915 |
+
if ( bp_is_active( 'activity' ) ) {
|
916 |
+
bp_blogs_delete_activity( array(
|
917 |
+
'item_id' => $blog_id,
|
918 |
+
'component' => buddypress()->blogs->id,
|
919 |
+
'type' => 'new_blog'
|
920 |
+
) );
|
921 |
+
}
|
922 |
+
|
923 |
/**
|
924 |
* Fires after a blog has been removed from the tracker for a specific user.
|
925 |
*
|
@@ -14,10 +14,12 @@
|
|
14 |
// Exit if accessed directly.
|
15 |
defined( 'ABSPATH' ) || exit;
|
16 |
|
|
|
|
|
|
|
|
|
17 |
/**
|
18 |
* Set up the bp-blogs component.
|
19 |
-
*
|
20 |
-
* @since 1.5.0
|
21 |
*/
|
22 |
function bp_setup_blogs() {
|
23 |
buddypress()->blogs = new BP_Blogs_Component();
|
14 |
// Exit if accessed directly.
|
15 |
defined( 'ABSPATH' ) || exit;
|
16 |
|
17 |
+
if ( ! buddypress()->do_autoload ) {
|
18 |
+
require dirname( __FILE__ ) . '/classes/class-bp-blogs-component.php';
|
19 |
+
}
|
20 |
+
|
21 |
/**
|
22 |
* Set up the bp-blogs component.
|
|
|
|
|
23 |
*/
|
24 |
function bp_setup_blogs() {
|
25 |
buddypress()->blogs = new BP_Blogs_Component();
|
@@ -10,6 +10,10 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Load the "My Blogs" screen.
|
15 |
*/
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-blogs-theme-compat.php';
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Load the "My Blogs" screen.
|
19 |
*/
|
@@ -10,6 +10,10 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Output the blogs component slug.
|
15 |
*
|
@@ -216,22 +220,9 @@ function bp_the_blog() {
|
|
216 |
/**
|
217 |
* Output the blogs pagination count.
|
218 |
*
|
219 |
-
* @since 1.0.0
|
220 |
-
*/
|
221 |
-
function bp_blogs_pagination_count() {
|
222 |
-
echo bp_get_blogs_pagination_count();
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Get the blogs pagination count.
|
227 |
-
*
|
228 |
-
* @since 2.7.0
|
229 |
-
*
|
230 |
* @global object $blogs_template {@link BP_Blogs_Template}
|
231 |
-
*
|
232 |
-
* @return string
|
233 |
*/
|
234 |
-
function
|
235 |
global $blogs_template;
|
236 |
|
237 |
$start_num = intval( ( $blogs_template->pag_page - 1 ) * $blogs_template->pag_num ) + 1;
|
@@ -245,17 +236,7 @@ function bp_get_blogs_pagination_count() {
|
|
245 |
$message = sprintf( _n( 'Viewing %1$s - %2$s of %3$s site', 'Viewing %1$s - %2$s of %3$s sites', $blogs_template->total_blog_count, 'buddypress' ), $from_num, $to_num, $total );
|
246 |
}
|
247 |
|
248 |
-
|
249 |
-
* Filters the "Viewing x-y of z blogs" pagination message.
|
250 |
-
*
|
251 |
-
* @since 2.7.0
|
252 |
-
*
|
253 |
-
* @param string $message "Viewing x-y of z blogs" text.
|
254 |
-
* @param string $from_num Total amount for the low value in the range.
|
255 |
-
* @param string $to_num Total amount for the high value in the range.
|
256 |
-
* @param string $total Total amount of blogs found.
|
257 |
-
*/
|
258 |
-
return apply_filters( 'bp_get_blogs_pagination_count', $message, $from_num, $to_num, $total );
|
259 |
}
|
260 |
|
261 |
/**
|
@@ -311,6 +292,7 @@ function bp_blog_avatar( $args = '' ) {
|
|
311 |
* {@link bp_core_fetch_avatar()}.
|
312 |
* @type string $alt Default: 'Profile picture of site author [user name]'.
|
313 |
* @type string $class Default: 'avatar'.
|
|
|
314 |
* @type string $type Default: 'full'.
|
315 |
* @type int|bool $width Default: false.
|
316 |
* @type int|bool $height Default: false.
|
@@ -336,81 +318,25 @@ function bp_blog_avatar( $args = '' ) {
|
|
336 |
'width' => false,
|
337 |
'height' => false,
|
338 |
'class' => 'avatar',
|
|
|
339 |
'id' => false,
|
340 |
'alt' => sprintf( __( 'Profile picture of site author %s', 'buddypress' ), esc_attr( $author_displayname ) ),
|
341 |
'no_grav' => true,
|
342 |
) );
|
343 |
|
344 |
-
//
|
345 |
-
$avatar =
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
//
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
} else {
|
358 |
-
$size = bp_core_avatar_full_width();
|
359 |
-
$save_size = 'full';
|
360 |
-
}
|
361 |
-
|
362 |
-
$site_icon = get_site_icon_url( $size );
|
363 |
-
// Empty site icons get saved as integer 0.
|
364 |
-
if ( empty( $site_icon ) ) {
|
365 |
-
$site_icon = 0;
|
366 |
-
}
|
367 |
-
|
368 |
-
// Sync site icon for other size to blogmeta.
|
369 |
-
bp_blogs_update_blogmeta( bp_get_blog_id(), "site_icon_url_{$save_size}", $site_icon );
|
370 |
-
|
371 |
-
// Now, fetch the size we want.
|
372 |
-
if ( 0 !== $site_icon ) {
|
373 |
-
$size = 'full' === $r['type'] ? bp_core_avatar_full_width() : bp_core_avatar_thumb_width();
|
374 |
-
$site_icon = get_site_icon_url( $size );
|
375 |
-
}
|
376 |
-
|
377 |
-
// Sync site icon to blogmeta.
|
378 |
-
bp_blogs_update_blogmeta( bp_get_blog_id(), "site_icon_url_{$r['type']}", $site_icon );
|
379 |
-
|
380 |
-
restore_current_blog();
|
381 |
-
}
|
382 |
-
|
383 |
-
// We have a site icon.
|
384 |
-
if ( ! is_numeric( $site_icon ) ) {
|
385 |
-
if ( empty( $r['width'] ) && ! isset( $size ) ) {
|
386 |
-
$size = 'full' === $r['type'] ? bp_core_avatar_full_width() : bp_core_avatar_thumb_width();
|
387 |
-
} else {
|
388 |
-
$size = (int) $r['width'];
|
389 |
-
}
|
390 |
-
|
391 |
-
$avatar = sprintf( '<img src="%1$s" class="%2$s" width="%3$s" height="%3$s" alt="%4$s" />',
|
392 |
-
esc_url( $site_icon ),
|
393 |
-
esc_attr( "{$r['class']} avatar-{$size}" ),
|
394 |
-
esc_attr( $size ),
|
395 |
-
sprintf( esc_attr__( 'Site icon for %s', 'buddypress' ), bp_get_blog_name() )
|
396 |
-
);
|
397 |
-
}
|
398 |
-
}
|
399 |
-
|
400 |
-
// Fallback to user ID avatar.
|
401 |
-
if ( '' === $avatar ) {
|
402 |
-
$avatar = bp_core_fetch_avatar( array(
|
403 |
-
'item_id' => $blogs_template->blog->admin_user_id,
|
404 |
-
// 'avatar_dir' => 'blog-avatars',
|
405 |
-
// 'object' => 'blog',
|
406 |
-
'type' => $r['type'],
|
407 |
-
'alt' => $r['alt'],
|
408 |
-
'css_id' => $r['id'],
|
409 |
-
'class' => $r['class'],
|
410 |
-
'width' => $r['width'],
|
411 |
-
'height' => $r['height']
|
412 |
-
) );
|
413 |
-
}
|
414 |
|
415 |
/**
|
416 |
* In future BuddyPress versions you will be able to set the avatar for a blog.
|
@@ -640,7 +566,7 @@ function bp_blog_last_active( $args = array() ) {
|
|
640 |
/**
|
641 |
* Filters the last active date of the current blog in the loop.
|
642 |
*
|
643 |
-
* @since
|
644 |
*
|
645 |
* @param string $last_activity Last active date.
|
646 |
* @param array $r Array of parsed args used to determine formatting.
|
@@ -1079,7 +1005,7 @@ function bp_blogs_signup_blog( $blogname = '', $blog_title = '', $errors = '' )
|
|
1079 |
if ( !is_subdomain_install() )
|
1080 |
echo '<span class="prefix_address">' . $current_site->domain . $current_site->path . '</span> <input name="blogname" type="text" id="blogname" value="'.$blogname.'" maxlength="63" /><br />';
|
1081 |
else
|
1082 |
-
echo '<input name="blogname" type="text" id="blogname" value="'.$blogname.'" maxlength="63" ' . bp_get_form_field_attributes( 'blogname' ) . '/> <span class="suffix_address">.' .
|
1083 |
|
1084 |
if ( !is_user_logged_in() ) {
|
1085 |
print '(<strong>' . __( 'Your address will be ' , 'buddypress');
|
@@ -1106,8 +1032,9 @@ function bp_blogs_signup_blog( $blogname = '', $blog_title = '', $errors = '' )
|
|
1106 |
echo '<input name="blog_title" type="text" id="blog_title" value="'.esc_html($blog_title, 1).'" /></p>';
|
1107 |
?>
|
1108 |
|
1109 |
-
<
|
1110 |
-
<
|
|
|
1111 |
|
1112 |
<label class="checkbox" for="blog_public_on">
|
1113 |
<input type="radio" id="blog_public_on" name="blog_public" value="1" <?php if( !isset( $_POST['blog_public'] ) || '1' == $_POST['blog_public'] ) { ?>checked="checked"<?php } ?> />
|
@@ -1117,7 +1044,7 @@ function bp_blogs_signup_blog( $blogname = '', $blog_title = '', $errors = '' )
|
|
1117 |
<input type="radio" id="blog_public_off" name="blog_public" value="0" <?php if( isset( $_POST['blog_public'] ) && '0' == $_POST['blog_public'] ) { ?>checked="checked"<?php } ?> />
|
1118 |
<strong><?php _e( 'No' , 'buddypress'); ?></strong>
|
1119 |
</label>
|
1120 |
-
</
|
1121 |
|
1122 |
<?php
|
1123 |
|
@@ -1338,7 +1265,7 @@ function bp_blog_create_button() {
|
|
1338 |
*
|
1339 |
* @since 2.0.0
|
1340 |
*
|
1341 |
-
* @return
|
1342 |
*/
|
1343 |
function bp_get_blog_create_button() {
|
1344 |
if ( ! is_user_logged_in() ) {
|
@@ -1353,6 +1280,7 @@ function bp_blog_create_button() {
|
|
1353 |
'id' => 'create_blog',
|
1354 |
'component' => 'blogs',
|
1355 |
'link_text' => __( 'Create a Site', 'buddypress' ),
|
|
|
1356 |
'link_class' => 'blog-create no-ajax',
|
1357 |
'link_href' => trailingslashit( bp_get_blogs_directory_permalink() . 'create' ),
|
1358 |
'wrapper' => false,
|
@@ -1396,13 +1324,6 @@ function bp_blog_create_nav_item() {
|
|
1396 |
|
1397 |
$output = '<li id="blog-create-nav">' . $create_blog_button . '</li>';
|
1398 |
|
1399 |
-
/**
|
1400 |
-
* Filters the Create A Site nav item output.
|
1401 |
-
*
|
1402 |
-
* @since 2.2.0
|
1403 |
-
*
|
1404 |
-
* @param string $output Nav item output.
|
1405 |
-
*/
|
1406 |
return apply_filters( 'bp_get_blog_create_nav_item', $output );
|
1407 |
}
|
1408 |
|
@@ -1412,7 +1333,7 @@ function bp_blog_create_nav_item() {
|
|
1412 |
*
|
1413 |
* @since 2.2.0
|
1414 |
*
|
1415 |
-
* @return string
|
1416 |
*/
|
1417 |
function bp_blog_backcompat_create_nav_item() {
|
1418 |
// Bail if Blogs nav item is already used by bp-legacy.
|
@@ -1456,6 +1377,7 @@ function bp_blogs_visit_blog_button( $args = '' ) {
|
|
1456 |
* @type string $link_href Permalink of the current blog in the loop.
|
1457 |
* @type string $link_class Default: 'blog-button visit'.
|
1458 |
* @type string $link_text Default: 'Visit Site'.
|
|
|
1459 |
* }
|
1460 |
* @return string The HTML for the Visit button.
|
1461 |
*/
|
@@ -1469,6 +1391,7 @@ function bp_blogs_visit_blog_button( $args = '' ) {
|
|
1469 |
'link_href' => bp_get_blog_permalink(),
|
1470 |
'link_class' => 'blog-button visit',
|
1471 |
'link_text' => __( 'Visit Site', 'buddypress' ),
|
|
|
1472 |
);
|
1473 |
|
1474 |
$button = wp_parse_args( $args, $defaults );
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-blogs-template.php';
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Output the blogs component slug.
|
19 |
*
|
220 |
/**
|
221 |
* Output the blogs pagination count.
|
222 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
* @global object $blogs_template {@link BP_Blogs_Template}
|
|
|
|
|
224 |
*/
|
225 |
+
function bp_blogs_pagination_count() {
|
226 |
global $blogs_template;
|
227 |
|
228 |
$start_num = intval( ( $blogs_template->pag_page - 1 ) * $blogs_template->pag_num ) + 1;
|
236 |
$message = sprintf( _n( 'Viewing %1$s - %2$s of %3$s site', 'Viewing %1$s - %2$s of %3$s sites', $blogs_template->total_blog_count, 'buddypress' ), $from_num, $to_num, $total );
|
237 |
}
|
238 |
|
239 |
+
echo $message;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
240 |
}
|
241 |
|
242 |
/**
|
292 |
* {@link bp_core_fetch_avatar()}.
|
293 |
* @type string $alt Default: 'Profile picture of site author [user name]'.
|
294 |
* @type string $class Default: 'avatar'.
|
295 |
+
* @type string $title Default: 'Profile picture of site author [user name]'.
|
296 |
* @type string $type Default: 'full'.
|
297 |
* @type int|bool $width Default: false.
|
298 |
* @type int|bool $height Default: false.
|
318 |
'width' => false,
|
319 |
'height' => false,
|
320 |
'class' => 'avatar',
|
321 |
+
'title' => sprintf( __( 'Profile picture of site author %s', 'buddypress' ), esc_attr( $author_displayname ) ),
|
322 |
'id' => false,
|
323 |
'alt' => sprintf( __( 'Profile picture of site author %s', 'buddypress' ), esc_attr( $author_displayname ) ),
|
324 |
'no_grav' => true,
|
325 |
) );
|
326 |
|
327 |
+
// Fetch the avatar.
|
328 |
+
$avatar = bp_core_fetch_avatar( array(
|
329 |
+
'item_id' => $blogs_template->blog->admin_user_id,
|
330 |
+
'title' => $r['title'],
|
331 |
+
// 'avatar_dir' => 'blog-avatars',
|
332 |
+
// 'object' => 'blog',
|
333 |
+
'type' => $r['type'],
|
334 |
+
'alt' => $r['alt'],
|
335 |
+
'css_id' => $r['id'],
|
336 |
+
'class' => $r['class'],
|
337 |
+
'width' => $r['width'],
|
338 |
+
'height' => $r['height']
|
339 |
+
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
340 |
|
341 |
/**
|
342 |
* In future BuddyPress versions you will be able to set the avatar for a blog.
|
566 |
/**
|
567 |
* Filters the last active date of the current blog in the loop.
|
568 |
*
|
569 |
+
* @since
|
570 |
*
|
571 |
* @param string $last_activity Last active date.
|
572 |
* @param array $r Array of parsed args used to determine formatting.
|
1005 |
if ( !is_subdomain_install() )
|
1006 |
echo '<span class="prefix_address">' . $current_site->domain . $current_site->path . '</span> <input name="blogname" type="text" id="blogname" value="'.$blogname.'" maxlength="63" /><br />';
|
1007 |
else
|
1008 |
+
echo '<input name="blogname" type="text" id="blogname" value="'.$blogname.'" maxlength="63" ' . bp_get_form_field_attributes( 'blogname' ) . '/> <span class="suffix_address">.' . bp_blogs_get_subdomain_base() . '</span><br />';
|
1009 |
|
1010 |
if ( !is_user_logged_in() ) {
|
1011 |
print '(<strong>' . __( 'Your address will be ' , 'buddypress');
|
1032 |
echo '<input name="blog_title" type="text" id="blog_title" value="'.esc_html($blog_title, 1).'" /></p>';
|
1033 |
?>
|
1034 |
|
1035 |
+
<p>
|
1036 |
+
<label for="blog_public_on"><?php _e('Privacy:', 'buddypress') ?></label>
|
1037 |
+
<?php _e( 'I would like my site to appear in search engines, and in public listings around this network.', 'buddypress' ); ?>
|
1038 |
|
1039 |
<label class="checkbox" for="blog_public_on">
|
1040 |
<input type="radio" id="blog_public_on" name="blog_public" value="1" <?php if( !isset( $_POST['blog_public'] ) || '1' == $_POST['blog_public'] ) { ?>checked="checked"<?php } ?> />
|
1044 |
<input type="radio" id="blog_public_off" name="blog_public" value="0" <?php if( isset( $_POST['blog_public'] ) && '0' == $_POST['blog_public'] ) { ?>checked="checked"<?php } ?> />
|
1045 |
<strong><?php _e( 'No' , 'buddypress'); ?></strong>
|
1046 |
</label>
|
1047 |
+
</p>
|
1048 |
|
1049 |
<?php
|
1050 |
|
1265 |
*
|
1266 |
* @since 2.0.0
|
1267 |
*
|
1268 |
+
* @return string
|
1269 |
*/
|
1270 |
function bp_get_blog_create_button() {
|
1271 |
if ( ! is_user_logged_in() ) {
|
1280 |
'id' => 'create_blog',
|
1281 |
'component' => 'blogs',
|
1282 |
'link_text' => __( 'Create a Site', 'buddypress' ),
|
1283 |
+
'link_title' => __( 'Create a Site', 'buddypress' ),
|
1284 |
'link_class' => 'blog-create no-ajax',
|
1285 |
'link_href' => trailingslashit( bp_get_blogs_directory_permalink() . 'create' ),
|
1286 |
'wrapper' => false,
|
1324 |
|
1325 |
$output = '<li id="blog-create-nav">' . $create_blog_button . '</li>';
|
1326 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1327 |
return apply_filters( 'bp_get_blog_create_nav_item', $output );
|
1328 |
}
|
1329 |
|
1333 |
*
|
1334 |
* @since 2.2.0
|
1335 |
*
|
1336 |
+
* @return string HTML Output
|
1337 |
*/
|
1338 |
function bp_blog_backcompat_create_nav_item() {
|
1339 |
// Bail if Blogs nav item is already used by bp-legacy.
|
1377 |
* @type string $link_href Permalink of the current blog in the loop.
|
1378 |
* @type string $link_class Default: 'blog-button visit'.
|
1379 |
* @type string $link_text Default: 'Visit Site'.
|
1380 |
+
* @type string $link_title Default: 'Visit Site'.
|
1381 |
* }
|
1382 |
* @return string The HTML for the Visit button.
|
1383 |
*/
|
1391 |
'link_href' => bp_get_blog_permalink(),
|
1392 |
'link_class' => 'blog-button visit',
|
1393 |
'link_text' => __( 'Visit Site', 'buddypress' ),
|
1394 |
+
'link_title' => __( 'Visit Site', 'buddypress' ),
|
1395 |
);
|
1396 |
|
1397 |
$button = wp_parse_args( $args, $defaults );
|
@@ -10,6 +10,10 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Register the widgets for the Blogs component.
|
15 |
*/
|
@@ -17,7 +21,7 @@ function bp_blogs_register_widgets() {
|
|
17 |
global $wpdb;
|
18 |
|
19 |
if ( bp_is_active( 'activity' ) && bp_is_root_blog( $wpdb->blogid ) ) {
|
20 |
-
add_action( 'widgets_init',
|
21 |
}
|
22 |
}
|
23 |
add_action( 'bp_register_widgets', 'bp_blogs_register_widgets' );
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-blogs-recent-posts-widget.php';
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Register the widgets for the Blogs component.
|
19 |
*/
|
21 |
global $wpdb;
|
22 |
|
23 |
if ( bp_is_active( 'activity' ) && bp_is_root_blog( $wpdb->blogid ) ) {
|
24 |
+
add_action( 'widgets_init', create_function( '', 'return register_widget("BP_Blogs_Recent_Posts_Widget");' ) );
|
25 |
}
|
26 |
}
|
27 |
add_action( 'bp_register_widgets', 'bp_blogs_register_widgets' );
|
@@ -48,7 +48,7 @@ class BP_Blogs_Blog {
|
|
48 |
*/
|
49 |
public function __construct( $id = null ) {
|
50 |
if ( !empty( $id ) ) {
|
51 |
-
$this->id =
|
52 |
$this->populate();
|
53 |
}
|
54 |
}
|
@@ -63,8 +63,8 @@ class BP_Blogs_Blog {
|
|
63 |
|
64 |
$blog = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->blogs->table_name} WHERE id = %d", $this->id ) );
|
65 |
|
66 |
-
$this->user_id =
|
67 |
-
$this->blog_id =
|
68 |
}
|
69 |
|
70 |
/**
|
@@ -75,24 +75,7 @@ class BP_Blogs_Blog {
|
|
75 |
public function save() {
|
76 |
global $wpdb;
|
77 |
|
78 |
-
/**
|
79 |
-
* Filters the blog user ID before save.
|
80 |
-
*
|
81 |
-
* @since 1.0.0
|
82 |
-
*
|
83 |
-
* @param int $value User ID.
|
84 |
-
* @param int $value Site ID.
|
85 |
-
*/
|
86 |
$this->user_id = apply_filters( 'bp_blogs_blog_user_id_before_save', $this->user_id, $this->id );
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Filters the blog blog ID before save.
|
90 |
-
*
|
91 |
-
* @since 1.0.0
|
92 |
-
*
|
93 |
-
* @param int $value Blog ID.
|
94 |
-
* @param int $value Site ID.
|
95 |
-
*/
|
96 |
$this->blog_id = apply_filters( 'bp_blogs_blog_id_before_save', $this->blog_id, $this->id );
|
97 |
|
98 |
/**
|
@@ -260,12 +243,6 @@ class BP_Blogs_Blog {
|
|
260 |
|
261 |
$paged_blogs = BP_Blogs_Blog::get_blog_extras( $paged_blogs, $blog_ids, $type );
|
262 |
|
263 |
-
// Integer casting.
|
264 |
-
foreach ( (array) $paged_blogs as $key => $data ) {
|
265 |
-
$paged_blogs[ $key ]->blog_id = (int) $paged_blogs[ $key ]->blog_id;
|
266 |
-
$paged_blogs[ $key ]->admin_user_id = (int) $paged_blogs[ $key ]->admin_user_id;
|
267 |
-
}
|
268 |
-
|
269 |
if ( $update_meta_cache ) {
|
270 |
bp_blogs_update_meta_cache( $blog_ids );
|
271 |
}
|
@@ -361,8 +338,8 @@ class BP_Blogs_Blog {
|
|
361 |
$user_blogs = array();
|
362 |
foreach ( (array) $blogs as $blog ) {
|
363 |
$user_blogs[$blog->blog_id] = new stdClass;
|
364 |
-
$user_blogs[$blog->blog_id]->id =
|
365 |
-
$user_blogs[$blog->blog_id]->blog_id =
|
366 |
$user_blogs[$blog->blog_id]->siteurl = ( is_ssl() ) ? 'https://' . $blog->domain . $blog->path : 'http://' . $blog->domain . $blog->path;
|
367 |
$user_blogs[$blog->blog_id]->name = $blog->name;
|
368 |
}
|
@@ -387,7 +364,7 @@ class BP_Blogs_Blog {
|
|
387 |
if ( !$user_id )
|
388 |
$user_id = bp_displayed_user_id();
|
389 |
|
390 |
-
return
|
391 |
}
|
392 |
|
393 |
/**
|
@@ -402,9 +379,7 @@ class BP_Blogs_Blog {
|
|
402 |
|
403 |
$bp = buddypress();
|
404 |
|
405 |
-
|
406 |
-
|
407 |
-
return is_numeric( $query ) ? (int) $query : $query;
|
408 |
}
|
409 |
|
410 |
/**
|
@@ -469,12 +444,7 @@ class BP_Blogs_Blog {
|
|
469 |
$paged_blogs = $wpdb->get_results( "SELECT DISTINCT bm.blog_id FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE ( ( bm.meta_key = 'name' OR bm.meta_key = 'description' ) AND {$search_terms_sql} ) {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY meta_value ASC{$pag_sql}" );
|
470 |
$total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT bm.blog_id) FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE ( ( bm.meta_key = 'name' OR bm.meta_key = 'description' ) AND {$search_terms_sql} ) {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY meta_value ASC" );
|
471 |
|
472 |
-
|
473 |
-
foreach ( (array) $paged_blogs as $key => $data ) {
|
474 |
-
$paged_blogs[ $key ]->blog_id = (int) $paged_blogs[ $key ]->blog_id;
|
475 |
-
}
|
476 |
-
|
477 |
-
return array( 'blogs' => $paged_blogs, 'total' => (int) $total_blogs );
|
478 |
}
|
479 |
|
480 |
/**
|
@@ -502,12 +472,7 @@ class BP_Blogs_Blog {
|
|
502 |
$paged_blogs = $wpdb->get_results( "SELECT DISTINCT b.blog_id FROM {$bp->blogs->table_name} b LEFT JOIN {$wpdb->base_prefix}blogs wb ON b.blog_id = wb.blog_id WHERE wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 {$hidden_sql} {$pag_sql}" );
|
503 |
$total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT b.blog_id) FROM {$bp->blogs->table_name} b LEFT JOIN {$wpdb->base_prefix}blogs wb ON b.blog_id = wb.blog_id WHERE wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 {$hidden_sql}" );
|
504 |
|
505 |
-
|
506 |
-
foreach ( (array) $paged_blogs as $key => $data ) {
|
507 |
-
$paged_blogs[ $key ]->blog_id = (int) $paged_blogs[ $key ]->blog_id;
|
508 |
-
}
|
509 |
-
|
510 |
-
return array( 'blogs' => $paged_blogs, 'total' => (int) $total_blogs );
|
511 |
}
|
512 |
|
513 |
/**
|
@@ -544,12 +509,7 @@ class BP_Blogs_Blog {
|
|
544 |
$paged_blogs = $wpdb->get_results( "SELECT DISTINCT bm.blog_id FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE bm.meta_key = 'name' AND {$letter_sql} {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY bm.meta_value ASC{$pag_sql}" );
|
545 |
$total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT bm.blog_id) FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE bm.meta_key = 'name' AND {$letter_sql} {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY bm.meta_value ASC" );
|
546 |
|
547 |
-
|
548 |
-
foreach ( (array) $paged_blogs as $key => $data ) {
|
549 |
-
$paged_blogs[ $key ]->blog_id = (int) $paged_blogs[ $key ]->blog_id;
|
550 |
-
}
|
551 |
-
|
552 |
-
return array( 'blogs' => $paged_blogs, 'total' => (int) $total_blogs );
|
553 |
}
|
554 |
|
555 |
/**
|
48 |
*/
|
49 |
public function __construct( $id = null ) {
|
50 |
if ( !empty( $id ) ) {
|
51 |
+
$this->id = $id;
|
52 |
$this->populate();
|
53 |
}
|
54 |
}
|
63 |
|
64 |
$blog = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$bp->blogs->table_name} WHERE id = %d", $this->id ) );
|
65 |
|
66 |
+
$this->user_id = $blog->user_id;
|
67 |
+
$this->blog_id = $blog->blog_id;
|
68 |
}
|
69 |
|
70 |
/**
|
75 |
public function save() {
|
76 |
global $wpdb;
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
$this->user_id = apply_filters( 'bp_blogs_blog_user_id_before_save', $this->user_id, $this->id );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
$this->blog_id = apply_filters( 'bp_blogs_blog_id_before_save', $this->blog_id, $this->id );
|
80 |
|
81 |
/**
|
243 |
|
244 |
$paged_blogs = BP_Blogs_Blog::get_blog_extras( $paged_blogs, $blog_ids, $type );
|
245 |
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
if ( $update_meta_cache ) {
|
247 |
bp_blogs_update_meta_cache( $blog_ids );
|
248 |
}
|
338 |
$user_blogs = array();
|
339 |
foreach ( (array) $blogs as $blog ) {
|
340 |
$user_blogs[$blog->blog_id] = new stdClass;
|
341 |
+
$user_blogs[$blog->blog_id]->id = $blog->id;
|
342 |
+
$user_blogs[$blog->blog_id]->blog_id = $blog->blog_id;
|
343 |
$user_blogs[$blog->blog_id]->siteurl = ( is_ssl() ) ? 'https://' . $blog->domain . $blog->path : 'http://' . $blog->domain . $blog->path;
|
344 |
$user_blogs[$blog->blog_id]->name = $blog->name;
|
345 |
}
|
364 |
if ( !$user_id )
|
365 |
$user_id = bp_displayed_user_id();
|
366 |
|
367 |
+
return $wpdb->get_col( $wpdb->prepare( "SELECT blog_id FROM {$bp->blogs->table_name} WHERE user_id = %d", $user_id ) );
|
368 |
}
|
369 |
|
370 |
/**
|
379 |
|
380 |
$bp = buddypress();
|
381 |
|
382 |
+
return $wpdb->get_var( $wpdb->prepare( "SELECT id FROM {$bp->blogs->table_name} WHERE blog_id = %d", $blog_id ) );
|
|
|
|
|
383 |
}
|
384 |
|
385 |
/**
|
444 |
$paged_blogs = $wpdb->get_results( "SELECT DISTINCT bm.blog_id FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE ( ( bm.meta_key = 'name' OR bm.meta_key = 'description' ) AND {$search_terms_sql} ) {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY meta_value ASC{$pag_sql}" );
|
445 |
$total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT bm.blog_id) FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE ( ( bm.meta_key = 'name' OR bm.meta_key = 'description' ) AND {$search_terms_sql} ) {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY meta_value ASC" );
|
446 |
|
447 |
+
return array( 'blogs' => $paged_blogs, 'total' => $total_blogs );
|
|
|
|
|
|
|
|
|
|
|
448 |
}
|
449 |
|
450 |
/**
|
472 |
$paged_blogs = $wpdb->get_results( "SELECT DISTINCT b.blog_id FROM {$bp->blogs->table_name} b LEFT JOIN {$wpdb->base_prefix}blogs wb ON b.blog_id = wb.blog_id WHERE wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 {$hidden_sql} {$pag_sql}" );
|
473 |
$total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT b.blog_id) FROM {$bp->blogs->table_name} b LEFT JOIN {$wpdb->base_prefix}blogs wb ON b.blog_id = wb.blog_id WHERE wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 {$hidden_sql}" );
|
474 |
|
475 |
+
return array( 'blogs' => $paged_blogs, 'total' => $total_blogs );
|
|
|
|
|
|
|
|
|
|
|
476 |
}
|
477 |
|
478 |
/**
|
509 |
$paged_blogs = $wpdb->get_results( "SELECT DISTINCT bm.blog_id FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE bm.meta_key = 'name' AND {$letter_sql} {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY bm.meta_value ASC{$pag_sql}" );
|
510 |
$total_blogs = $wpdb->get_var( "SELECT COUNT(DISTINCT bm.blog_id) FROM {$bp->blogs->table_name_blogmeta} bm LEFT JOIN {$wpdb->base_prefix}blogs wb ON bm.blog_id = wb.blog_id WHERE bm.meta_key = 'name' AND {$letter_sql} {$hidden_sql} AND wb.mature = 0 AND wb.spam = 0 AND wb.archived = '0' AND wb.deleted = 0 ORDER BY bm.meta_value ASC" );
|
511 |
|
512 |
+
return array( 'blogs' => $paged_blogs, 'total' => $total_blogs );
|
|
|
|
|
|
|
|
|
|
|
513 |
}
|
514 |
|
515 |
/**
|
@@ -32,7 +32,6 @@ class BP_Blogs_Component extends BP_Component {
|
|
32 |
array(
|
33 |
'adminbar_myaccount_order' => 30,
|
34 |
'search_query_arg' => 'sites_search',
|
35 |
-
'features' => array( 'site-icon' )
|
36 |
)
|
37 |
);
|
38 |
}
|
@@ -66,16 +65,12 @@ class BP_Blogs_Component extends BP_Component {
|
|
66 |
'blog' => $bp->table_prefix . 'bp_user_blogs_blogmeta',
|
67 |
);
|
68 |
|
69 |
-
// Fetch the default directory title.
|
70 |
-
$default_directory_titles = bp_core_get_directory_page_default_titles();
|
71 |
-
$default_directory_title = $default_directory_titles[$this->id];
|
72 |
-
|
73 |
// All globals for blogs component.
|
74 |
$args = array(
|
75 |
'slug' => BP_BLOGS_SLUG,
|
76 |
'root_slug' => isset( $bp->pages->blogs->slug ) ? $bp->pages->blogs->slug : BP_BLOGS_SLUG,
|
77 |
'has_directory' => is_multisite(), // Non-multisite installs don't need a top-level Sites directory, since there's only one site.
|
78 |
-
'directory_title' =>
|
79 |
'notification_callback' => 'bp_blogs_format_notifications',
|
80 |
'search_string' => __( 'Search sites...', 'buddypress' ),
|
81 |
'autocomplete_all' => defined( 'BP_MESSAGES_AUTOCOMPLETE_ALL' ),
|
@@ -132,6 +127,10 @@ class BP_Blogs_Component extends BP_Component {
|
|
132 |
'functions',
|
133 |
);
|
134 |
|
|
|
|
|
|
|
|
|
135 |
if ( bp_is_active( 'activity' ) ) {
|
136 |
$includes[] = 'activity';
|
137 |
}
|
32 |
array(
|
33 |
'adminbar_myaccount_order' => 30,
|
34 |
'search_query_arg' => 'sites_search',
|
|
|
35 |
)
|
36 |
);
|
37 |
}
|
65 |
'blog' => $bp->table_prefix . 'bp_user_blogs_blogmeta',
|
66 |
);
|
67 |
|
|
|
|
|
|
|
|
|
68 |
// All globals for blogs component.
|
69 |
$args = array(
|
70 |
'slug' => BP_BLOGS_SLUG,
|
71 |
'root_slug' => isset( $bp->pages->blogs->slug ) ? $bp->pages->blogs->slug : BP_BLOGS_SLUG,
|
72 |
'has_directory' => is_multisite(), // Non-multisite installs don't need a top-level Sites directory, since there's only one site.
|
73 |
+
'directory_title' => _x( 'Sites', 'component directory title', 'buddypress' ),
|
74 |
'notification_callback' => 'bp_blogs_format_notifications',
|
75 |
'search_string' => __( 'Search sites...', 'buddypress' ),
|
76 |
'autocomplete_all' => defined( 'BP_MESSAGES_AUTOCOMPLETE_ALL' ),
|
127 |
'functions',
|
128 |
);
|
129 |
|
130 |
+
if ( ! buddypress()->do_autoload ) {
|
131 |
+
$includes[] = 'classes';
|
132 |
+
}
|
133 |
+
|
134 |
if ( bp_is_active( 'activity' ) ) {
|
135 |
$includes[] = 'activity';
|
136 |
}
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Core component classes for wp-admin screens.
|
4 |
+
*
|
5 |
+
* @package BuddyPress
|
6 |
+
* @subpackage Core
|
7 |
+
* @since 2.5.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly.
|
11 |
+
defined( 'ABSPATH' ) || exit;
|
12 |
+
|
13 |
+
require dirname( dirname( __FILE__ ) ) . '/classes/class-bp-walker-category-checklist.php';
|
@@ -196,15 +196,11 @@ function bp_core_admin_components_options() {
|
|
196 |
|
197 |
<?php if ( !in_array( $name, array( 'core', 'members' ) ) ) : ?>
|
198 |
|
199 |
-
<input type="checkbox" id="<?php echo esc_attr( "bp_components[$name]" ); ?>" name="<?php echo esc_attr( "bp_components[$name]" ); ?>" value="1"<?php checked( isset( $active_components[esc_attr( $name )] ) ); ?> /><label for="<?php echo esc_attr( "bp_components[$name]" ); ?>" class="screen-reader-text"><?php
|
200 |
-
/* translators: accessibility text */
|
201 |
-
printf( __( 'Select %s', 'buddypress' ), esc_html( $labels['title'] ) ); ?></label>
|
202 |
|
203 |
<?php else : ?>
|
204 |
|
205 |
-
<input type="checkbox" id="<?php echo esc_attr( "bp_components[$name]" ); ?>" name="<?php echo esc_attr( "bp_components[$name]" ); ?>" value="1" checked="checked" disabled><label for="<?php echo esc_attr( "bp_components[$name]" ); ?>" class="screen-reader-text"><?php
|
206 |
-
/* translators: accessibility text */
|
207 |
-
printf( __( '%s is a required component', 'buddypress' ), esc_html( $labels['title'] ) ); ?></label>
|
208 |
|
209 |
<?php endif; ?>
|
210 |
|
@@ -276,7 +272,6 @@ function bp_core_admin_components_settings_handler() {
|
|
276 |
$bp = buddypress();
|
277 |
|
278 |
// Save settings and upgrade schema.
|
279 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
280 |
require_once( $bp->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
|
281 |
|
282 |
$submitted = stripslashes_deep( $_POST['bp_components'] );
|
196 |
|
197 |
<?php if ( !in_array( $name, array( 'core', 'members' ) ) ) : ?>
|
198 |
|
199 |
+
<input type="checkbox" id="<?php echo esc_attr( "bp_components[$name]" ); ?>" name="<?php echo esc_attr( "bp_components[$name]" ); ?>" value="1"<?php checked( isset( $active_components[esc_attr( $name )] ) ); ?> /><label for="<?php echo esc_attr( "bp_components[$name]" ); ?>" class="screen-reader-text"><?php printf( __( 'Select %s', 'buddypress' ), esc_html( $labels['title'] ) ); ?></label>
|
|
|
|
|
200 |
|
201 |
<?php else : ?>
|
202 |
|
203 |
+
<input type="checkbox" id="<?php echo esc_attr( "bp_components[$name]" ); ?>" name="<?php echo esc_attr( "bp_components[$name]" ); ?>" value="1" checked="checked" disabled><label for="<?php echo esc_attr( "bp_components[$name]" ); ?>" class="screen-reader-text"><?php printf( __( '%s is a required component', 'buddypress' ), esc_html( $labels['title'] ) ); ?></label>
|
|
|
|
|
204 |
|
205 |
<?php endif; ?>
|
206 |
|
272 |
$bp = buddypress();
|
273 |
|
274 |
// Save settings and upgrade schema.
|
|
|
275 |
require_once( $bp->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
|
276 |
|
277 |
$submitted = stripslashes_deep( $_POST['bp_components'] );
|
@@ -314,7 +314,7 @@ function bp_core_activation_notice() {
|
|
314 |
|
315 |
// BP components cannot share a single WP page. Check for duplicate assignments, and post a message if found.
|
316 |
$dupe_names = array();
|
317 |
-
$page_ids = bp_core_get_directory_page_ids();
|
318 |
$dupes = array_diff_assoc( $page_ids, array_unique( $page_ids ) );
|
319 |
|
320 |
if ( !empty( $dupes ) ) {
|
@@ -804,29 +804,7 @@ function bp_admin_do_wp_nav_menu_meta_box() {
|
|
804 |
</ul>
|
805 |
</div>
|
806 |
|
807 |
-
<?php
|
808 |
-
$removed_args = array(
|
809 |
-
'action',
|
810 |
-
'customlink-tab',
|
811 |
-
'edit-menu-item',
|
812 |
-
'menu-item',
|
813 |
-
'page-tab',
|
814 |
-
'_wpnonce',
|
815 |
-
);
|
816 |
-
?>
|
817 |
-
|
818 |
<p class="button-controls">
|
819 |
-
<span class="list-controls">
|
820 |
-
<a href="<?php
|
821 |
-
echo esc_url( add_query_arg(
|
822 |
-
array(
|
823 |
-
$post_type_name . '-tab' => 'all',
|
824 |
-
'selectall' => 1,
|
825 |
-
),
|
826 |
-
remove_query_arg( $removed_args )
|
827 |
-
) );
|
828 |
-
?>#buddypress-menu" class="select-all"><?php _e( 'Select All', 'buddypress' ); ?></a>
|
829 |
-
</span>
|
830 |
<span class="add-to-menu">
|
831 |
<input type="submit"<?php if ( function_exists( 'wp_nav_menu_disabled_check' ) ) : wp_nav_menu_disabled_check( $nav_menu_selected_id ); endif; ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu', 'buddypress' ); ?>" name="add-custom-menu-item" id="submit-buddypress-menu" />
|
832 |
<span class="spinner"></span>
|
@@ -1113,43 +1091,3 @@ function bp_core_admin_user_spammed_js() {
|
|
1113 |
</script>
|
1114 |
<?php
|
1115 |
}
|
1116 |
-
|
1117 |
-
/**
|
1118 |
-
* Catch and process an admin notice dismissal.
|
1119 |
-
*
|
1120 |
-
* @since 2.7.0
|
1121 |
-
*/
|
1122 |
-
function bp_core_admin_notice_dismiss_callback() {
|
1123 |
-
if ( ! current_user_can( 'install_plugins' ) ) {
|
1124 |
-
wp_send_json_error();
|
1125 |
-
}
|
1126 |
-
|
1127 |
-
if ( empty( $_POST['nonce'] ) || empty( $_POST['notice_id'] ) ) {
|
1128 |
-
wp_send_json_error();
|
1129 |
-
}
|
1130 |
-
|
1131 |
-
$notice_id = wp_unslash( $_POST['notice_id'] );
|
1132 |
-
|
1133 |
-
if ( ! wp_verify_nonce( $_POST['nonce'], 'bp-dismissible-notice-' . $notice_id ) ) {
|
1134 |
-
wp_send_json_error();
|
1135 |
-
}
|
1136 |
-
|
1137 |
-
bp_update_option( "bp-dismissed-notice-$notice_id", 1 );
|
1138 |
-
|
1139 |
-
wp_send_json_success();
|
1140 |
-
}
|
1141 |
-
add_action( 'wp_ajax_bp_dismiss_notice', 'bp_core_admin_notice_dismiss_callback' );
|
1142 |
-
|
1143 |
-
/**
|
1144 |
-
* Add a "buddypress" class to body element of wp-admin.
|
1145 |
-
*
|
1146 |
-
* @since 2.8.0
|
1147 |
-
*
|
1148 |
-
* @param string $classes CSS classes for the body tag in the admin, a comma separated string.
|
1149 |
-
*
|
1150 |
-
* @return string
|
1151 |
-
*/
|
1152 |
-
function bp_core_admin_body_classes( $classes ) {
|
1153 |
-
return $classes . ' buddypress';
|
1154 |
-
}
|
1155 |
-
add_filter( 'admin_body_class', 'bp_core_admin_body_classes' );
|
314 |
|
315 |
// BP components cannot share a single WP page. Check for duplicate assignments, and post a message if found.
|
316 |
$dupe_names = array();
|
317 |
+
$page_ids = (array)bp_core_get_directory_page_ids();
|
318 |
$dupes = array_diff_assoc( $page_ids, array_unique( $page_ids ) );
|
319 |
|
320 |
if ( !empty( $dupes ) ) {
|
804 |
</ul>
|
805 |
</div>
|
806 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
807 |
<p class="button-controls">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
808 |
<span class="add-to-menu">
|
809 |
<input type="submit"<?php if ( function_exists( 'wp_nav_menu_disabled_check' ) ) : wp_nav_menu_disabled_check( $nav_menu_selected_id ); endif; ?> class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu', 'buddypress' ); ?>" name="add-custom-menu-item" id="submit-buddypress-menu" />
|
810 |
<span class="spinner"></span>
|
1091 |
</script>
|
1092 |
<?php
|
1093 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -10,6 +10,23 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Main installer.
|
15 |
*
|
@@ -76,7 +93,7 @@ function bp_core_install( $active_components = false ) {
|
|
76 |
*/
|
77 |
function bp_core_install_notifications() {
|
78 |
$sql = array();
|
79 |
-
$charset_collate =
|
80 |
$bp_prefix = bp_core_get_table_prefix();
|
81 |
|
82 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_notifications (
|
@@ -117,7 +134,7 @@ function bp_core_install_notifications() {
|
|
117 |
*/
|
118 |
function bp_core_install_activity_streams() {
|
119 |
$sql = array();
|
120 |
-
$charset_collate =
|
121 |
$bp_prefix = bp_core_get_table_prefix();
|
122 |
|
123 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_activity (
|
@@ -167,7 +184,7 @@ function bp_core_install_activity_streams() {
|
|
167 |
*/
|
168 |
function bp_core_install_friends() {
|
169 |
$sql = array();
|
170 |
-
$charset_collate =
|
171 |
$bp_prefix = bp_core_get_table_prefix();
|
172 |
|
173 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_friends (
|
@@ -192,7 +209,7 @@ function bp_core_install_friends() {
|
|
192 |
*/
|
193 |
function bp_core_install_groups() {
|
194 |
$sql = array();
|
195 |
-
$charset_collate =
|
196 |
$bp_prefix = bp_core_get_table_prefix();
|
197 |
|
198 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_groups (
|
@@ -202,12 +219,10 @@ function bp_core_install_groups() {
|
|
202 |
slug varchar(200) NOT NULL,
|
203 |
description longtext NOT NULL,
|
204 |
status varchar(10) NOT NULL DEFAULT 'public',
|
205 |
-
parent_id bigint(20) NOT NULL DEFAULT 0,
|
206 |
enable_forum tinyint(1) NOT NULL DEFAULT '1',
|
207 |
date_created datetime NOT NULL,
|
208 |
KEY creator_id (creator_id),
|
209 |
-
KEY status (status)
|
210 |
-
KEY parent_id (parent_id)
|
211 |
) {$charset_collate};";
|
212 |
|
213 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_groups_members (
|
@@ -251,7 +266,7 @@ function bp_core_install_groups() {
|
|
251 |
*/
|
252 |
function bp_core_install_private_messaging() {
|
253 |
$sql = array();
|
254 |
-
$charset_collate =
|
255 |
$bp_prefix = bp_core_get_table_prefix();
|
256 |
|
257 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_messages_messages (
|
@@ -310,7 +325,7 @@ function bp_core_install_extended_profiles() {
|
|
310 |
global $wpdb;
|
311 |
|
312 |
$sql = array();
|
313 |
-
$charset_collate =
|
314 |
$bp_prefix = bp_core_get_table_prefix();
|
315 |
|
316 |
// These values should only be updated if they are not already present.
|
@@ -395,7 +410,7 @@ function bp_core_install_extended_profiles() {
|
|
395 |
*/
|
396 |
function bp_core_install_blog_tracking() {
|
397 |
$sql = array();
|
398 |
-
$charset_collate =
|
399 |
$bp_prefix = bp_core_get_table_prefix();
|
400 |
|
401 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_user_blogs (
|
@@ -502,7 +517,7 @@ function bp_core_install_emails() {
|
|
502 |
);
|
503 |
|
504 |
$emails = bp_email_get_schema();
|
505 |
-
$descriptions = bp_email_get_type_schema(
|
506 |
|
507 |
// Add these emails to the database.
|
508 |
foreach ( $emails as $id => $email ) {
|
@@ -520,8 +535,6 @@ function bp_core_install_emails() {
|
|
520 |
}
|
521 |
}
|
522 |
|
523 |
-
bp_update_option( 'bp-emails-unsubscribe-salt', base64_encode( wp_generate_password( 64, true, true ) ) );
|
524 |
-
|
525 |
/**
|
526 |
* Fires after BuddyPress adds the posts for its emails.
|
527 |
*
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
/**
|
14 |
+
* Get the DB schema to use for BuddyPress components.
|
15 |
+
*
|
16 |
+
* @since 1.1.0
|
17 |
+
*
|
18 |
+
* @global $wpdb $wpdb
|
19 |
+
*
|
20 |
+
* @return string The default database character-set, if set.
|
21 |
+
*/
|
22 |
+
function bp_core_set_charset() {
|
23 |
+
global $wpdb;
|
24 |
+
|
25 |
+
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
26 |
+
|
27 |
+
return !empty( $wpdb->charset ) ? "DEFAULT CHARACTER SET {$wpdb->charset}" : '';
|
28 |
+
}
|
29 |
+
|
30 |
/**
|
31 |
* Main installer.
|
32 |
*
|
93 |
*/
|
94 |
function bp_core_install_notifications() {
|
95 |
$sql = array();
|
96 |
+
$charset_collate = bp_core_set_charset();
|
97 |
$bp_prefix = bp_core_get_table_prefix();
|
98 |
|
99 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_notifications (
|
134 |
*/
|
135 |
function bp_core_install_activity_streams() {
|
136 |
$sql = array();
|
137 |
+
$charset_collate = bp_core_set_charset();
|
138 |
$bp_prefix = bp_core_get_table_prefix();
|
139 |
|
140 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_activity (
|
184 |
*/
|
185 |
function bp_core_install_friends() {
|
186 |
$sql = array();
|
187 |
+
$charset_collate = bp_core_set_charset();
|
188 |
$bp_prefix = bp_core_get_table_prefix();
|
189 |
|
190 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_friends (
|
209 |
*/
|
210 |
function bp_core_install_groups() {
|
211 |
$sql = array();
|
212 |
+
$charset_collate = bp_core_set_charset();
|
213 |
$bp_prefix = bp_core_get_table_prefix();
|
214 |
|
215 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_groups (
|
219 |
slug varchar(200) NOT NULL,
|
220 |
description longtext NOT NULL,
|
221 |
status varchar(10) NOT NULL DEFAULT 'public',
|
|
|
222 |
enable_forum tinyint(1) NOT NULL DEFAULT '1',
|
223 |
date_created datetime NOT NULL,
|
224 |
KEY creator_id (creator_id),
|
225 |
+
KEY status (status)
|
|
|
226 |
) {$charset_collate};";
|
227 |
|
228 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_groups_members (
|
266 |
*/
|
267 |
function bp_core_install_private_messaging() {
|
268 |
$sql = array();
|
269 |
+
$charset_collate = bp_core_set_charset();
|
270 |
$bp_prefix = bp_core_get_table_prefix();
|
271 |
|
272 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_messages_messages (
|
325 |
global $wpdb;
|
326 |
|
327 |
$sql = array();
|
328 |
+
$charset_collate = bp_core_set_charset();
|
329 |
$bp_prefix = bp_core_get_table_prefix();
|
330 |
|
331 |
// These values should only be updated if they are not already present.
|
410 |
*/
|
411 |
function bp_core_install_blog_tracking() {
|
412 |
$sql = array();
|
413 |
+
$charset_collate = bp_core_set_charset();
|
414 |
$bp_prefix = bp_core_get_table_prefix();
|
415 |
|
416 |
$sql[] = "CREATE TABLE {$bp_prefix}bp_user_blogs (
|
517 |
);
|
518 |
|
519 |
$emails = bp_email_get_schema();
|
520 |
+
$descriptions = bp_email_get_type_schema();
|
521 |
|
522 |
// Add these emails to the database.
|
523 |
foreach ( $emails as $id => $email ) {
|
535 |
}
|
536 |
}
|
537 |
|
|
|
|
|
538 |
/**
|
539 |
* Fires after BuddyPress adds the posts for its emails.
|
540 |
*
|
@@ -47,38 +47,6 @@ function bp_admin_setting_callback_account_deletion() {
|
|
47 |
<?php
|
48 |
}
|
49 |
|
50 |
-
/**
|
51 |
-
* Form element to change the active template pack.
|
52 |
-
*/
|
53 |
-
function bp_admin_setting_callback_theme_package_id() {
|
54 |
-
$options = '';
|
55 |
-
|
56 |
-
/*
|
57 |
-
* Note: This should never be empty. /bp-templates/ is the
|
58 |
-
* canonical backup if no other packages exist. If there's an error here,
|
59 |
-
* something else is wrong.
|
60 |
-
*
|
61 |
-
* See BuddyPress::register_theme_packages()
|
62 |
-
*/
|
63 |
-
foreach ( (array) buddypress()->theme_compat->packages as $id => $theme ) {
|
64 |
-
$options .= sprintf(
|
65 |
-
'<option value="%1$s" %2$s>%3$s</option>',
|
66 |
-
esc_attr( $id ),
|
67 |
-
selected( $theme->id, bp_get_theme_package_id(), false ),
|
68 |
-
esc_html( $theme->name )
|
69 |
-
);
|
70 |
-
}
|
71 |
-
|
72 |
-
if ( $options ) : ?>
|
73 |
-
<select name="_bp_theme_package_id" id="_bp_theme_package_id"><?php echo $options; ?></select>
|
74 |
-
<p class="description"><label for="_bp_theme_package_id"><?php esc_html_e( 'The selected Template Pack will serve all BuddyPress templates.', 'buddypress' ); ?></label></p>
|
75 |
-
|
76 |
-
<?php else : ?>
|
77 |
-
<p><?php esc_html_e( 'No template packages available.', 'buddypress' ); ?></p>
|
78 |
-
|
79 |
-
<?php endif;
|
80 |
-
}
|
81 |
-
|
82 |
/** Activity *******************************************************************/
|
83 |
|
84 |
/**
|
@@ -271,7 +239,7 @@ function bp_admin_setting_callback_bbpress_configuration() {
|
|
271 |
|
272 |
<?php if ( false === $file_exists ) : ?>
|
273 |
|
274 |
-
<a class="button" href="<?php bp_admin_url( 'admin.php?page=bb-forums-setup&repair=1' ); ?>"><?php _e( 'Repair', 'buddypress' ) ?></a>
|
275 |
<span class="attention"><?php _e( 'File does not exist', 'buddypress' ); ?></span>
|
276 |
|
277 |
<?php endif; ?>
|
47 |
<?php
|
48 |
}
|
49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
/** Activity *******************************************************************/
|
51 |
|
52 |
/**
|
239 |
|
240 |
<?php if ( false === $file_exists ) : ?>
|
241 |
|
242 |
+
<a class="button" href="<?php bp_admin_url( 'admin.php?page=bb-forums-setup&repair=1' ); ?>" title="<?php esc_attr_e( 'Attempt to save a new config file.', 'buddypress' ); ?>"><?php _e( 'Repair', 'buddypress' ) ?></a>
|
243 |
<span class="attention"><?php _e( 'File does not exist', 'buddypress' ); ?></span>
|
244 |
|
245 |
<?php endif; ?>
|
@@ -109,6 +109,7 @@ function bp_core_admin_get_static_pages() {
|
|
109 |
* @todo Use settings API
|
110 |
*/
|
111 |
function bp_core_admin_slugs_options() {
|
|
|
112 |
|
113 |
// Get the existing WP pages
|
114 |
$existing_pages = bp_core_get_directory_page_ids();
|
@@ -183,20 +184,12 @@ function bp_core_admin_slugs_options() {
|
|
183 |
|
184 |
<h3><?php _e( 'Registration', 'buddypress' ); ?></h3>
|
185 |
|
186 |
-
|
187 |
-
<p><?php _e( 'Associate WordPress Pages with the following BuddyPress Registration pages.', 'buddypress' ); ?></p>
|
188 |
-
<?php else : ?>
|
189 |
-
<?php if ( is_multisite() ) : ?>
|
190 |
-
<p><?php printf( __( 'Registration is currently disabled. Before associating a page is allowed, please enable registration by selecting either the "User accounts may be registered" or "Both sites and user accounts can be registered" option on <a href="%s">this page</a>.', 'buddypress' ), network_admin_url( 'settings.php' ) ); ?></p>
|
191 |
-
<?php else : ?>
|
192 |
-
<p><?php printf( __( 'Registration is currently disabled. Before associating a page is allowed, please enable registration by clicking on the "Anyone can register" checkbox on <a href="%s">this page</a>.', 'buddypress' ), admin_url( 'options-general.php' ) ); ?></p>
|
193 |
-
<?php endif; ?>
|
194 |
-
<?php endif; ?>
|
195 |
|
196 |
<table class="form-table">
|
197 |
<tbody>
|
198 |
|
199 |
-
<?php
|
200 |
|
201 |
<tr valign="top">
|
202 |
<th scope="row">
|
@@ -225,7 +218,7 @@ function bp_core_admin_slugs_options() {
|
|
225 |
</td>
|
226 |
</tr>
|
227 |
|
228 |
-
<?php endforeach
|
229 |
|
230 |
<?php
|
231 |
|
109 |
* @todo Use settings API
|
110 |
*/
|
111 |
function bp_core_admin_slugs_options() {
|
112 |
+
$bp = buddypress();
|
113 |
|
114 |
// Get the existing WP pages
|
115 |
$existing_pages = bp_core_get_directory_page_ids();
|
184 |
|
185 |
<h3><?php _e( 'Registration', 'buddypress' ); ?></h3>
|
186 |
|
187 |
+
<p><?php _e( 'Associate WordPress Pages with the following BuddyPress Registration pages.', 'buddypress' ); ?></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
|
189 |
<table class="form-table">
|
190 |
<tbody>
|
191 |
|
192 |
+
<?php foreach ( $static_pages as $name => $label ) : ?>
|
193 |
|
194 |
<tr valign="top">
|
195 |
<th scope="row">
|
218 |
</td>
|
219 |
</tr>
|
220 |
|
221 |
+
<?php endforeach ?>
|
222 |
|
223 |
<?php
|
224 |
|
@@ -21,33 +21,42 @@ function bp_core_admin_tools() {
|
|
21 |
|
22 |
<h1><?php esc_html_e( 'BuddyPress Tools', 'buddypress' ) ?></h1>
|
23 |
|
24 |
-
<p
|
25 |
-
|
|
|
26 |
</p>
|
27 |
<p class="description"><?php esc_html_e( 'Some of these tools create substantial database overhead. Avoid running more than one repair job at a time.', 'buddypress' ); ?></p>
|
28 |
|
29 |
<form class="settings" method="post" action="">
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
</fieldset>
|
46 |
-
|
47 |
</form>
|
48 |
-
|
49 |
</div>
|
50 |
-
|
51 |
<?php
|
52 |
}
|
53 |
|
@@ -328,7 +337,7 @@ function bp_admin_repair_last_activity() {
|
|
328 |
*
|
329 |
* @param string $message Feedback message.
|
330 |
* @param string|bool $class Unused.
|
331 |
-
* @return
|
332 |
*/
|
333 |
function bp_admin_tools_feedback( $message, $class = false ) {
|
334 |
if ( is_string( $message ) ) {
|
@@ -357,7 +366,7 @@ function bp_admin_tools_feedback( $message, $class = false ) {
|
|
357 |
|
358 |
$message = '<div id="message" class="' . esc_attr( $class ) . '">' . $message . '</div>';
|
359 |
$message = str_replace( "'", "\'", $message );
|
360 |
-
$lambda =
|
361 |
|
362 |
add_action( bp_core_do_network_admin() ? 'network_admin_notices' : 'admin_notices', $lambda );
|
363 |
|
21 |
|
22 |
<h1><?php esc_html_e( 'BuddyPress Tools', 'buddypress' ) ?></h1>
|
23 |
|
24 |
+
<p>
|
25 |
+
<?php esc_html_e( 'BuddyPress keeps track of various relationships between members, groups, and activity items. Occasionally these relationships become out of sync, most often after an import, update, or migration.', 'buddypress' ); ?>
|
26 |
+
<?php esc_html_e( 'Use the tools below to manually recalculate these relationships.', 'buddypress' ); ?>
|
27 |
</p>
|
28 |
<p class="description"><?php esc_html_e( 'Some of these tools create substantial database overhead. Avoid running more than one repair job at a time.', 'buddypress' ); ?></p>
|
29 |
|
30 |
<form class="settings" method="post" action="">
|
31 |
+
<table class="form-table">
|
32 |
+
<tbody>
|
33 |
+
<tr valign="top">
|
34 |
+
<th scope="row"><?php esc_html_e( 'Repair tools', 'buddypress' ) ?></th>
|
35 |
+
<td>
|
36 |
+
<fieldset>
|
37 |
+
<legend class="screen-reader-text"><span><?php
|
38 |
+
/* translators: accessibility text */
|
39 |
+
esc_html_e( 'Repair', 'buddypress' );
|
40 |
+
?></span></legend>
|
41 |
+
|
42 |
+
<?php foreach ( bp_admin_repair_list() as $item ) : ?>
|
43 |
+
|
44 |
+
<label for="<?php echo esc_attr( str_replace( '_', '-', $item[0] ) ); ?>"><input type="checkbox" class="checkbox" name="<?php echo esc_attr( $item[0] ) . '" id="' . esc_attr( str_replace( '_', '-', $item[0] ) ); ?>" value="1" /> <?php echo esc_html( $item[1] ); ?></label><br />
|
45 |
+
|
46 |
+
<?php endforeach; ?>
|
47 |
+
|
48 |
+
</fieldset>
|
49 |
+
</td>
|
50 |
+
</tr>
|
51 |
+
</tbody>
|
52 |
+
</table>
|
53 |
+
|
54 |
+
<fieldset class="submit">
|
55 |
+
<input class="button-primary" type="submit" name="bp-tools-submit" value="<?php esc_attr_e( 'Repair Items', 'buddypress' ); ?>" />
|
56 |
+
<?php wp_nonce_field( 'bp-do-counts' ); ?>
|
57 |
</fieldset>
|
|
|
58 |
</form>
|
|
|
59 |
</div>
|
|
|
60 |
<?php
|
61 |
}
|
62 |
|
337 |
*
|
338 |
* @param string $message Feedback message.
|
339 |
* @param string|bool $class Unused.
|
340 |
+
* @return bool
|
341 |
*/
|
342 |
function bp_admin_tools_feedback( $message, $class = false ) {
|
343 |
if ( is_string( $message ) ) {
|
366 |
|
367 |
$message = '<div id="message" class="' . esc_attr( $class ) . '">' . $message . '</div>';
|
368 |
$message = str_replace( "'", "\'", $message );
|
369 |
+
$lambda = create_function( '', "echo '$message';" );
|
370 |
|
371 |
add_action( bp_core_do_network_admin() ? 'network_admin_notices' : 'admin_notices', $lambda );
|
372 |
|
@@ -12,16 +12,15 @@ TABLE OF CONTENTS:
|
|
12 |
1.1 Version Badge
|
13 |
1.2 About Panel
|
14 |
1.2.1 Headline Feature
|
15 |
-
1.2.2
|
16 |
-
1.2.3
|
|
|
17 |
2.0 Dashicons
|
18 |
2.1 Top level menus
|
19 |
2.2 Settings - Components
|
20 |
2.3 Tools
|
21 |
3.0 User's Lists
|
22 |
4.0 Emails - Edit page
|
23 |
-
5.0 Tools - BuddyPress
|
24 |
-
6.0 Plugins page
|
25 |
------------------------------------------------------------------------------*/
|
26 |
|
27 |
/*------------------------------------------------------------------------------
|
@@ -34,7 +33,7 @@ TABLE OF CONTENTS:
|
|
34 |
.bp-badge {
|
35 |
color: #d84800;
|
36 |
display: inline-block;
|
37 |
-
font:
|
38 |
}
|
39 |
|
40 |
.bp-badge:before {
|
@@ -47,15 +46,7 @@ TABLE OF CONTENTS:
|
|
47 |
left: 0;
|
48 |
}
|
49 |
|
50 |
-
.index_page_bp-credits code,
|
51 |
-
.index_page_bp-about code {
|
52 |
-
background-color: #e0e0e0;
|
53 |
-
color: #636363;
|
54 |
-
font-size: 1em;
|
55 |
-
}
|
56 |
-
|
57 |
@media only screen and (max-width: 500px) {
|
58 |
-
|
59 |
.about-wrap .bp-badge {
|
60 |
position: relative;
|
61 |
margin: 10px auto;
|
@@ -71,371 +62,140 @@ TABLE OF CONTENTS:
|
|
71 |
/*
|
72 |
* 1.2.1 Headline Feature
|
73 |
*/
|
74 |
-
.
|
|
|
75 |
margin-bottom: 2em;
|
76 |
-
margin-top: 3em;
|
77 |
-
padding: 2em 3em;
|
78 |
-
}
|
79 |
-
|
80 |
-
.buddypress .bp-headline {
|
81 |
-
margin: 0 auto;
|
82 |
-
width: 45em;
|
83 |
-
}
|
84 |
-
|
85 |
-
.buddypress .bp-headline span.dashicons {
|
86 |
-
background-color: #f1f1f1;
|
87 |
-
color: #d84800;
|
88 |
-
clear: right;
|
89 |
-
font-size: 100px;
|
90 |
-
float: right;
|
91 |
-
height: 100px;
|
92 |
-
line-height: 100px;
|
93 |
-
margin: 0 0 15px 15px;
|
94 |
text-align: center;
|
95 |
-
width: 100px;
|
96 |
}
|
97 |
|
98 |
-
.
|
|
|
|
|
|
|
99 |
font-size: 2.2em;
|
100 |
-
font-weight:
|
101 |
-
line-height:
|
102 |
-
margin: 0 0
|
103 |
text-align: center;
|
104 |
}
|
105 |
|
106 |
-
.
|
|
|
107 |
font-size: 1.15em;
|
108 |
-
margin: 1.15em
|
109 |
-
}
|
110 |
-
|
111 |
-
/*
|
112 |
-
* 1.2.2 Features Section
|
113 |
-
*/
|
114 |
-
.buddypress .bp-features-section {
|
115 |
-
border-bottom: 1px solid #ccc;
|
116 |
-
clear: both;
|
117 |
-
margin-bottom: 3em;
|
118 |
-
margin-top: 2em;
|
119 |
-
overflow: hidden;
|
120 |
-
padding-bottom: 2em;
|
121 |
-
}
|
122 |
-
|
123 |
-
.buddypress .bp-features-section p {
|
124 |
-
font-size: 14px;
|
125 |
-
line-height: 1.5;
|
126 |
-
}
|
127 |
-
|
128 |
-
.buddypress .bp-features-section img {
|
129 |
-
margin-bottom: 20px;
|
130 |
-
}
|
131 |
-
|
132 |
-
.buddypress .bp-features-section span.dashicons {
|
133 |
-
background-color: #fff;
|
134 |
-
border-radius: 50%;
|
135 |
-
clear: right;
|
136 |
-
color: #d84800;
|
137 |
-
font-size: 50px;
|
138 |
-
float: right;
|
139 |
-
height: 80px;
|
140 |
-
line-height: 80px;
|
141 |
-
margin: 0 0 15px 15px;
|
142 |
-
text-align: center;
|
143 |
-
width: 80px;
|
144 |
-
}
|
145 |
-
|
146 |
-
.buddypress .bp-features-section .headline-title {
|
147 |
-
font-size: 2em;
|
148 |
-
font-weight: 300;
|
149 |
-
line-height: 1.5;
|
150 |
-
margin: 1em auto 2em;
|
151 |
-
text-align: center;
|
152 |
}
|
153 |
|
154 |
-
.
|
155 |
-
|
156 |
-
|
157 |
-
padding-bottom: 2em;
|
158 |
}
|
159 |
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
162 |
float: right;
|
163 |
-
margin-bottom: 3em;
|
164 |
margin-left: 4.799999999%;
|
|
|
165 |
width: 47.6%;
|
166 |
}
|
167 |
|
168 |
-
.
|
169 |
-
.
|
170 |
margin-left: 0;
|
171 |
}
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
|
|
|
|
|
|
176 |
}
|
177 |
|
178 |
-
.
|
|
|
179 |
clear: both;
|
180 |
-
|
181 |
-
|
|
|
182 |
}
|
183 |
|
184 |
-
.
|
185 |
-
|
186 |
-
font-size: 1.25em;
|
187 |
-
margin-bottom: 0.6em;
|
188 |
margin-top: 0;
|
189 |
}
|
190 |
|
191 |
-
.
|
192 |
-
|
193 |
-
font-size: 1.
|
194 |
-
|
195 |
-
|
196 |
-
.buddypress .bp-feature-imaged img {
|
197 |
-
clear: right;
|
198 |
}
|
199 |
|
200 |
-
.
|
|
|
|
|
201 |
font-size: 1em;
|
202 |
-
|
203 |
-
margin-bottom: 0;
|
204 |
-
margin-right: 110px;
|
205 |
-
margin-top: 0;
|
206 |
-
text-align: right;
|
207 |
-
}
|
208 |
-
|
209 |
-
.buddypress .bp-feature p {
|
210 |
-
margin-right: 110px;
|
211 |
}
|
212 |
|
213 |
/*
|
214 |
-
* 1.2.
|
215 |
*/
|
216 |
-
.
|
217 |
-
|
|
|
218 |
margin-bottom: 3em;
|
219 |
-
margin-top: 4em;
|
220 |
-
padding-bottom: 0;
|
221 |
-
}
|
222 |
-
|
223 |
-
.buddypress .bp-changelog-section:after {
|
224 |
-
clear: both;
|
225 |
-
content: "";
|
226 |
-
display: table;
|
227 |
}
|
228 |
|
229 |
-
.
|
230 |
-
|
231 |
font-size: 1.25em;
|
232 |
-
line-height: 1.
|
233 |
-
margin: 0
|
234 |
-
}
|
235 |
-
|
236 |
-
.buddypress .bp-two-column div {
|
237 |
-
float: right;
|
238 |
-
margin-left: 4.799999999%;
|
239 |
-
position: relative;
|
240 |
-
width: 47.6%;
|
241 |
-
}
|
242 |
-
|
243 |
-
.buddypress .bp-three-column .bp-column {
|
244 |
-
float: right;
|
245 |
-
margin-left: 5%;
|
246 |
-
position: relative;
|
247 |
-
width: 29.95%;
|
248 |
-
}
|
249 |
-
|
250 |
-
.buddypress .bp-two-column .bp-column:nth-of-type(2n),
|
251 |
-
.buddypress .bp-three-column .bp-column:nth-of-type(3n) {
|
252 |
-
margin-left: 0;
|
253 |
-
}
|
254 |
-
|
255 |
-
.buddypress .bp-changelog {
|
256 |
-
margin-bottom: 3em;
|
257 |
-
}
|
258 |
-
|
259 |
-
.buddypress .bp-changelog:after {
|
260 |
-
clear: both;
|
261 |
-
content: "";
|
262 |
-
display: table;
|
263 |
-
}
|
264 |
-
|
265 |
-
.buddypress .bp-changelog .title {
|
266 |
-
font-size: 14px;
|
267 |
-
margin-bottom: 0.75em;
|
268 |
-
margin-top: 0;
|
269 |
-
}
|
270 |
-
|
271 |
-
.buddypress .bp-changelog p {
|
272 |
-
margin-bottom: 0;
|
273 |
-
}
|
274 |
-
|
275 |
-
.bp-changelog-url {
|
276 |
text-align: center;
|
277 |
}
|
278 |
|
279 |
-
.bp-assets {
|
280 |
-
clear: both;
|
281 |
-
margin-bottom: 3em;
|
282 |
-
}
|
283 |
-
|
284 |
@media screen and ( max-width: 782px ) {
|
285 |
-
|
286 |
-
.
|
287 |
-
|
288 |
-
|
289 |
-
.
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
.buddypress .bp-headline {
|
299 |
-
margin: 0;
|
300 |
-
width: 97%;
|
301 |
-
}
|
302 |
-
|
303 |
-
.buddypress .bp-features-section {
|
304 |
-
clear: both;
|
305 |
-
margin-bottom: 0;
|
306 |
-
margin-top: 2em;
|
307 |
-
padding-bottom: 2em;
|
308 |
-
}
|
309 |
-
|
310 |
-
.buddypress .bp-features-section .bp-feature-with-images {
|
311 |
-
margin-bottom: 2em;
|
312 |
-
}
|
313 |
-
|
314 |
-
.buddypress .bp-features-section .headline-title {
|
315 |
-
margin-bottom: 1em;
|
316 |
-
}
|
317 |
-
|
318 |
-
.buddypress .bp-changelog-section .changelog-title {
|
319 |
-
font-size: 1.25em;
|
320 |
-
line-height: 1.5;
|
321 |
-
margin-bottom: 0.5em;
|
322 |
-
margin-top: 0.5em;
|
323 |
-
}
|
324 |
-
|
325 |
-
.buddypress .bp-features-section .feature-title,
|
326 |
-
.buddypress .bp-changelog-section .title {
|
327 |
-
font-size: 1.25em;
|
328 |
-
line-height: 1.25;
|
329 |
-
margin-top: 0.6em;
|
330 |
-
text-align: right;
|
331 |
-
}
|
332 |
-
|
333 |
-
.buddypress .bp-features-section .bp-feature,
|
334 |
-
.buddypress .bp-features-section .bp-feature-imaged {
|
335 |
-
clear: both;
|
336 |
-
float: right;
|
337 |
-
margin-bottom: 1em;
|
338 |
-
margin-top: 1em;
|
339 |
-
margin-left: 0;
|
340 |
-
padding-left: 1em;
|
341 |
-
width: 100%;
|
342 |
-
}
|
343 |
-
|
344 |
-
.buddypress .bp-features-section .bp-feature-imaged p {
|
345 |
-
font-size: 1em;
|
346 |
-
}
|
347 |
-
|
348 |
-
.buddypress .bp-features-section .bp-feature span {
|
349 |
-
margin-top: 0.33em;
|
350 |
-
}
|
351 |
-
|
352 |
-
.buddypress .bp-feature.opposite .feature-title,
|
353 |
-
.buddypress .bp-feature.opposite p {
|
354 |
-
float: none;
|
355 |
-
}
|
356 |
-
|
357 |
-
.buddypress .bp-changelog-section {
|
358 |
-
clear: both;
|
359 |
-
margin-bottom: 2em;
|
360 |
-
margin-top: 2em;
|
361 |
-
}
|
362 |
-
|
363 |
-
.buddypress .bp-changelog {
|
364 |
margin-bottom: 0;
|
365 |
}
|
366 |
-
|
367 |
-
.
|
368 |
-
margin-bottom: 0.5em;
|
369 |
-
}
|
370 |
-
|
371 |
-
.buddypress .bp-changelog .title {
|
372 |
-
font-size: 1em;
|
373 |
-
}
|
374 |
-
|
375 |
-
.buddypress .bp-changelog p {
|
376 |
-
margin-bottom: 1em;
|
377 |
-
}
|
378 |
-
|
379 |
-
.buddypress .bp-changelog-section .two-col > div,
|
380 |
-
.buddypress .bp-changelog-section .three-col .col {
|
381 |
margin-top: 0;
|
382 |
-
padding-bottom: 0.5em;
|
383 |
-
width: 100%;
|
384 |
}
|
385 |
-
|
386 |
-
.
|
|
|
|
|
|
|
387 |
width: 100%;
|
388 |
}
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
.buddypress .bp-headline {
|
394 |
-
text-align: center;
|
395 |
-
}
|
396 |
-
|
397 |
-
.buddypress .bp-headline span.dashicons {
|
398 |
-
clear: none;
|
399 |
-
font-size: 80px;
|
400 |
-
float: none;
|
401 |
-
height: 80px;
|
402 |
-
line-height: 80px;
|
403 |
-
margin: 0 auto;
|
404 |
-
width: 80px;
|
405 |
-
}
|
406 |
-
|
407 |
-
.buddypress .bp-headline-feature .headline-title,
|
408 |
-
.buddypress .bp-features-section .headline-title {
|
409 |
-
font-size: 1.5em;
|
410 |
-
line-height: 1.5;
|
411 |
-
text-align: right;
|
412 |
-
}
|
413 |
-
|
414 |
-
.buddypress .bp-headline-feature .headline-title {
|
415 |
-
margin: 1em 0 0;
|
416 |
-
}
|
417 |
-
|
418 |
-
.buddypress .bp-headline-feature p {
|
419 |
-
margin: 1.15em 0 0.6em auto;
|
420 |
-
text-align: right;
|
421 |
-
width: auto;
|
422 |
-
}
|
423 |
-
|
424 |
-
.buddypress .bp-features-section .bp-feature {
|
425 |
-
text-align: center;
|
426 |
-
}
|
427 |
-
|
428 |
-
.buddypress .bp-features-section span.dashicons {
|
429 |
-
float: none;
|
430 |
}
|
431 |
-
|
432 |
-
.
|
433 |
-
.buddypress .bp-features-section p {
|
434 |
-
margin-right: 0;
|
435 |
text-align: right;
|
436 |
}
|
437 |
}
|
438 |
|
|
|
439 |
/*------------------------------------------------------------------------------
|
440 |
* 2.0 Dashicons
|
441 |
*----------------------------------------------------------------------------*/
|
@@ -469,7 +229,7 @@ TABLE OF CONTENTS:
|
|
469 |
|
470 |
#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,
|
471 |
#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before,
|
472 |
-
#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before
|
473 |
content: "\f454";
|
474 |
}
|
475 |
|
@@ -495,7 +255,7 @@ TABLE OF CONTENTS:
|
|
495 |
}
|
496 |
|
497 |
.settings_page_bp-components td.plugin-title span:before {
|
498 |
-
font-family: dashicons;
|
499 |
font-size: 18px;
|
500 |
}
|
501 |
|
@@ -548,16 +308,13 @@ TABLE OF CONTENTS:
|
|
548 |
}
|
549 |
|
550 |
@media screen and ( max-width: 782px ) {
|
551 |
-
|
552 |
.settings_page_bp-components td.plugin-title span {
|
553 |
margin-top: 5px;
|
554 |
}
|
555 |
-
|
556 |
#bp-admin-component-form .wp-list-table.plugins .plugin-title {
|
557 |
display: block;
|
558 |
width: auto;
|
559 |
}
|
560 |
-
|
561 |
#bp-admin-component-form .subsubsub {
|
562 |
margin-bottom: 0;
|
563 |
padding-bottom: 35px;
|
@@ -603,13 +360,6 @@ body.users_page_bp-signups td.count_sent {
|
|
603 |
text-align: center;
|
604 |
}
|
605 |
|
606 |
-
.bp-signups-list table {
|
607 |
-
margin: 1em 0;
|
608 |
-
}
|
609 |
-
|
610 |
-
.bp-signups-list .column-fields {
|
611 |
-
font-weight: 700;
|
612 |
-
}
|
613 |
|
614 |
/*------------------------------------------------------------------------------
|
615 |
* 4.0 Emails - Edit Page
|
@@ -632,63 +382,3 @@ body.post-type-bp-email .categorydiv label {
|
|
632 |
padding-right: 25px;
|
633 |
text-indent: -25px;
|
634 |
}
|
635 |
-
|
636 |
-
/*------------------------------------------------------------------------------
|
637 |
-
* 5.0 Tools - BuddyPress
|
638 |
-
*----------------------------------------------------------------------------*/
|
639 |
-
.tools_page_bp-tools .wrap {
|
640 |
-
max-width: 950px;
|
641 |
-
}
|
642 |
-
|
643 |
-
.tools_page_bp-tools p {
|
644 |
-
line-height: 2;
|
645 |
-
}
|
646 |
-
|
647 |
-
.tools_page_bp-tools fieldset {
|
648 |
-
margin: 2em 0 0;
|
649 |
-
}
|
650 |
-
|
651 |
-
.tools_page_bp-tools legend {
|
652 |
-
color: #23282d;
|
653 |
-
font-size: 1.3em;
|
654 |
-
font-weight: 600;
|
655 |
-
margin: 1em 0;
|
656 |
-
}
|
657 |
-
|
658 |
-
.tools_page_bp-tools label {
|
659 |
-
clear: right;
|
660 |
-
display: block;
|
661 |
-
line-height: 1.5;
|
662 |
-
margin: 0 0 1em;
|
663 |
-
vertical-align: middle;
|
664 |
-
}
|
665 |
-
|
666 |
-
@media screen and (max-width: 782px) {
|
667 |
-
|
668 |
-
.tools_page_bp-tools p {
|
669 |
-
line-height: 1.5;
|
670 |
-
}
|
671 |
-
|
672 |
-
.tools_page_bp-tools label {
|
673 |
-
margin-bottom: 1em;
|
674 |
-
padding-left: 25px;
|
675 |
-
text-indent: -33px;
|
676 |
-
}
|
677 |
-
|
678 |
-
.tools_page_bp-tools .checkbox {
|
679 |
-
padding: 0 30px 0 0;
|
680 |
-
}
|
681 |
-
}
|
682 |
-
|
683 |
-
|
684 |
-
/*------------------------------------------------------------------------------
|
685 |
-
* 6.0 Plugins page
|
686 |
-
*----------------------------------------------------------------------------*/
|
687 |
-
#buddypress-update.not-shiny .update-message {
|
688 |
-
border-right: 0;
|
689 |
-
padding-right: 36px;
|
690 |
-
}
|
691 |
-
|
692 |
-
#buddypress-update.not-shiny .update-message:before {
|
693 |
-
content: "\f534";
|
694 |
-
}
|
12 |
1.1 Version Badge
|
13 |
1.2 About Panel
|
14 |
1.2.1 Headline Feature
|
15 |
+
1.2.2 Columns
|
16 |
+
1.2.3 Features Section
|
17 |
+
1.2.4 Changelog Section
|
18 |
2.0 Dashicons
|
19 |
2.1 Top level menus
|
20 |
2.2 Settings - Components
|
21 |
2.3 Tools
|
22 |
3.0 User's Lists
|
23 |
4.0 Emails - Edit page
|
|
|
|
|
24 |
------------------------------------------------------------------------------*/
|
25 |
|
26 |
/*------------------------------------------------------------------------------
|
33 |
.bp-badge {
|
34 |
color: #d84800;
|
35 |
display: inline-block;
|
36 |
+
font: normal 150px/1 'dashicons' !important;
|
37 |
}
|
38 |
|
39 |
.bp-badge:before {
|
46 |
left: 0;
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
@media only screen and (max-width: 500px) {
|
|
|
50 |
.about-wrap .bp-badge {
|
51 |
position: relative;
|
52 |
margin: 10px auto;
|
62 |
/*
|
63 |
* 1.2.1 Headline Feature
|
64 |
*/
|
65 |
+
.index_page_bp-about .about-wrap .headline-feature,
|
66 |
+
.dashboard_page_bp-about .about-wrap .headline-feature {
|
67 |
margin-bottom: 2em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
text-align: center;
|
|
|
69 |
}
|
70 |
|
71 |
+
.index_page_bp-about .about-wrap .headline-feature h3,
|
72 |
+
.index_page_bp-about .headline-feature .headline-title,
|
73 |
+
.dashboard_page_bp-about .about-wrap .headline-feature h3,
|
74 |
+
.dashboard_page_bp-about .headline-feature .headline-title {
|
75 |
font-size: 2.2em;
|
76 |
+
font-weight: normal;
|
77 |
+
line-height: 1.3;
|
78 |
+
margin: 1.25em 0 0.6em;
|
79 |
text-align: center;
|
80 |
}
|
81 |
|
82 |
+
.index_page_bp-about .about-wrap .headline-feature p,
|
83 |
+
.dashboard_page_bp-about .about-wrap .headline-feature p {
|
84 |
font-size: 1.15em;
|
85 |
+
margin: 1.15em auto 0.6em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
+
.index_page_bp-about .about-wrap .headline-feature .introduction,
|
89 |
+
.dashboard_page_bp-about .about-wrap .headline-feature .introduction {
|
90 |
+
font-weight: 600;
|
|
|
91 |
}
|
92 |
|
93 |
+
/*
|
94 |
+
* 1.2.2 Columns
|
95 |
+
*/
|
96 |
+
.index_page_bp-about .about-wrap .two-col > div,
|
97 |
+
.dashboard_page_bp-about .about-wrap .two-col > div {
|
98 |
float: right;
|
|
|
99 |
margin-left: 4.799999999%;
|
100 |
+
position: relative;
|
101 |
width: 47.6%;
|
102 |
}
|
103 |
|
104 |
+
.index_page_bp-about .about-wrap .two-col .last-feature,
|
105 |
+
.dashboard_page_bp-about .about-wrap .two-col .last-feature {
|
106 |
margin-left: 0;
|
107 |
}
|
108 |
|
109 |
+
/*
|
110 |
+
* 1.2.3 Features Section
|
111 |
+
*/
|
112 |
+
.index_page_bp-about .bp-features-section,
|
113 |
+
.dashboard_page_bp-about .bp-features-section {
|
114 |
+
margin-bottom: 2em;
|
115 |
}
|
116 |
|
117 |
+
.index_page_bp-about .about-wrap .feature-section,
|
118 |
+
.dashboard_page_bp-about .about-wrap .feature-section {
|
119 |
clear: both;
|
120 |
+
margin-top: 2em;
|
121 |
+
overflow: hidden;
|
122 |
+
padding-bottom: 0;
|
123 |
}
|
124 |
|
125 |
+
.index_page_bp-about .about-wrap .changelog .feature-section,
|
126 |
+
.dashboard_page_bp-about .about-wrap .changelog .feature-section {
|
|
|
|
|
127 |
margin-top: 0;
|
128 |
}
|
129 |
|
130 |
+
.index_page_bp-about .about-wrap .feature-section h3,
|
131 |
+
.dashboard_page_bp-about .about-wrap .feature-section h3 {
|
132 |
+
font-size: 1.25em;
|
133 |
+
line-height: 1.5em;
|
134 |
+
margin: 0 0 0.6em;
|
|
|
|
|
135 |
}
|
136 |
|
137 |
+
.index_page_bp-about .about-wrap .changelog h4,
|
138 |
+
.dashboard_page_bp-about .about-wrap .changelog h4 {
|
139 |
+
color: #23282d;
|
140 |
font-size: 1em;
|
141 |
+
margin: 1.4em 0 0.6em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
|
144 |
/*
|
145 |
+
* 1.2.4 Changelog Section
|
146 |
*/
|
147 |
+
.index_page_bp-about .about-wrap .changelog,
|
148 |
+
.dashboard_page_bp-about .about-wrap .changelog {
|
149 |
+
border-top: 1px solid #eee;
|
150 |
margin-bottom: 3em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
|
153 |
+
.index_page_bp-about .about-wrap .changelog .changelog-title,
|
154 |
+
.dashboard_page_bp-about .about-wrap .changelog .changelog-title {
|
155 |
font-size: 1.25em;
|
156 |
+
line-height: 1.5em;
|
157 |
+
margin: 1.25em 0 .6em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
text-align: center;
|
159 |
}
|
160 |
|
|
|
|
|
|
|
|
|
|
|
161 |
@media screen and ( max-width: 782px ) {
|
162 |
+
.index_page_bp-about .about-wrap .headline-feature,
|
163 |
+
.dashboard_page_bp-about .about-wrap .headline-feature {
|
164 |
+
max-width: 100%;
|
165 |
+
}
|
166 |
+
.index_page_bp-about .about-wrap .headline-feature h3,
|
167 |
+
.dahsboard_page_bp-about .about-wrap .headline-feature h3,
|
168 |
+
.index_page_bp-about .about-wrap .headline-feature .headline-title,
|
169 |
+
.dashboard_page_bp-about .about-wrap .headline-feature .headline-title {
|
170 |
+
font-size: 2em;
|
171 |
+
}
|
172 |
+
.index_page_bp-about .bp-features-section,
|
173 |
+
.dashboard_page_bp-about .bp-features-section {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
margin-bottom: 0;
|
175 |
}
|
176 |
+
.index_page_bp-about .about-wrap .feature-section,
|
177 |
+
.dashboard_page_bp-about .about-wrap .feature-section {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
margin-top: 0;
|
|
|
|
|
179 |
}
|
180 |
+
.index_page_bp-about .about-wrap .two-col > div,
|
181 |
+
.dashboard_page_bp-about .about-wrap .two-col > div {
|
182 |
+
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
183 |
+
margin-top: 1.25em;
|
184 |
+
padding-bottom: 1em;
|
185 |
width: 100%;
|
186 |
}
|
187 |
+
.index_page_bp-about .changelog .two-col > div,
|
188 |
+
.dashboard_page_bp-about .changelog .two-col > div {
|
189 |
+
margin-top: 0;
|
190 |
+
padding-bottom: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
}
|
192 |
+
.index_page_bp-about .about-wrap .changelog .changelog-title,
|
193 |
+
.dashboard_page_bp-about .about-wrap .changelog .changelog-title {
|
|
|
|
|
194 |
text-align: right;
|
195 |
}
|
196 |
}
|
197 |
|
198 |
+
|
199 |
/*------------------------------------------------------------------------------
|
200 |
* 2.0 Dashicons
|
201 |
*----------------------------------------------------------------------------*/
|
229 |
|
230 |
#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,
|
231 |
#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before,
|
232 |
+
#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before{
|
233 |
content: "\f454";
|
234 |
}
|
235 |
|
255 |
}
|
256 |
|
257 |
.settings_page_bp-components td.plugin-title span:before {
|
258 |
+
font-family: 'dashicons';
|
259 |
font-size: 18px;
|
260 |
}
|
261 |
|
308 |
}
|
309 |
|
310 |
@media screen and ( max-width: 782px ) {
|
|
|
311 |
.settings_page_bp-components td.plugin-title span {
|
312 |
margin-top: 5px;
|
313 |
}
|
|
|
314 |
#bp-admin-component-form .wp-list-table.plugins .plugin-title {
|
315 |
display: block;
|
316 |
width: auto;
|
317 |
}
|
|
|
318 |
#bp-admin-component-form .subsubsub {
|
319 |
margin-bottom: 0;
|
320 |
padding-bottom: 35px;
|
360 |
text-align: center;
|
361 |
}
|
362 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
|
364 |
/*------------------------------------------------------------------------------
|
365 |
* 4.0 Emails - Edit Page
|
382 |
padding-right: 25px;
|
383 |
text-indent: -25px;
|
384 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +1 @@
|
|
1 |
-
.bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.about-wrap .bp-badge{position:absolute;top:0;left:0}.index_page_bp-about code,.index_page_bp-credits code{background-color:#e0e0e0;color:#636363;font-size:1em}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;left:auto}}.buddypress .bp-headline-feature{margin-bottom:2em;margin-top:3em;padding:2em 3em}.buddypress .bp-headline{margin:0 auto;width:45em}.buddypress .bp-headline span.dashicons{background-color:#f1f1f1;color:#d84800;clear:right;font-size:100px;float:right;height:100px;line-height:100px;margin:0 0 15px 15px;text-align:center;width:100px}.buddypress .bp-headline-feature .headline-title{font-size:2.2em;font-weight:300;line-height:2;margin:0 0 1em;text-align:center}.buddypress .bp-headline-feature p{font-size:1.15em;margin:1.15em 0 .6em auto}.buddypress .bp-features-section{border-bottom:1px solid #ccc;clear:both;margin-bottom:3em;margin-top:2em;overflow:hidden;padding-bottom:2em}.buddypress .bp-features-section p{font-size:14px;line-height:1.5}.buddypress .bp-features-section img{margin-bottom:20px}.buddypress .bp-features-section span.dashicons{background-color:#fff;border-radius:50%;clear:right;color:#d84800;font-size:50px;float:right;height:80px;line-height:80px;margin:0 0 15px 15px;text-align:center;width:80px}.buddypress .bp-features-section .headline-title{font-size:2em;font-weight:300;line-height:1.5;margin:1em auto 2em;text-align:center}.buddypress .bp-features-section .bp-feature-with-images{border-bottom:1px solid #ccc;margin-bottom:5em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{float:right;margin-bottom:3em;margin-left:4.799999999%;width:47.6%}.buddypress .bp-features-section .bp-feature-imaged.anon,.buddypress .bp-features-section .bp-feature.opposite{margin-left:0}.buddypress .bp-features-section .bp-feature code{font-size:.95em;line-height:1.5}.buddypress .bp-feature:after{clear:both;content:"";margin-bottom:2em}.buddypress .bp-feature-imaged .feature-title{color:#23282d;font-size:1.25em;margin-bottom:.6em;margin-top:0}.buddypress .bp-feature-imaged p{clear:right;font-size:1.1em}.buddypress .bp-feature-imaged img{clear:right}.buddypress .bp-feature .feature-title{font-size:1em;line-height:1.5;margin-bottom:0;margin-right:110px;margin-top:0;text-align:right}.buddypress .bp-feature p{margin-right:110px}.buddypress .bp-changelog-section{clear:both;margin-bottom:3em;margin-top:4em;padding-bottom:0}.buddypress .bp-changelog-section:after{clear:both;content:"";display:table}.buddypress .bp-changelog-section .changelog-title{color:#23282d;font-size:1.25em;line-height:1.5;margin:0 auto 1.5em}.buddypress .bp-two-column div{float:right;margin-left:4.799999999%;position:relative;width:47.6%}.buddypress .bp-three-column .bp-column{float:right;margin-left:5%;position:relative;width:29.95%}.buddypress .bp-three-column .bp-column:nth-of-type(3n),.buddypress .bp-two-column .bp-column:nth-of-type(2n){margin-left:0}.buddypress .bp-changelog{margin-bottom:3em}.buddypress .bp-changelog:after{clear:both;content:"";display:table}.buddypress .bp-changelog .title{font-size:14px;margin-bottom:.75em;margin-top:0}.buddypress .bp-changelog p{margin-bottom:0}.bp-changelog-url{text-align:center}.bp-assets{clear:both;margin-bottom:3em}@media screen and (max-width:782px){.bp-assets,.bp-changelog-section,.bp-features-section,.bp-headline-feature{margin-right:20px;margin-left:20px}.buddypress .bp-headline-feature{padding:0}.buddypress .bp-headline{margin:0;width:97%}.buddypress .bp-features-section{clear:both;margin-bottom:0;margin-top:2em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature-with-images{margin-bottom:2em}.buddypress .bp-features-section .headline-title{margin-bottom:1em}.buddypress .bp-changelog-section .changelog-title{font-size:1.25em;line-height:1.5;margin-bottom:.5em;margin-top:.5em}.buddypress .bp-changelog-section .title,.buddypress .bp-features-section .feature-title{font-size:1.25em;line-height:1.25;margin-top:.6em;text-align:right}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{clear:both;float:right;margin-bottom:1em;margin-top:1em;margin-left:0;padding-left:1em;width:100%}.buddypress .bp-features-section .bp-feature-imaged p{font-size:1em}.buddypress .bp-features-section .bp-feature span{margin-top:.33em}.buddypress .bp-feature.opposite .feature-title,.buddypress .bp-feature.opposite p{float:none}.buddypress .bp-changelog-section{clear:both;margin-bottom:2em;margin-top:2em}.buddypress .bp-changelog{margin-bottom:0}.buddypress .bp-changelog-section .changelog-title{margin-bottom:.5em}.buddypress .bp-changelog .title{font-size:1em}.buddypress .bp-changelog p{margin-bottom:1em}.buddypress .bp-changelog-section .three-col .col,.buddypress .bp-changelog-section .two-col>div{margin-top:0;padding-bottom:.5em;width:100%}.buddypress .bp-three-column .bp-column{width:100%}}@media screen and (max-width:360px){.buddypress .bp-headline{text-align:center}.buddypress .bp-headline span.dashicons{clear:none;font-size:80px;float:none;height:80px;line-height:80px;margin:0 auto;width:80px}.buddypress .bp-features-section .headline-title,.buddypress .bp-headline-feature .headline-title{font-size:1.5em;line-height:1.5;text-align:right}.buddypress .bp-headline-feature .headline-title{margin:1em 0 0}.buddypress .bp-headline-feature p{margin:1.15em 0 .6em auto;text-align:right;width:auto}.buddypress .bp-features-section .bp-feature{text-align:center}.buddypress .bp-features-section span.dashicons{float:none}.buddypress .bp-features-section .feature-title,.buddypress .bp-features-section p{margin-right:0;text-align:right}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:right;width:18px;height:18px;margin-left:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}.bp-signups-list table{margin:1em 0}.bp-signups-list .column-fields{font-weight:700}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email th#situation{width:20%}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:right;padding-right:25px;text-indent:-25px}.tools_page_bp-tools .wrap{max-width:950px}.tools_page_bp-tools p{line-height:2}.tools_page_bp-tools fieldset{margin:2em 0 0}.tools_page_bp-tools legend{color:#23282d;font-size:1.3em;font-weight:600;margin:1em 0}.tools_page_bp-tools label{clear:right;display:block;line-height:1.5;margin:0 0 1em;vertical-align:middle}@media screen and (max-width:782px){.tools_page_bp-tools p{line-height:1.5}.tools_page_bp-tools label{margin-bottom:1em;padding-left:25px;text-indent:-33px}.tools_page_bp-tools .checkbox{padding:0 30px 0 0}}#buddypress-update.not-shiny .update-message{border-right:0;padding-right:36px}#buddypress-update.not-shiny .update-message:before{content:"\f534"}
|
1 |
+
.bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.about-wrap .bp-badge{position:absolute;top:0;left:0}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;left:auto}}.dashboard_page_bp-about .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{margin-bottom:2em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3,.index_page_bp-about .headline-feature .headline-title{font-size:2.2em;font-weight:400;line-height:1.3;margin:1.25em 0 .6em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature p,.index_page_bp-about .about-wrap .headline-feature p{font-size:1.15em;margin:1.15em auto .6em}.dashboard_page_bp-about .about-wrap .headline-feature .introduction,.index_page_bp-about .about-wrap .headline-feature .introduction{font-weight:600}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{float:right;margin-left:4.799999999%;position:relative;width:47.6%}.dashboard_page_bp-about .about-wrap .two-col .last-feature,.index_page_bp-about .about-wrap .two-col .last-feature{margin-left:0}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:2em}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{clear:both;margin-top:2em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .feature-section,.index_page_bp-about .about-wrap .changelog .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .feature-section h3,.index_page_bp-about .about-wrap .feature-section h3{font-size:1.25em;line-height:1.5em;margin:0 0 .6em}.dashboard_page_bp-about .about-wrap .changelog h4,.index_page_bp-about .about-wrap .changelog h4{color:#23282d;font-size:1em;margin:1.4em 0 .6em}.dashboard_page_bp-about .about-wrap .changelog,.index_page_bp-about .about-wrap .changelog{border-top:1px solid #eee;margin-bottom:3em}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{font-size:1.25em;line-height:1.5em;margin:1.25em 0 .6em;text-align:center}@media screen and (max-width:782px){.dashboard_page_bp-about .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{max-width:100%}.dahsboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3{font-size:2em}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:0}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{border-bottom:1px solid rgba(0,0,0,.1);margin-top:1.25em;padding-bottom:1em;width:100%}.dashboard_page_bp-about .changelog .two-col>div,.index_page_bp-about .changelog .two-col>div{margin-top:0;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{text-align:right}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:right;width:18px;height:18px;margin-left:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.post-type-bp-email th#situation,body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:right;padding-right:25px;text-indent:-25px}
|
@@ -12,16 +12,15 @@ TABLE OF CONTENTS:
|
|
12 |
1.1 Version Badge
|
13 |
1.2 About Panel
|
14 |
1.2.1 Headline Feature
|
15 |
-
1.2.2
|
16 |
-
1.2.3
|
|
|
17 |
2.0 Dashicons
|
18 |
2.1 Top level menus
|
19 |
2.2 Settings - Components
|
20 |
2.3 Tools
|
21 |
3.0 User's Lists
|
22 |
4.0 Emails - Edit page
|
23 |
-
5.0 Tools - BuddyPress
|
24 |
-
6.0 Plugins page
|
25 |
------------------------------------------------------------------------------*/
|
26 |
|
27 |
/*------------------------------------------------------------------------------
|
@@ -34,7 +33,7 @@ TABLE OF CONTENTS:
|
|
34 |
.bp-badge {
|
35 |
color: #d84800;
|
36 |
display: inline-block;
|
37 |
-
font:
|
38 |
}
|
39 |
|
40 |
.bp-badge:before {
|
@@ -47,15 +46,7 @@ TABLE OF CONTENTS:
|
|
47 |
right: 0;
|
48 |
}
|
49 |
|
50 |
-
.index_page_bp-credits code,
|
51 |
-
.index_page_bp-about code {
|
52 |
-
background-color: #e0e0e0;
|
53 |
-
color: #636363;
|
54 |
-
font-size: 1em;
|
55 |
-
}
|
56 |
-
|
57 |
@media only screen and (max-width: 500px) {
|
58 |
-
|
59 |
.about-wrap .bp-badge {
|
60 |
position: relative;
|
61 |
margin: 10px auto;
|
@@ -71,371 +62,140 @@ TABLE OF CONTENTS:
|
|
71 |
/*
|
72 |
* 1.2.1 Headline Feature
|
73 |
*/
|
74 |
-
.
|
|
|
75 |
margin-bottom: 2em;
|
76 |
-
margin-top: 3em;
|
77 |
-
padding: 2em 3em;
|
78 |
-
}
|
79 |
-
|
80 |
-
.buddypress .bp-headline {
|
81 |
-
margin: 0 auto;
|
82 |
-
width: 45em;
|
83 |
-
}
|
84 |
-
|
85 |
-
.buddypress .bp-headline span.dashicons {
|
86 |
-
background-color: #f1f1f1;
|
87 |
-
color: #d84800;
|
88 |
-
clear: left;
|
89 |
-
font-size: 100px;
|
90 |
-
float: left;
|
91 |
-
height: 100px;
|
92 |
-
line-height: 100px;
|
93 |
-
margin: 0 15px 15px 0;
|
94 |
text-align: center;
|
95 |
-
width: 100px;
|
96 |
}
|
97 |
|
98 |
-
.
|
|
|
|
|
|
|
99 |
font-size: 2.2em;
|
100 |
-
font-weight:
|
101 |
-
line-height:
|
102 |
-
margin: 0 0
|
103 |
text-align: center;
|
104 |
}
|
105 |
|
106 |
-
.
|
|
|
107 |
font-size: 1.15em;
|
108 |
-
margin: 1.15em auto 0.6em
|
109 |
-
}
|
110 |
-
|
111 |
-
/*
|
112 |
-
* 1.2.2 Features Section
|
113 |
-
*/
|
114 |
-
.buddypress .bp-features-section {
|
115 |
-
border-bottom: 1px solid #ccc;
|
116 |
-
clear: both;
|
117 |
-
margin-bottom: 3em;
|
118 |
-
margin-top: 2em;
|
119 |
-
overflow: hidden;
|
120 |
-
padding-bottom: 2em;
|
121 |
-
}
|
122 |
-
|
123 |
-
.buddypress .bp-features-section p {
|
124 |
-
font-size: 14px;
|
125 |
-
line-height: 1.5;
|
126 |
-
}
|
127 |
-
|
128 |
-
.buddypress .bp-features-section img {
|
129 |
-
margin-bottom: 20px;
|
130 |
-
}
|
131 |
-
|
132 |
-
.buddypress .bp-features-section span.dashicons {
|
133 |
-
background-color: #fff;
|
134 |
-
border-radius: 50%;
|
135 |
-
clear: left;
|
136 |
-
color: #d84800;
|
137 |
-
font-size: 50px;
|
138 |
-
float: left;
|
139 |
-
height: 80px;
|
140 |
-
line-height: 80px;
|
141 |
-
margin: 0 15px 15px 0;
|
142 |
-
text-align: center;
|
143 |
-
width: 80px;
|
144 |
-
}
|
145 |
-
|
146 |
-
.buddypress .bp-features-section .headline-title {
|
147 |
-
font-size: 2em;
|
148 |
-
font-weight: 300;
|
149 |
-
line-height: 1.5;
|
150 |
-
margin: 1em auto 2em;
|
151 |
-
text-align: center;
|
152 |
}
|
153 |
|
154 |
-
.
|
155 |
-
|
156 |
-
|
157 |
-
padding-bottom: 2em;
|
158 |
}
|
159 |
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
162 |
float: left;
|
163 |
-
margin-bottom: 3em;
|
164 |
margin-right: 4.799999999%;
|
|
|
165 |
width: 47.6%;
|
166 |
}
|
167 |
|
168 |
-
.
|
169 |
-
.
|
170 |
margin-right: 0;
|
171 |
}
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
|
|
|
|
|
|
176 |
}
|
177 |
|
178 |
-
.
|
|
|
179 |
clear: both;
|
180 |
-
|
181 |
-
|
|
|
182 |
}
|
183 |
|
184 |
-
.
|
185 |
-
|
186 |
-
font-size: 1.25em;
|
187 |
-
margin-bottom: 0.6em;
|
188 |
margin-top: 0;
|
189 |
}
|
190 |
|
191 |
-
.
|
192 |
-
|
193 |
-
font-size: 1.
|
194 |
-
|
195 |
-
|
196 |
-
.buddypress .bp-feature-imaged img {
|
197 |
-
clear: left;
|
198 |
}
|
199 |
|
200 |
-
.
|
|
|
|
|
201 |
font-size: 1em;
|
202 |
-
|
203 |
-
margin-bottom: 0;
|
204 |
-
margin-left: 110px;
|
205 |
-
margin-top: 0;
|
206 |
-
text-align: left;
|
207 |
-
}
|
208 |
-
|
209 |
-
.buddypress .bp-feature p {
|
210 |
-
margin-left: 110px;
|
211 |
}
|
212 |
|
213 |
/*
|
214 |
-
* 1.2.
|
215 |
*/
|
216 |
-
.
|
217 |
-
|
|
|
218 |
margin-bottom: 3em;
|
219 |
-
margin-top: 4em;
|
220 |
-
padding-bottom: 0;
|
221 |
-
}
|
222 |
-
|
223 |
-
.buddypress .bp-changelog-section:after {
|
224 |
-
clear: both;
|
225 |
-
content: "";
|
226 |
-
display: table;
|
227 |
}
|
228 |
|
229 |
-
.
|
230 |
-
|
231 |
font-size: 1.25em;
|
232 |
-
line-height: 1.
|
233 |
-
margin: 0
|
234 |
-
}
|
235 |
-
|
236 |
-
.buddypress .bp-two-column div {
|
237 |
-
float: left;
|
238 |
-
margin-right: 4.799999999%;
|
239 |
-
position: relative;
|
240 |
-
width: 47.6%;
|
241 |
-
}
|
242 |
-
|
243 |
-
.buddypress .bp-three-column .bp-column {
|
244 |
-
float: left;
|
245 |
-
margin-right: 5%;
|
246 |
-
position: relative;
|
247 |
-
width: 29.95%;
|
248 |
-
}
|
249 |
-
|
250 |
-
.buddypress .bp-two-column .bp-column:nth-of-type(2n),
|
251 |
-
.buddypress .bp-three-column .bp-column:nth-of-type(3n) {
|
252 |
-
margin-right: 0;
|
253 |
-
}
|
254 |
-
|
255 |
-
.buddypress .bp-changelog {
|
256 |
-
margin-bottom: 3em;
|
257 |
-
}
|
258 |
-
|
259 |
-
.buddypress .bp-changelog:after {
|
260 |
-
clear: both;
|
261 |
-
content: "";
|
262 |
-
display: table;
|
263 |
-
}
|
264 |
-
|
265 |
-
.buddypress .bp-changelog .title {
|
266 |
-
font-size: 14px;
|
267 |
-
margin-bottom: 0.75em;
|
268 |
-
margin-top: 0;
|
269 |
-
}
|
270 |
-
|
271 |
-
.buddypress .bp-changelog p {
|
272 |
-
margin-bottom: 0;
|
273 |
-
}
|
274 |
-
|
275 |
-
.bp-changelog-url {
|
276 |
text-align: center;
|
277 |
}
|
278 |
|
279 |
-
.bp-assets {
|
280 |
-
clear: both;
|
281 |
-
margin-bottom: 3em;
|
282 |
-
}
|
283 |
-
|
284 |
@media screen and ( max-width: 782px ) {
|
285 |
-
|
286 |
-
.
|
287 |
-
|
288 |
-
|
289 |
-
.
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
.buddypress .bp-headline {
|
299 |
-
margin: 0;
|
300 |
-
width: 97%;
|
301 |
-
}
|
302 |
-
|
303 |
-
.buddypress .bp-features-section {
|
304 |
-
clear: both;
|
305 |
-
margin-bottom: 0;
|
306 |
-
margin-top: 2em;
|
307 |
-
padding-bottom: 2em;
|
308 |
-
}
|
309 |
-
|
310 |
-
.buddypress .bp-features-section .bp-feature-with-images {
|
311 |
-
margin-bottom: 2em;
|
312 |
-
}
|
313 |
-
|
314 |
-
.buddypress .bp-features-section .headline-title {
|
315 |
-
margin-bottom: 1em;
|
316 |
-
}
|
317 |
-
|
318 |
-
.buddypress .bp-changelog-section .changelog-title {
|
319 |
-
font-size: 1.25em;
|
320 |
-
line-height: 1.5;
|
321 |
-
margin-bottom: 0.5em;
|
322 |
-
margin-top: 0.5em;
|
323 |
-
}
|
324 |
-
|
325 |
-
.buddypress .bp-features-section .feature-title,
|
326 |
-
.buddypress .bp-changelog-section .title {
|
327 |
-
font-size: 1.25em;
|
328 |
-
line-height: 1.25;
|
329 |
-
margin-top: 0.6em;
|
330 |
-
text-align: left;
|
331 |
-
}
|
332 |
-
|
333 |
-
.buddypress .bp-features-section .bp-feature,
|
334 |
-
.buddypress .bp-features-section .bp-feature-imaged {
|
335 |
-
clear: both;
|
336 |
-
float: left;
|
337 |
-
margin-bottom: 1em;
|
338 |
-
margin-top: 1em;
|
339 |
-
margin-right: 0;
|
340 |
-
padding-right: 1em;
|
341 |
-
width: 100%;
|
342 |
-
}
|
343 |
-
|
344 |
-
.buddypress .bp-features-section .bp-feature-imaged p {
|
345 |
-
font-size: 1em;
|
346 |
-
}
|
347 |
-
|
348 |
-
.buddypress .bp-features-section .bp-feature span {
|
349 |
-
margin-top: 0.33em;
|
350 |
-
}
|
351 |
-
|
352 |
-
.buddypress .bp-feature.opposite .feature-title,
|
353 |
-
.buddypress .bp-feature.opposite p {
|
354 |
-
float: none;
|
355 |
-
}
|
356 |
-
|
357 |
-
.buddypress .bp-changelog-section {
|
358 |
-
clear: both;
|
359 |
-
margin-bottom: 2em;
|
360 |
-
margin-top: 2em;
|
361 |
-
}
|
362 |
-
|
363 |
-
.buddypress .bp-changelog {
|
364 |
margin-bottom: 0;
|
365 |
}
|
366 |
-
|
367 |
-
.
|
368 |
-
margin-bottom: 0.5em;
|
369 |
-
}
|
370 |
-
|
371 |
-
.buddypress .bp-changelog .title {
|
372 |
-
font-size: 1em;
|
373 |
-
}
|
374 |
-
|
375 |
-
.buddypress .bp-changelog p {
|
376 |
-
margin-bottom: 1em;
|
377 |
-
}
|
378 |
-
|
379 |
-
.buddypress .bp-changelog-section .two-col > div,
|
380 |
-
.buddypress .bp-changelog-section .three-col .col {
|
381 |
margin-top: 0;
|
382 |
-
padding-bottom: 0.5em;
|
383 |
-
width: 100%;
|
384 |
}
|
385 |
-
|
386 |
-
.
|
|
|
|
|
|
|
387 |
width: 100%;
|
388 |
}
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
.buddypress .bp-headline {
|
394 |
-
text-align: center;
|
395 |
-
}
|
396 |
-
|
397 |
-
.buddypress .bp-headline span.dashicons {
|
398 |
-
clear: none;
|
399 |
-
font-size: 80px;
|
400 |
-
float: none;
|
401 |
-
height: 80px;
|
402 |
-
line-height: 80px;
|
403 |
-
margin: 0 auto;
|
404 |
-
width: 80px;
|
405 |
-
}
|
406 |
-
|
407 |
-
.buddypress .bp-headline-feature .headline-title,
|
408 |
-
.buddypress .bp-features-section .headline-title {
|
409 |
-
font-size: 1.5em;
|
410 |
-
line-height: 1.5;
|
411 |
-
text-align: left;
|
412 |
-
}
|
413 |
-
|
414 |
-
.buddypress .bp-headline-feature .headline-title {
|
415 |
-
margin: 1em 0 0;
|
416 |
-
}
|
417 |
-
|
418 |
-
.buddypress .bp-headline-feature p {
|
419 |
-
margin: 1.15em auto 0.6em 0;
|
420 |
-
text-align: left;
|
421 |
-
width: auto;
|
422 |
-
}
|
423 |
-
|
424 |
-
.buddypress .bp-features-section .bp-feature {
|
425 |
-
text-align: center;
|
426 |
-
}
|
427 |
-
|
428 |
-
.buddypress .bp-features-section span.dashicons {
|
429 |
-
float: none;
|
430 |
}
|
431 |
-
|
432 |
-
.
|
433 |
-
.buddypress .bp-features-section p {
|
434 |
-
margin-left: 0;
|
435 |
text-align: left;
|
436 |
}
|
437 |
}
|
438 |
|
|
|
439 |
/*------------------------------------------------------------------------------
|
440 |
* 2.0 Dashicons
|
441 |
*----------------------------------------------------------------------------*/
|
@@ -469,7 +229,7 @@ TABLE OF CONTENTS:
|
|
469 |
|
470 |
#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,
|
471 |
#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before,
|
472 |
-
#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before
|
473 |
content: "\f454";
|
474 |
}
|
475 |
|
@@ -495,7 +255,7 @@ TABLE OF CONTENTS:
|
|
495 |
}
|
496 |
|
497 |
.settings_page_bp-components td.plugin-title span:before {
|
498 |
-
font-family: dashicons;
|
499 |
font-size: 18px;
|
500 |
}
|
501 |
|
@@ -548,16 +308,13 @@ TABLE OF CONTENTS:
|
|
548 |
}
|
549 |
|
550 |
@media screen and ( max-width: 782px ) {
|
551 |
-
|
552 |
.settings_page_bp-components td.plugin-title span {
|
553 |
margin-top: 5px;
|
554 |
}
|
555 |
-
|
556 |
#bp-admin-component-form .wp-list-table.plugins .plugin-title {
|
557 |
display: block;
|
558 |
width: auto;
|
559 |
}
|
560 |
-
|
561 |
#bp-admin-component-form .subsubsub {
|
562 |
margin-bottom: 0;
|
563 |
padding-bottom: 35px;
|
@@ -603,13 +360,6 @@ body.users_page_bp-signups td.count_sent {
|
|
603 |
text-align: center;
|
604 |
}
|
605 |
|
606 |
-
.bp-signups-list table {
|
607 |
-
margin: 1em 0;
|
608 |
-
}
|
609 |
-
|
610 |
-
.bp-signups-list .column-fields {
|
611 |
-
font-weight: 700;
|
612 |
-
}
|
613 |
|
614 |
/*------------------------------------------------------------------------------
|
615 |
* 4.0 Emails - Edit Page
|
@@ -632,63 +382,3 @@ body.post-type-bp-email .categorydiv label {
|
|
632 |
padding-left: 25px;
|
633 |
text-indent: -25px;
|
634 |
}
|
635 |
-
|
636 |
-
/*------------------------------------------------------------------------------
|
637 |
-
* 5.0 Tools - BuddyPress
|
638 |
-
*----------------------------------------------------------------------------*/
|
639 |
-
.tools_page_bp-tools .wrap {
|
640 |
-
max-width: 950px;
|
641 |
-
}
|
642 |
-
|
643 |
-
.tools_page_bp-tools p {
|
644 |
-
line-height: 2;
|
645 |
-
}
|
646 |
-
|
647 |
-
.tools_page_bp-tools fieldset {
|
648 |
-
margin: 2em 0 0;
|
649 |
-
}
|
650 |
-
|
651 |
-
.tools_page_bp-tools legend {
|
652 |
-
color: #23282d;
|
653 |
-
font-size: 1.3em;
|
654 |
-
font-weight: 600;
|
655 |
-
margin: 1em 0;
|
656 |
-
}
|
657 |
-
|
658 |
-
.tools_page_bp-tools label {
|
659 |
-
clear: left;
|
660 |
-
display: block;
|
661 |
-
line-height: 1.5;
|
662 |
-
margin: 0 0 1em;
|
663 |
-
vertical-align: middle;
|
664 |
-
}
|
665 |
-
|
666 |
-
@media screen and (max-width: 782px) {
|
667 |
-
|
668 |
-
.tools_page_bp-tools p {
|
669 |
-
line-height: 1.5;
|
670 |
-
}
|
671 |
-
|
672 |
-
.tools_page_bp-tools label {
|
673 |
-
margin-bottom: 1em;
|
674 |
-
padding-right: 25px;
|
675 |
-
text-indent: -33px;
|
676 |
-
}
|
677 |
-
|
678 |
-
.tools_page_bp-tools .checkbox {
|
679 |
-
padding: 0 0 0 30px;
|
680 |
-
}
|
681 |
-
}
|
682 |
-
|
683 |
-
|
684 |
-
/*------------------------------------------------------------------------------
|
685 |
-
* 6.0 Plugins page
|
686 |
-
*----------------------------------------------------------------------------*/
|
687 |
-
#buddypress-update.not-shiny .update-message {
|
688 |
-
border-left: 0;
|
689 |
-
padding-left: 36px;
|
690 |
-
}
|
691 |
-
|
692 |
-
#buddypress-update.not-shiny .update-message:before {
|
693 |
-
content: "\f534";
|
694 |
-
}
|
12 |
1.1 Version Badge
|
13 |
1.2 About Panel
|
14 |
1.2.1 Headline Feature
|
15 |
+
1.2.2 Columns
|
16 |
+
1.2.3 Features Section
|
17 |
+
1.2.4 Changelog Section
|
18 |
2.0 Dashicons
|
19 |
2.1 Top level menus
|
20 |
2.2 Settings - Components
|
21 |
2.3 Tools
|
22 |
3.0 User's Lists
|
23 |
4.0 Emails - Edit page
|
|
|
|
|
24 |
------------------------------------------------------------------------------*/
|
25 |
|
26 |
/*------------------------------------------------------------------------------
|
33 |
.bp-badge {
|
34 |
color: #d84800;
|
35 |
display: inline-block;
|
36 |
+
font: normal 150px/1 'dashicons' !important;
|
37 |
}
|
38 |
|
39 |
.bp-badge:before {
|
46 |
right: 0;
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
@media only screen and (max-width: 500px) {
|
|
|
50 |
.about-wrap .bp-badge {
|
51 |
position: relative;
|
52 |
margin: 10px auto;
|
62 |
/*
|
63 |
* 1.2.1 Headline Feature
|
64 |
*/
|
65 |
+
.index_page_bp-about .about-wrap .headline-feature,
|
66 |
+
.dashboard_page_bp-about .about-wrap .headline-feature {
|
67 |
margin-bottom: 2em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
text-align: center;
|
|
|
69 |
}
|
70 |
|
71 |
+
.index_page_bp-about .about-wrap .headline-feature h3,
|
72 |
+
.index_page_bp-about .headline-feature .headline-title,
|
73 |
+
.dashboard_page_bp-about .about-wrap .headline-feature h3,
|
74 |
+
.dashboard_page_bp-about .headline-feature .headline-title {
|
75 |
font-size: 2.2em;
|
76 |
+
font-weight: normal;
|
77 |
+
line-height: 1.3;
|
78 |
+
margin: 1.25em 0 0.6em;
|
79 |
text-align: center;
|
80 |
}
|
81 |
|
82 |
+
.index_page_bp-about .about-wrap .headline-feature p,
|
83 |
+
.dashboard_page_bp-about .about-wrap .headline-feature p {
|
84 |
font-size: 1.15em;
|
85 |
+
margin: 1.15em auto 0.6em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
+
.index_page_bp-about .about-wrap .headline-feature .introduction,
|
89 |
+
.dashboard_page_bp-about .about-wrap .headline-feature .introduction {
|
90 |
+
font-weight: 600;
|
|
|
91 |
}
|
92 |
|
93 |
+
/*
|
94 |
+
* 1.2.2 Columns
|
95 |
+
*/
|
96 |
+
.index_page_bp-about .about-wrap .two-col > div,
|
97 |
+
.dashboard_page_bp-about .about-wrap .two-col > div {
|
98 |
float: left;
|
|
|
99 |
margin-right: 4.799999999%;
|
100 |
+
position: relative;
|
101 |
width: 47.6%;
|
102 |
}
|
103 |
|
104 |
+
.index_page_bp-about .about-wrap .two-col .last-feature,
|
105 |
+
.dashboard_page_bp-about .about-wrap .two-col .last-feature {
|
106 |
margin-right: 0;
|
107 |
}
|
108 |
|
109 |
+
/*
|
110 |
+
* 1.2.3 Features Section
|
111 |
+
*/
|
112 |
+
.index_page_bp-about .bp-features-section,
|
113 |
+
.dashboard_page_bp-about .bp-features-section {
|
114 |
+
margin-bottom: 2em;
|
115 |
}
|
116 |
|
117 |
+
.index_page_bp-about .about-wrap .feature-section,
|
118 |
+
.dashboard_page_bp-about .about-wrap .feature-section {
|
119 |
clear: both;
|
120 |
+
margin-top: 2em;
|
121 |
+
overflow: hidden;
|
122 |
+
padding-bottom: 0;
|
123 |
}
|
124 |
|
125 |
+
.index_page_bp-about .about-wrap .changelog .feature-section,
|
126 |
+
.dashboard_page_bp-about .about-wrap .changelog .feature-section {
|
|
|
|
|
127 |
margin-top: 0;
|
128 |
}
|
129 |
|
130 |
+
.index_page_bp-about .about-wrap .feature-section h3,
|
131 |
+
.dashboard_page_bp-about .about-wrap .feature-section h3 {
|
132 |
+
font-size: 1.25em;
|
133 |
+
line-height: 1.5em;
|
134 |
+
margin: 0 0 0.6em;
|
|
|
|
|
135 |
}
|
136 |
|
137 |
+
.index_page_bp-about .about-wrap .changelog h4,
|
138 |
+
.dashboard_page_bp-about .about-wrap .changelog h4 {
|
139 |
+
color: #23282d;
|
140 |
font-size: 1em;
|
141 |
+
margin: 1.4em 0 0.6em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
|
144 |
/*
|
145 |
+
* 1.2.4 Changelog Section
|
146 |
*/
|
147 |
+
.index_page_bp-about .about-wrap .changelog,
|
148 |
+
.dashboard_page_bp-about .about-wrap .changelog {
|
149 |
+
border-top: 1px solid #eee;
|
150 |
margin-bottom: 3em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
|
153 |
+
.index_page_bp-about .about-wrap .changelog .changelog-title,
|
154 |
+
.dashboard_page_bp-about .about-wrap .changelog .changelog-title {
|
155 |
font-size: 1.25em;
|
156 |
+
line-height: 1.5em;
|
157 |
+
margin: 1.25em 0 .6em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
text-align: center;
|
159 |
}
|
160 |
|
|
|
|
|
|
|
|
|
|
|
161 |
@media screen and ( max-width: 782px ) {
|
162 |
+
.index_page_bp-about .about-wrap .headline-feature,
|
163 |
+
.dashboard_page_bp-about .about-wrap .headline-feature {
|
164 |
+
max-width: 100%;
|
165 |
+
}
|
166 |
+
.index_page_bp-about .about-wrap .headline-feature h3,
|
167 |
+
.dahsboard_page_bp-about .about-wrap .headline-feature h3,
|
168 |
+
.index_page_bp-about .about-wrap .headline-feature .headline-title,
|
169 |
+
.dashboard_page_bp-about .about-wrap .headline-feature .headline-title {
|
170 |
+
font-size: 2em;
|
171 |
+
}
|
172 |
+
.index_page_bp-about .bp-features-section,
|
173 |
+
.dashboard_page_bp-about .bp-features-section {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
margin-bottom: 0;
|
175 |
}
|
176 |
+
.index_page_bp-about .about-wrap .feature-section,
|
177 |
+
.dashboard_page_bp-about .about-wrap .feature-section {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
margin-top: 0;
|
|
|
|
|
179 |
}
|
180 |
+
.index_page_bp-about .about-wrap .two-col > div,
|
181 |
+
.dashboard_page_bp-about .about-wrap .two-col > div {
|
182 |
+
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
183 |
+
margin-top: 1.25em;
|
184 |
+
padding-bottom: 1em;
|
185 |
width: 100%;
|
186 |
}
|
187 |
+
.index_page_bp-about .changelog .two-col > div,
|
188 |
+
.dashboard_page_bp-about .changelog .two-col > div {
|
189 |
+
margin-top: 0;
|
190 |
+
padding-bottom: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
}
|
192 |
+
.index_page_bp-about .about-wrap .changelog .changelog-title,
|
193 |
+
.dashboard_page_bp-about .about-wrap .changelog .changelog-title {
|
|
|
|
|
194 |
text-align: left;
|
195 |
}
|
196 |
}
|
197 |
|
198 |
+
|
199 |
/*------------------------------------------------------------------------------
|
200 |
* 2.0 Dashicons
|
201 |
*----------------------------------------------------------------------------*/
|
229 |
|
230 |
#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,
|
231 |
#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before,
|
232 |
+
#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before{
|
233 |
content: "\f454";
|
234 |
}
|
235 |
|
255 |
}
|
256 |
|
257 |
.settings_page_bp-components td.plugin-title span:before {
|
258 |
+
font-family: 'dashicons';
|
259 |
font-size: 18px;
|
260 |
}
|
261 |
|
308 |
}
|
309 |
|
310 |
@media screen and ( max-width: 782px ) {
|
|
|
311 |
.settings_page_bp-components td.plugin-title span {
|
312 |
margin-top: 5px;
|
313 |
}
|
|
|
314 |
#bp-admin-component-form .wp-list-table.plugins .plugin-title {
|
315 |
display: block;
|
316 |
width: auto;
|
317 |
}
|
|
|
318 |
#bp-admin-component-form .subsubsub {
|
319 |
margin-bottom: 0;
|
320 |
padding-bottom: 35px;
|
360 |
text-align: center;
|
361 |
}
|
362 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
363 |
|
364 |
/*------------------------------------------------------------------------------
|
365 |
* 4.0 Emails - Edit Page
|
382 |
padding-left: 25px;
|
383 |
text-indent: -25px;
|
384 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +1 @@
|
|
1 |
-
.bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.about-wrap .bp-badge{position:absolute;top:0;right:0}.index_page_bp-about code,.index_page_bp-credits code{background-color:#e0e0e0;color:#636363;font-size:1em}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;right:auto}}.buddypress .bp-headline-feature{margin-bottom:2em;margin-top:3em;padding:2em 3em}.buddypress .bp-headline{margin:0 auto;width:45em}.buddypress .bp-headline span.dashicons{background-color:#f1f1f1;color:#d84800;clear:left;font-size:100px;float:left;height:100px;line-height:100px;margin:0 15px 15px 0;text-align:center;width:100px}.buddypress .bp-headline-feature .headline-title{font-size:2.2em;font-weight:300;line-height:2;margin:0 0 1em;text-align:center}.buddypress .bp-headline-feature p{font-size:1.15em;margin:1.15em auto .6em 0}.buddypress .bp-features-section{border-bottom:1px solid #ccc;clear:both;margin-bottom:3em;margin-top:2em;overflow:hidden;padding-bottom:2em}.buddypress .bp-features-section p{font-size:14px;line-height:1.5}.buddypress .bp-features-section img{margin-bottom:20px}.buddypress .bp-features-section span.dashicons{background-color:#fff;border-radius:50%;clear:left;color:#d84800;font-size:50px;float:left;height:80px;line-height:80px;margin:0 15px 15px 0;text-align:center;width:80px}.buddypress .bp-features-section .headline-title{font-size:2em;font-weight:300;line-height:1.5;margin:1em auto 2em;text-align:center}.buddypress .bp-features-section .bp-feature-with-images{border-bottom:1px solid #ccc;margin-bottom:5em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{float:left;margin-bottom:3em;margin-right:4.799999999%;width:47.6%}.buddypress .bp-features-section .bp-feature-imaged.anon,.buddypress .bp-features-section .bp-feature.opposite{margin-right:0}.buddypress .bp-features-section .bp-feature code{font-size:.95em;line-height:1.5}.buddypress .bp-feature:after{clear:both;content:"";margin-bottom:2em}.buddypress .bp-feature-imaged .feature-title{color:#23282d;font-size:1.25em;margin-bottom:.6em;margin-top:0}.buddypress .bp-feature-imaged p{clear:left;font-size:1.1em}.buddypress .bp-feature-imaged img{clear:left}.buddypress .bp-feature .feature-title{font-size:1em;line-height:1.5;margin-bottom:0;margin-left:110px;margin-top:0;text-align:left}.buddypress .bp-feature p{margin-left:110px}.buddypress .bp-changelog-section{clear:both;margin-bottom:3em;margin-top:4em;padding-bottom:0}.buddypress .bp-changelog-section:after{clear:both;content:"";display:table}.buddypress .bp-changelog-section .changelog-title{color:#23282d;font-size:1.25em;line-height:1.5;margin:0 auto 1.5em}.buddypress .bp-two-column div{float:left;margin-right:4.799999999%;position:relative;width:47.6%}.buddypress .bp-three-column .bp-column{float:left;margin-right:5%;position:relative;width:29.95%}.buddypress .bp-three-column .bp-column:nth-of-type(3n),.buddypress .bp-two-column .bp-column:nth-of-type(2n){margin-right:0}.buddypress .bp-changelog{margin-bottom:3em}.buddypress .bp-changelog:after{clear:both;content:"";display:table}.buddypress .bp-changelog .title{font-size:14px;margin-bottom:.75em;margin-top:0}.buddypress .bp-changelog p{margin-bottom:0}.bp-changelog-url{text-align:center}.bp-assets{clear:both;margin-bottom:3em}@media screen and (max-width:782px){.bp-assets,.bp-changelog-section,.bp-features-section,.bp-headline-feature{margin-left:20px;margin-right:20px}.buddypress .bp-headline-feature{padding:0}.buddypress .bp-headline{margin:0;width:97%}.buddypress .bp-features-section{clear:both;margin-bottom:0;margin-top:2em;padding-bottom:2em}.buddypress .bp-features-section .bp-feature-with-images{margin-bottom:2em}.buddypress .bp-features-section .headline-title{margin-bottom:1em}.buddypress .bp-changelog-section .changelog-title{font-size:1.25em;line-height:1.5;margin-bottom:.5em;margin-top:.5em}.buddypress .bp-changelog-section .title,.buddypress .bp-features-section .feature-title{font-size:1.25em;line-height:1.25;margin-top:.6em;text-align:left}.buddypress .bp-features-section .bp-feature,.buddypress .bp-features-section .bp-feature-imaged{clear:both;float:left;margin-bottom:1em;margin-top:1em;margin-right:0;padding-right:1em;width:100%}.buddypress .bp-features-section .bp-feature-imaged p{font-size:1em}.buddypress .bp-features-section .bp-feature span{margin-top:.33em}.buddypress .bp-feature.opposite .feature-title,.buddypress .bp-feature.opposite p{float:none}.buddypress .bp-changelog-section{clear:both;margin-bottom:2em;margin-top:2em}.buddypress .bp-changelog{margin-bottom:0}.buddypress .bp-changelog-section .changelog-title{margin-bottom:.5em}.buddypress .bp-changelog .title{font-size:1em}.buddypress .bp-changelog p{margin-bottom:1em}.buddypress .bp-changelog-section .three-col .col,.buddypress .bp-changelog-section .two-col>div{margin-top:0;padding-bottom:.5em;width:100%}.buddypress .bp-three-column .bp-column{width:100%}}@media screen and (max-width:360px){.buddypress .bp-headline{text-align:center}.buddypress .bp-headline span.dashicons{clear:none;font-size:80px;float:none;height:80px;line-height:80px;margin:0 auto;width:80px}.buddypress .bp-features-section .headline-title,.buddypress .bp-headline-feature .headline-title{font-size:1.5em;line-height:1.5;text-align:left}.buddypress .bp-headline-feature .headline-title{margin:1em 0 0}.buddypress .bp-headline-feature p{margin:1.15em auto .6em 0;text-align:left;width:auto}.buddypress .bp-features-section .bp-feature{text-align:center}.buddypress .bp-features-section span.dashicons{float:none}.buddypress .bp-features-section .feature-title,.buddypress .bp-features-section p{margin-left:0;text-align:left}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:left;width:18px;height:18px;margin-right:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}.bp-signups-list table{margin:1em 0}.bp-signups-list .column-fields{font-weight:700}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email th#situation{width:20%}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:left;padding-left:25px;text-indent:-25px}.tools_page_bp-tools .wrap{max-width:950px}.tools_page_bp-tools p{line-height:2}.tools_page_bp-tools fieldset{margin:2em 0 0}.tools_page_bp-tools legend{color:#23282d;font-size:1.3em;font-weight:600;margin:1em 0}.tools_page_bp-tools label{clear:left;display:block;line-height:1.5;margin:0 0 1em;vertical-align:middle}@media screen and (max-width:782px){.tools_page_bp-tools p{line-height:1.5}.tools_page_bp-tools label{margin-bottom:1em;padding-right:25px;text-indent:-33px}.tools_page_bp-tools .checkbox{padding:0 0 0 30px}}#buddypress-update.not-shiny .update-message{border-left:0;padding-left:36px}#buddypress-update.not-shiny .update-message:before{content:"\f534"}
|
1 |
+
.bp-badge{color:#d84800;display:inline-block;font:400 150px/1 dashicons!important}.bp-badge:before{content:"\f448"}.about-wrap .bp-badge{position:absolute;top:0;right:0}@media only screen and (max-width:500px){.about-wrap .bp-badge{position:relative;margin:10px auto;top:auto;right:auto}}.dashboard_page_bp-about .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{margin-bottom:2em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3,.index_page_bp-about .headline-feature .headline-title{font-size:2.2em;font-weight:400;line-height:1.3;margin:1.25em 0 .6em;text-align:center}.dashboard_page_bp-about .about-wrap .headline-feature p,.index_page_bp-about .about-wrap .headline-feature p{font-size:1.15em;margin:1.15em auto .6em}.dashboard_page_bp-about .about-wrap .headline-feature .introduction,.index_page_bp-about .about-wrap .headline-feature .introduction{font-weight:600}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{float:left;margin-right:4.799999999%;position:relative;width:47.6%}.dashboard_page_bp-about .about-wrap .two-col .last-feature,.index_page_bp-about .about-wrap .two-col .last-feature{margin-right:0}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:2em}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{clear:both;margin-top:2em;overflow:hidden;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .feature-section,.index_page_bp-about .about-wrap .changelog .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .feature-section h3,.index_page_bp-about .about-wrap .feature-section h3{font-size:1.25em;line-height:1.5em;margin:0 0 .6em}.dashboard_page_bp-about .about-wrap .changelog h4,.index_page_bp-about .about-wrap .changelog h4{color:#23282d;font-size:1em;margin:1.4em 0 .6em}.dashboard_page_bp-about .about-wrap .changelog,.index_page_bp-about .about-wrap .changelog{border-top:1px solid #eee;margin-bottom:3em}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{font-size:1.25em;line-height:1.5em;margin:1.25em 0 .6em;text-align:center}@media screen and (max-width:782px){.dashboard_page_bp-about .about-wrap .headline-feature,.index_page_bp-about .about-wrap .headline-feature{max-width:100%}.dahsboard_page_bp-about .about-wrap .headline-feature h3,.dashboard_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature .headline-title,.index_page_bp-about .about-wrap .headline-feature h3{font-size:2em}.dashboard_page_bp-about .bp-features-section,.index_page_bp-about .bp-features-section{margin-bottom:0}.dashboard_page_bp-about .about-wrap .feature-section,.index_page_bp-about .about-wrap .feature-section{margin-top:0}.dashboard_page_bp-about .about-wrap .two-col>div,.index_page_bp-about .about-wrap .two-col>div{border-bottom:1px solid rgba(0,0,0,.1);margin-top:1.25em;padding-bottom:1em;width:100%}.dashboard_page_bp-about .changelog .two-col>div,.index_page_bp-about .changelog .two-col>div{margin-top:0;padding-bottom:0}.dashboard_page_bp-about .about-wrap .changelog .changelog-title,.index_page_bp-about .about-wrap .changelog .changelog-title{text-align:left}}#adminmenu #toplevel_page_bp-activity .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-activity_user .wp-menu-image:before{content:"\f452"}#adminmenu #toplevel_page_bp-groups .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-groups_user .wp-menu-image:before{content:"\f456"}#adminmenu #toplevel_page_bp-notifications .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-notifications_user .wp-menu-image:before{content:"\f439"}#adminmenu #toplevel_page_bp-messages .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-messages_user .wp-menu-image:before{content:"\f457"}#adminmenu #toplevel_page_bp-friends .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-friends_user .wp-menu-image:before{content:"\f454"}#adminmenu #toplevel_page_bp-settings .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_network .wp-menu-image:before,#adminmenu #toplevel_page_bp-settings_user .wp-menu-image:before{content:"\f108"}#adminmenu li.toplevel_page_bp-components .wp-menu-image,#adminmenu li.toplevel_page_bp-general-settings .wp-menu-image{content:"\f448"}.settings_page_bp-components td.plugin-title span{float:left;width:18px;height:18px;margin-right:5px}.settings_page_bp-components td.plugin-title span:before{font-family:dashicons;font-size:18px}.settings_page_bp-components tr.activity td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.notifications td.plugin-title span:before{content:"\f339"}.settings_page_bp-components tr.xprofile td.plugin-title span:before{content:"\f336"}.settings_page_bp-components tr.settings td.plugin-title span:before{content:"\f108"}.settings_page_bp-components tr.groups td.plugin-title span:before{content:"\f456"}.settings_page_bp-components tr.messages td.plugin-title span:before{content:"\f457"}.settings_page_bp-components tr.forums td.plugin-title span:before{content:"\f452"}.settings_page_bp-components tr.blogs td.plugin-title span:before{content:"\f120"}.settings_page_bp-components tr.friends td.plugin-title span:before{content:"\f454"}.settings_page_bp-components tr.core td.plugin-title span:before{content:"\f448"}.settings_page_bp-components tr.members td.plugin-title span:before{content:"\f307"}#bp-admin-component-form .wp-list-table.plugins .plugin-title{width:25%}@media screen and (max-width:782px){.settings_page_bp-components td.plugin-title span{margin-top:5px}#bp-admin-component-form .wp-list-table.plugins .plugin-title{display:block;width:auto}#bp-admin-component-form .subsubsub{margin-bottom:0;padding-bottom:35px}}#adminmenu .toplevel_page_network-tools div.wp-menu-image:before{content:""}body.site-users-php th#role,body.users-php th#role,body.users_page_bp-signups th#count_sent{width:10%}body.site-users-php th#email,body.site-users-php th#name,body.users-php th#email,body.users-php th#name,body.users-php th#registered,body.users_page_bp-signups th#date_sent,body.users_page_bp-signups th#email,body.users_page_bp-signups th#name,body.users_page_bp-signups th#registered{width:15%}body.post-type-bp-email th#situation,body.users-php th#blogs,body.users_page_bp-signups th#blogs{width:20%}body.users_page_bp-signups td.count_sent,body.users_page_bp-signups th.column-count_sent{text-align:center}body.post-type-bp-email #excerpt{height:auto}body.post-type-bp-email td.column-situation ul{margin:0}body.post-type-bp-email .categorydiv label{display:block;float:left;padding-left:25px;text-indent:-25px}
|
@@ -1,7 +1,7 @@
|
|
1 |
.customize-control-range output {
|
2 |
-
background-color: #
|
3 |
-
border: 1px solid #
|
4 |
-
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
|
5 |
float: right;
|
6 |
margin-left: 10px;
|
7 |
margin-top: -4px;
|
1 |
.customize-control-range output {
|
2 |
+
background-color: #FFF;
|
3 |
+
border: 1px solid #DDD;
|
4 |
+
box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
|
5 |
float: right;
|
6 |
margin-left: 10px;
|
7 |
margin-top: -4px;
|
@@ -1 +1 @@
|
|
1 |
-
.customize-control-range output{background-color:#
|
1 |
+
.customize-control-range output{background-color:#FFF;border:1px solid #DDD;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);float:right;margin-left:10px;margin-top:-4px;min-width:16px;padding:5px}
|
@@ -1,7 +1,7 @@
|
|
1 |
.customize-control-range output {
|
2 |
-
background-color: #
|
3 |
-
border: 1px solid #
|
4 |
-
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.07);
|
5 |
float: left;
|
6 |
margin-right: 10px;
|
7 |
margin-top: -4px;
|
1 |
.customize-control-range output {
|
2 |
+
background-color: #FFF;
|
3 |
+
border: 1px solid #DDD;
|
4 |
+
box-shadow: inset 0 1px 2px rgba( 0, 0, 0, 0.07 );
|
5 |
float: left;
|
6 |
margin-right: 10px;
|
7 |
margin-top: -4px;
|
@@ -1 +1 @@
|
|
1 |
-
.customize-control-range output{background-color:#
|
1 |
+
.customize-control-range output{background-color:#FFF;border:1px solid #DDD;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);float:left;margin-right:10px;margin-top:-4px;min-width:16px;padding:5px}
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1 +1 @@
|
|
1 |
-
!function(
|
1 |
+
!function(a){a(window).on("load",function(){a(".customize-control-range input").on("input",function(){var b=a(this);b.siblings("output").text(b.val())})})}(jQuery);
|
@@ -1 +1 @@
|
|
1 |
-
!function(
|
1 |
+
!function(a){wp.customize("bp_email_options[email_bg]",function(b){b.bind(function(b){b.length&&(a(".email_bg").attr("bgcolor",b),a("hr").attr("color",b))})}),wp.customize("bp_email_options[header_bg]",function(b){b.bind(function(b){b.length&&a(".header_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[header_text_size]",function(b){b.bind(function(b){b.length&&a(".header_text_size").css("font-size",b+"px")})}),wp.customize("bp_email_options[header_text_color]",function(b){b.bind(function(b){b.length&&a(".header_text_color").css("color",b)})}),wp.customize("bp_email_options[highlight_color]",function(b){b.bind(function(b){b.length&&(a(".header_bg").css("border-top-color",b),a("a").css("color",b),a("hr").attr("color",b))})}),wp.customize("bp_email_options[body_bg]",function(b){b.bind(function(b){b.length&&a(".body_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[body_text_size]",function(b){b.bind(function(b){b.length&&(a(".body_text_size").css("font-size",b+"px").css("line-height",Math.floor(1.618*b)+"px"),a(".welcome").css("font-size",Math.floor(1.35*b)+"px"))})}),wp.customize("bp_email_options[body_text_color]",function(b){b.bind(function(b){b.length&&a(".body_text_color").css("color",b)})}),wp.customize("bp_email_options[footer_bg]",function(b){b.bind(function(b){b.length&&a(".footer_bg").attr("bgcolor",b)})}),wp.customize("bp_email_options[footer_text_size]",function(b){b.bind(function(b){b.length&&a(".footer_text_size").css("font-size",b+"px").css("line-height",Math.floor(1.618*b)+"px")})}),wp.customize("bp_email_options[footer_text_color]",function(b){b.bind(function(b){b.length&&a(".footer_text_color").css("color",b)})}),wp.customize("bp_email_options[footer_text]",function(b){b.bind(function(b){a(".footer_text").text(b)})})}(jQuery);
|
@@ -1,16 +0,0 @@
|
|
1 |
-
(function($){
|
2 |
-
$(document).ready(function() {
|
3 |
-
$( '.bp-is-dismissible .notice-dismiss' ).click( function() {
|
4 |
-
var $notice = $( this ).closest( '.notice' );
|
5 |
-
var notice_id = $notice.data( 'noticeid' );
|
6 |
-
$.post( {
|
7 |
-
url: ajaxurl,
|
8 |
-
data: {
|
9 |
-
action: 'bp_dismiss_notice',
|
10 |
-
nonce: $( '#bp-dismissible-nonce-' + notice_id ).val(),
|
11 |
-
notice_id: $notice.data( 'noticeid' )
|
12 |
-
}
|
13 |
-
} );
|
14 |
-
} );
|
15 |
-
});
|
16 |
-
}(jQuery));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(i){i(document).ready(function(){i(".bp-is-dismissible .notice-dismiss").click(function(){var n=i(this).closest(".notice"),s=n.data("noticeid");i.post({url:ajaxurl,data:{action:"bp_dismiss_notice",nonce:i("#bp-dismissible-nonce-"+s).val(),notice_id:n.data("noticeid")}})})})}(jQuery);
|
|
@@ -29,7 +29,7 @@ defined( 'ABSPATH' ) || exit;
|
|
29 |
* near the bottom of this file.
|
30 |
*
|
31 |
* v--WordPress Actions v--BuddyPress Sub-actions
|
32 |
-
|
33 |
add_action( 'plugins_loaded', 'bp_loaded', 10 );
|
34 |
add_action( 'init', 'bp_init', 10 );
|
35 |
add_action( 'rest_api_init', 'bp_rest_api_init', 20 ); // After WP core.
|
@@ -55,9 +55,9 @@ add_action( 'generate_rewrite_rules', 'bp_generate_rewrite_rules', 10 );
|
|
55 |
*/
|
56 |
add_action( 'bp_loaded', 'bp_setup_components', 2 );
|
57 |
add_action( 'bp_loaded', 'bp_include', 4 );
|
58 |
-
add_action( 'bp_loaded', 'bp_setup_option_filters', 5 );
|
59 |
add_action( 'bp_loaded', 'bp_setup_cache_groups', 5 );
|
60 |
add_action( 'bp_loaded', 'bp_setup_widgets', 6 );
|
|
|
61 |
add_action( 'bp_loaded', 'bp_register_theme_packages', 12 );
|
62 |
add_action( 'bp_loaded', 'bp_register_theme_directory', 14 );
|
63 |
|
@@ -68,9 +68,9 @@ add_action( 'bp_loaded', 'bp_register_theme_directory', 14 );
|
|
68 |
* The load order helps to execute code at the correct time.
|
69 |
* v---Load order
|
70 |
*/
|
71 |
-
add_action( 'bp_init', 'bp_register_post_types', 2 );
|
72 |
-
add_action( 'bp_init', 'bp_register_taxonomies', 2 );
|
73 |
add_action( 'bp_init', 'bp_core_set_uri_globals', 2 );
|
|
|
|
|
74 |
add_action( 'bp_init', 'bp_setup_globals', 4 );
|
75 |
add_action( 'bp_init', 'bp_setup_canonical_stack', 5 );
|
76 |
add_action( 'bp_init', 'bp_setup_nav', 6 );
|
@@ -80,11 +80,6 @@ add_action( 'bp_init', 'bp_add_rewrite_tags', 20 );
|
|
80 |
add_action( 'bp_init', 'bp_add_rewrite_rules', 30 );
|
81 |
add_action( 'bp_init', 'bp_add_permastructs', 40 );
|
82 |
|
83 |
-
/**
|
84 |
-
* The bp_register_taxonomies hook - Attached to 'bp_init' @ priority 2 above.
|
85 |
-
*/
|
86 |
-
add_action( 'bp_register_taxonomies', 'bp_register_member_types' );
|
87 |
-
|
88 |
/**
|
89 |
* The bp_template_redirect hook - Attached to 'template_redirect' above.
|
90 |
*
|
@@ -115,6 +110,3 @@ if ( is_admin() ) {
|
|
115 |
|
116 |
// Activation redirect.
|
117 |
add_action( 'bp_activation', 'bp_add_activation_redirect' );
|
118 |
-
|
119 |
-
// Email unsubscribe.
|
120 |
-
add_action( 'bp_get_request_unsubscribe', 'bp_email_unsubscribe_handler' );
|
29 |
* near the bottom of this file.
|
30 |
*
|
31 |
* v--WordPress Actions v--BuddyPress Sub-actions
|
32 |
+
*/
|
33 |
add_action( 'plugins_loaded', 'bp_loaded', 10 );
|
34 |
add_action( 'init', 'bp_init', 10 );
|
35 |
add_action( 'rest_api_init', 'bp_rest_api_init', 20 ); // After WP core.
|
55 |
*/
|
56 |
add_action( 'bp_loaded', 'bp_setup_components', 2 );
|
57 |
add_action( 'bp_loaded', 'bp_include', 4 );
|
|
|
58 |
add_action( 'bp_loaded', 'bp_setup_cache_groups', 5 );
|
59 |
add_action( 'bp_loaded', 'bp_setup_widgets', 6 );
|
60 |
+
add_action( 'bp_loaded', 'bp_register_member_types', 8 );
|
61 |
add_action( 'bp_loaded', 'bp_register_theme_packages', 12 );
|
62 |
add_action( 'bp_loaded', 'bp_register_theme_directory', 14 );
|
63 |
|
68 |
* The load order helps to execute code at the correct time.
|
69 |
* v---Load order
|
70 |
*/
|
|
|
|
|
71 |
add_action( 'bp_init', 'bp_core_set_uri_globals', 2 );
|
72 |
+
add_action( 'bp_init', 'bp_register_post_types', 3 );
|
73 |
+
add_action( 'bp_init', 'bp_register_taxonomies', 3 );
|
74 |
add_action( 'bp_init', 'bp_setup_globals', 4 );
|
75 |
add_action( 'bp_init', 'bp_setup_canonical_stack', 5 );
|
76 |
add_action( 'bp_init', 'bp_setup_nav', 6 );
|
80 |
add_action( 'bp_init', 'bp_add_rewrite_rules', 30 );
|
81 |
add_action( 'bp_init', 'bp_add_permastructs', 40 );
|
82 |
|
|
|
|
|
|
|
|
|
|
|
83 |
/**
|
84 |
* The bp_template_redirect hook - Attached to 'template_redirect' above.
|
85 |
*
|
110 |
|
111 |
// Activation redirect.
|
112 |
add_action( 'bp_activation', 'bp_add_activation_redirect' );
|
|
|
|
|
|
@@ -10,6 +10,10 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Setup BuddyPress Admin.
|
15 |
*
|
@@ -26,33 +30,25 @@ function bp_admin() {
|
|
26 |
_n_noop( 'Security Release', 'Security Releases', 'buddypress' );
|
27 |
_n_noop( 'Maintenance and Security Release', 'Maintenance and Security Releases', 'buddypress' );
|
28 |
|
29 |
-
/* translators: 1:
|
30 |
-
_n_noop(
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
);
|
49 |
-
|
50 |
-
/* translators: 1: BuddyPress version number, 2: plural number of bugs. More than one security issue. */
|
51 |
-
_n_noop(
|
52 |
-
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
|
53 |
-
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
|
54 |
-
'buddypress'
|
55 |
-
);
|
56 |
|
57 |
__( 'For more information, see <a href="%s">the release notes</a>.', 'buddypress' );
|
58 |
}
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-admin.php';
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Setup BuddyPress Admin.
|
19 |
*
|
30 |
_n_noop( 'Security Release', 'Security Releases', 'buddypress' );
|
31 |
_n_noop( 'Maintenance and Security Release', 'Maintenance and Security Releases', 'buddypress' );
|
32 |
|
33 |
+
/* translators: 1: WordPress version number. */
|
34 |
+
_n_noop( '<strong>Version %1$s</strong> addressed a security issue.',
|
35 |
+
'<strong>Version %1$s</strong> addressed some security issues.',
|
36 |
+
'buddypress' );
|
37 |
+
|
38 |
+
/* translators: 1: WordPress version number, 2: plural number of bugs. */
|
39 |
+
_n_noop( '<strong>Version %1$s</strong> addressed %2$s bug.',
|
40 |
+
'<strong>Version %1$s</strong> addressed %2$s bugs.',
|
41 |
+
'buddypress' );
|
42 |
+
|
43 |
+
/* translators: 1: WordPress version number, 2: plural number of bugs. Singular security issue. */
|
44 |
+
_n_noop( '<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bug.',
|
45 |
+
'<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bugs.',
|
46 |
+
'buddypress' );
|
47 |
+
|
48 |
+
/* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
|
49 |
+
_n_noop( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
|
50 |
+
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
|
51 |
+
'buddypress' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
__( 'For more information, see <a href="%s">the release notes</a>.', 'buddypress' );
|
54 |
}
|
@@ -39,6 +39,12 @@ function bp_admin_bar_my_account_root() {
|
|
39 |
'class' => 'ab-sub-secondary'
|
40 |
)
|
41 |
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
}
|
44 |
add_action( 'admin_bar_menu', 'bp_admin_bar_my_account_root', 100 );
|
@@ -61,11 +67,6 @@ function bp_core_load_admin_bar() {
|
|
61 |
if ( ! bp_use_wp_admin_bar() ) {
|
62 |
_doing_it_wrong( __FUNCTION__, __( 'The BuddyBar is no longer supported. Please migrate to the WordPress toolbar as soon as possible.', 'buddypress' ), '2.1.0' );
|
63 |
|
64 |
-
// Load deprecated code if not available.
|
65 |
-
if ( ! function_exists( 'bp_core_admin_bar' ) ) {
|
66 |
-
require buddypress()->plugin_dir . 'bp-core/deprecated/2.1.php';
|
67 |
-
}
|
68 |
-
|
69 |
// Keep the WP Toolbar from loading.
|
70 |
show_admin_bar( false );
|
71 |
|
39 |
'class' => 'ab-sub-secondary'
|
40 |
)
|
41 |
) );
|
42 |
+
|
43 |
+
// Remove 'Edit' post link as it's not applicable to BP.
|
44 |
+
// Remove when https://core.trac.wordpress.org/ticket/29538 is addressed.
|
45 |
+
if ( is_buddypress() ) {
|
46 |
+
$wp_admin_bar->remove_node( 'edit' );
|
47 |
+
}
|
48 |
}
|
49 |
}
|
50 |
add_action( 'admin_bar_menu', 'bp_admin_bar_my_account_root', 100 );
|
67 |
if ( ! bp_use_wp_admin_bar() ) {
|
68 |
_doing_it_wrong( __FUNCTION__, __( 'The BuddyBar is no longer supported. Please migrate to the WordPress toolbar as soon as possible.', 'buddypress' ), '2.1.0' );
|
69 |
|
|
|
|
|
|
|
|
|
|
|
70 |
// Keep the WP Toolbar from loading.
|
71 |
show_admin_bar( false );
|
72 |
|
@@ -52,11 +52,6 @@ function bp_attachments_uploads_dir_get( $data = '' ) {
|
|
52 |
foreach ( $upload_data as $key => $value ) {
|
53 |
if ( 'basedir' === $key || 'baseurl' === $key ) {
|
54 |
$upload_data[ $key ] = trailingslashit( $value ) . $attachments_dir;
|
55 |
-
|
56 |
-
// Fix for HTTPS.
|
57 |
-
if ( 'baseurl' === $key && is_ssl() ) {
|
58 |
-
$upload_data[ $key ] = str_replace( 'http://', 'https://', $upload_data[ $key ] );
|
59 |
-
}
|
60 |
} else {
|
61 |
unset( $upload_data[ $key ] );
|
62 |
}
|
@@ -265,7 +260,7 @@ function bp_attachments_create_item_type( $type = 'avatar', $args = array() ) {
|
|
265 |
}
|
266 |
|
267 |
// Make sure the file path is safe.
|
268 |
-
if (
|
269 |
return false;
|
270 |
}
|
271 |
|
@@ -447,7 +442,7 @@ function bp_attachments_get_attachment( $data = 'url', $args = array() ) {
|
|
447 |
$type_subdir = $r['object_dir'] . '/' . $r['item_id'] . '/' . $r['type'];
|
448 |
$type_dir = trailingslashit( $bp_attachments_uploads_dir['basedir'] ) . $type_subdir;
|
449 |
|
450 |
-
if (
|
451 |
return $attachment_data;
|
452 |
}
|
453 |
|
@@ -512,7 +507,7 @@ function bp_attachments_delete_file( $args = array() ) {
|
|
512 |
* @since 2.5.1
|
513 |
*
|
514 |
* @param bool $value Whether or not to delete the BuddyPress attachment.
|
515 |
-
|
516 |
*/
|
517 |
if ( ! apply_filters( 'bp_attachments_pre_delete_file', true, $args ) ) {
|
518 |
return true;
|
@@ -949,7 +944,7 @@ function bp_attachments_get_template_part( $slug ) {
|
|
949 |
* @since 2.4.0
|
950 |
*
|
951 |
* @param string $component The component to get the settings for ("xprofile" for user or "groups").
|
952 |
-
* @return
|
953 |
*/
|
954 |
function bp_attachments_get_cover_image_settings( $component = 'xprofile' ) {
|
955 |
// Default parameters.
|
@@ -968,7 +963,7 @@ function bp_attachments_get_cover_image_settings( $component = 'xprofile' ) {
|
|
968 |
* Eg: for the user's profile cover image use:
|
969 |
* add_filter( 'bp_before_xprofile_cover_image_settings_parse_args', 'your_filter', 10, 1 );
|
970 |
*
|
971 |
-
* @since
|
972 |
*
|
973 |
* @param array $settings The cover image settings
|
974 |
*/
|
@@ -995,12 +990,12 @@ function bp_attachments_get_cover_image_settings( $component = 'xprofile' ) {
|
|
995 |
}
|
996 |
|
997 |
/**
|
998 |
-
* Get cover image Width and Height
|
999 |
*
|
1000 |
* @since 2.4.0
|
1001 |
*
|
1002 |
* @param string $component The BuddyPress component concerned ("xprofile" for user or "groups").
|
1003 |
-
* @return array
|
1004 |
*/
|
1005 |
function bp_attachments_get_cover_image_dimensions( $component = 'xprofile' ) {
|
1006 |
// Let's prevent notices when setting the warning strings.
|
@@ -1110,7 +1105,7 @@ function bp_attachments_get_group_has_cover_image( $group_id = 0 ) {
|
|
1110 |
* @type string $cover_image_dir The Cover image dir to write the image into. Required.
|
1111 |
* }
|
1112 |
* @param BP_Attachment_Cover_Image|null $cover_image_class The class to use to fit the cover image.
|
1113 |
-
* @return
|
1114 |
*/
|
1115 |
function bp_attachments_cover_image_generate_file( $args = array(), $cover_image_class = null ) {
|
1116 |
// Bail if an argument is missing.
|
@@ -1185,7 +1180,7 @@ function bp_attachments_cover_image_generate_file( $args = array(), $cover_image
|
|
1185 |
*
|
1186 |
* @since 2.4.0
|
1187 |
*
|
1188 |
-
* @return string|null A json object containing success data if the upload succeeded
|
1189 |
* error message otherwise.
|
1190 |
*/
|
1191 |
function bp_attachments_cover_image_ajax_upload() {
|
@@ -1247,7 +1242,10 @@ function bp_attachments_cover_image_ajax_upload() {
|
|
1247 |
|
1248 |
if ( ! bp_get_current_group_id() && ! empty( $bp_params['item_id'] ) ) {
|
1249 |
$needs_reset = array( 'component' => 'groups', 'key' => 'current_group', 'value' => $bp->groups->current_group );
|
1250 |
-
$bp->groups->current_group = groups_get_group(
|
|
|
|
|
|
|
1251 |
}
|
1252 |
|
1253 |
// Other object's cover image.
|
@@ -1314,7 +1312,7 @@ function bp_attachments_cover_image_ajax_upload() {
|
|
1314 |
$cover_subdir = $object_data['dir'] . '/' . $bp_params['item_id'] . '/cover-image';
|
1315 |
$cover_dir = trailingslashit( $bp_attachments_uploads_dir['basedir'] ) . $cover_subdir;
|
1316 |
|
1317 |
-
if (
|
1318 |
// Upload error response.
|
1319 |
bp_attachments_json_response( false, $is_html4, array(
|
1320 |
'type' => 'upload_error',
|
@@ -1396,47 +1394,33 @@ function bp_attachments_cover_image_ajax_delete() {
|
|
1396 |
wp_send_json_error();
|
1397 |
}
|
1398 |
|
1399 |
-
|
|
|
|
|
1400 |
wp_send_json_error();
|
1401 |
}
|
1402 |
|
1403 |
-
|
1404 |
-
'object' => sanitize_text_field( $_POST['object'] ),
|
1405 |
-
'item_id' => (int) $_POST['item_id'],
|
1406 |
-
);
|
1407 |
-
|
1408 |
-
// Check permissions.
|
1409 |
check_admin_referer( 'bp_delete_cover_image', 'nonce' );
|
1410 |
-
|
|
|
|
|
1411 |
wp_send_json_error();
|
1412 |
}
|
1413 |
|
1414 |
// Set object for the user's case.
|
1415 |
-
if ( 'user' === $
|
1416 |
$component = 'xprofile';
|
1417 |
$dir = 'members';
|
1418 |
|
1419 |
// Set it for any other cases.
|
1420 |
} else {
|
1421 |
-
$component = $
|
1422 |
$dir = $component;
|
1423 |
}
|
1424 |
|
1425 |
// Handle delete.
|
1426 |
-
if ( bp_attachments_delete_file( array( 'item_id' => $
|
1427 |
-
/**
|
1428 |
-
* Fires if the cover image was successfully deleted.
|
1429 |
-
*
|
1430 |
-
* The dynamic portion of the hook will be xprofile in case of a user's
|
1431 |
-
* cover image, groups in case of a group's cover image. For instance:
|
1432 |
-
* Use add_action( 'xprofile_cover_image_deleted' ) to run your specific
|
1433 |
-
* code once the user has deleted his cover image.
|
1434 |
-
*
|
1435 |
-
* @since 2.8.0
|
1436 |
-
*
|
1437 |
-
* @param int $item_id Inform about the item id the cover image was deleted for.
|
1438 |
-
*/
|
1439 |
-
do_action( "{$component}_cover_image_deleted", (int) $args['item_id'] );
|
1440 |
|
1441 |
// Defaults no cover image.
|
1442 |
$response = array(
|
52 |
foreach ( $upload_data as $key => $value ) {
|
53 |
if ( 'basedir' === $key || 'baseurl' === $key ) {
|
54 |
$upload_data[ $key ] = trailingslashit( $value ) . $attachments_dir;
|
|
|
|
|
|
|
|
|
|
|
55 |
} else {
|
56 |
unset( $upload_data[ $key ] );
|
57 |
}
|
260 |
}
|
261 |
|
262 |
// Make sure the file path is safe.
|
263 |
+
if ( 0 !== validate_file( $r['image'] ) ) {
|
264 |
return false;
|
265 |
}
|
266 |
|
442 |
$type_subdir = $r['object_dir'] . '/' . $r['item_id'] . '/' . $r['type'];
|
443 |
$type_dir = trailingslashit( $bp_attachments_uploads_dir['basedir'] ) . $type_subdir;
|
444 |
|
445 |
+
if ( ! is_dir( $type_dir ) ) {
|
446 |
return $attachment_data;
|
447 |
}
|
448 |
|
507 |
* @since 2.5.1
|
508 |
*
|
509 |
* @param bool $value Whether or not to delete the BuddyPress attachment.
|
510 |
+
* @param array Array of arguments for the attachment deletion.
|
511 |
*/
|
512 |
if ( ! apply_filters( 'bp_attachments_pre_delete_file', true, $args ) ) {
|
513 |
return true;
|
944 |
* @since 2.4.0
|
945 |
*
|
946 |
* @param string $component The component to get the settings for ("xprofile" for user or "groups").
|
947 |
+
* @return array The cover image settings.
|
948 |
*/
|
949 |
function bp_attachments_get_cover_image_settings( $component = 'xprofile' ) {
|
950 |
// Default parameters.
|
963 |
* Eg: for the user's profile cover image use:
|
964 |
* add_filter( 'bp_before_xprofile_cover_image_settings_parse_args', 'your_filter', 10, 1 );
|
965 |
*
|
966 |
+
* @since 2.4.0
|
967 |
*
|
968 |
* @param array $settings The cover image settings
|
969 |
*/
|
990 |
}
|
991 |
|
992 |
/**
|
993 |
+
* Get cover image Width and Height
|
994 |
*
|
995 |
* @since 2.4.0
|
996 |
*
|
997 |
* @param string $component The BuddyPress component concerned ("xprofile" for user or "groups").
|
998 |
+
* @return array An associative array containing the advised width and height for the cover image.
|
999 |
*/
|
1000 |
function bp_attachments_get_cover_image_dimensions( $component = 'xprofile' ) {
|
1001 |
// Let's prevent notices when setting the warning strings.
|
1105 |
* @type string $cover_image_dir The Cover image dir to write the image into. Required.
|
1106 |
* }
|
1107 |
* @param BP_Attachment_Cover_Image|null $cover_image_class The class to use to fit the cover image.
|
1108 |
+
* @return bool|array An array containing cover image data on success, false otherwise.
|
1109 |
*/
|
1110 |
function bp_attachments_cover_image_generate_file( $args = array(), $cover_image_class = null ) {
|
1111 |
// Bail if an argument is missing.
|
1180 |
*
|
1181 |
* @since 2.4.0
|
1182 |
*
|
1183 |
+
* @return string|null A json object containing success data if the upload succeeded
|
1184 |
* error message otherwise.
|
1185 |
*/
|
1186 |
function bp_attachments_cover_image_ajax_upload() {
|
1242 |
|
1243 |
if ( ! bp_get_current_group_id() && ! empty( $bp_params['item_id'] ) ) {
|
1244 |
$needs_reset = array( 'component' => 'groups', 'key' => 'current_group', 'value' => $bp->groups->current_group );
|
1245 |
+
$bp->groups->current_group = groups_get_group( array(
|
1246 |
+
'group_id' => $bp_params['item_id'],
|
1247 |
+
'populate_extras' => false,
|
1248 |
+
) );
|
1249 |
}
|
1250 |
|
1251 |
// Other object's cover image.
|
1312 |
$cover_subdir = $object_data['dir'] . '/' . $bp_params['item_id'] . '/cover-image';
|
1313 |
$cover_dir = trailingslashit( $bp_attachments_uploads_dir['basedir'] ) . $cover_subdir;
|
1314 |
|
1315 |
+
if ( ! is_dir( $cover_dir ) ) {
|
1316 |
// Upload error response.
|
1317 |
bp_attachments_json_response( false, $is_html4, array(
|
1318 |
'type' => 'upload_error',
|
1394 |
wp_send_json_error();
|
1395 |
}
|
1396 |
|
1397 |
+
$cover_image_data = $_POST;
|
1398 |
+
|
1399 |
+
if ( empty( $cover_image_data['object'] ) || empty( $cover_image_data['item_id'] ) ) {
|
1400 |
wp_send_json_error();
|
1401 |
}
|
1402 |
|
1403 |
+
// Check the nonce.
|
|
|
|
|
|
|
|
|
|
|
1404 |
check_admin_referer( 'bp_delete_cover_image', 'nonce' );
|
1405 |
+
|
1406 |
+
// Capability check.
|
1407 |
+
if ( ! bp_attachments_current_user_can( 'edit_cover_image', $cover_image_data ) ) {
|
1408 |
wp_send_json_error();
|
1409 |
}
|
1410 |
|
1411 |
// Set object for the user's case.
|
1412 |
+
if ( 'user' === $cover_image_data['object'] ) {
|
1413 |
$component = 'xprofile';
|
1414 |
$dir = 'members';
|
1415 |
|
1416 |
// Set it for any other cases.
|
1417 |
} else {
|
1418 |
+
$component = $cover_image_data['object'] . 's';
|
1419 |
$dir = $component;
|
1420 |
}
|
1421 |
|
1422 |
// Handle delete.
|
1423 |
+
if ( bp_attachments_delete_file( array( 'item_id' => $cover_image_data['item_id'], 'object_dir' => $dir, 'type' => 'cover-image' ) ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1424 |
|
1425 |
// Defaults no cover image.
|
1426 |
$response = array(
|
@@ -313,7 +313,7 @@ function bp_core_fetch_avatar( $args = '' ) {
|
|
313 |
break;
|
314 |
|
315 |
case 'group' :
|
316 |
-
$item_name = bp_get_group_name( groups_get_group( $params['item_id'] ) );
|
317 |
break;
|
318 |
|
319 |
case 'user' :
|
@@ -542,9 +542,9 @@ function bp_core_fetch_avatar( $args = '' ) {
|
|
542 |
* @param string $value Subdirectory where the requested avatar should be found.
|
543 |
* @param string $html_css_id ID attribute for avatar.
|
544 |
* @param string $html_width Width attribute for avatar.
|
545 |
-
* @param string $html_height Height
|
546 |
* @param string $avatar_folder_url Avatar URL path.
|
547 |
-
* @param string $avatar_folder_dir Avatar
|
548 |
*/
|
549 |
return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $avatar_url . '"' . $html_class . $html_css_id . $html_width . $html_height . $html_alt . $html_title . $extra_attr . ' />', $params, $params['item_id'], $params['avatar_dir'], $html_css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
|
550 |
|
@@ -648,7 +648,7 @@ function bp_core_fetch_avatar( $args = '' ) {
|
|
648 |
* @since 2.6.0
|
649 |
*
|
650 |
* @param string $default_grav The avatar default.
|
651 |
-
* @param array
|
652 |
*/
|
653 |
$default_grav = apply_filters( 'bp_core_avatar_default', $default_grav, $params );
|
654 |
|
@@ -726,7 +726,7 @@ function bp_core_delete_existing_avatar( $args = '' ) {
|
|
726 |
*
|
727 |
* @since 2.5.1
|
728 |
*
|
729 |
-
* @param bool
|
730 |
* @param array $args {
|
731 |
* Array of function parameters.
|
732 |
*
|
@@ -805,7 +805,7 @@ function bp_core_delete_existing_avatar( $args = '' ) {
|
|
805 |
*
|
806 |
* @since 2.3.0
|
807 |
*
|
808 |
-
* @return string|null A
|
809 |
* error message otherwise.
|
810 |
*/
|
811 |
function bp_avatar_ajax_delete() {
|
@@ -948,8 +948,8 @@ function bp_core_avatar_handle_upload( $file, $upload_dir_filter ) {
|
|
948 |
*
|
949 |
* @since 2.3.0
|
950 |
*
|
951 |
-
* @return
|
952 |
-
*
|
953 |
*/
|
954 |
function bp_avatar_ajax_upload() {
|
955 |
// Bail if not a POST action.
|
@@ -959,7 +959,7 @@ function bp_avatar_ajax_upload() {
|
|
959 |
|
960 |
/**
|
961 |
* Sending the json response will be different if
|
962 |
-
* the current Plupload runtime is html4
|
963 |
*/
|
964 |
$is_html4 = false;
|
965 |
if ( ! empty( $_POST['html4' ] ) ) {
|
@@ -1005,7 +1005,10 @@ function bp_avatar_ajax_upload() {
|
|
1005 |
|
1006 |
if ( ! bp_get_current_group_id() && ! empty( $bp_params['item_id'] ) ) {
|
1007 |
$needs_reset = array( 'component' => 'groups', 'key' => 'current_group', 'value' => $bp->groups->current_group );
|
1008 |
-
$bp->groups->current_group = groups_get_group(
|
|
|
|
|
|
|
1009 |
}
|
1010 |
} else {
|
1011 |
/**
|
@@ -1094,15 +1097,15 @@ function bp_avatar_ajax_upload() {
|
|
1094 |
}
|
1095 |
add_action( 'wp_ajax_bp_avatar_upload', 'bp_avatar_ajax_upload' );
|
1096 |
|
1097 |
-
/**
|
1098 |
-
|
1099 |
-
|
1100 |
-
|
1101 |
-
|
1102 |
-
|
1103 |
-
|
1104 |
-
|
1105 |
-
|
1106 |
function bp_avatar_handle_capture( $data = '', $item_id = 0 ) {
|
1107 |
if ( empty( $data ) || empty( $item_id ) ) {
|
1108 |
return false;
|
@@ -1168,6 +1171,16 @@ function bp_avatar_handle_capture( $data = '', $item_id = 0 ) {
|
|
1168 |
/**
|
1169 |
* Crop an uploaded avatar.
|
1170 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1171 |
* @since 1.1.0
|
1172 |
*
|
1173 |
* @param array|string $args {
|
@@ -1233,8 +1246,8 @@ function bp_core_avatar_handle_crop( $args = '' ) {
|
|
1233 |
*
|
1234 |
* @since 2.3.0
|
1235 |
*
|
1236 |
-
* @return
|
1237 |
-
*
|
1238 |
*/
|
1239 |
function bp_avatar_ajax_set() {
|
1240 |
// Bail if not a POST action.
|
@@ -1293,13 +1306,11 @@ function bp_avatar_ajax_set() {
|
|
1293 |
* @since 2.3.4 Add two new parameters to inform about the user id and
|
1294 |
* about the way the avatar was set (eg: 'crop' or 'camera')
|
1295 |
* Move the action at the right place, once the avatar is set
|
1296 |
-
* @since 2.8.0 Added the `$avatar_data` parameter.
|
1297 |
*
|
1298 |
-
* @param string $item_id
|
1299 |
-
* @param string $type
|
1300 |
-
* @param array $avatar_data Array of parameters passed to the avatar handler.
|
1301 |
*/
|
1302 |
-
do_action( 'xprofile_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type']
|
1303 |
|
1304 |
wp_send_json_success( $return );
|
1305 |
}
|
@@ -1344,11 +1355,18 @@ function bp_avatar_ajax_set() {
|
|
1344 |
);
|
1345 |
|
1346 |
if ( 'user' === $avatar_data['object'] ) {
|
1347 |
-
/**
|
1348 |
-
|
1349 |
-
|
1350 |
-
|
1351 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1352 |
}
|
1353 |
|
1354 |
wp_send_json_success( $return );
|
@@ -1361,58 +1379,103 @@ function bp_avatar_ajax_set() {
|
|
1361 |
add_action( 'wp_ajax_bp_avatar_set', 'bp_avatar_ajax_set' );
|
1362 |
|
1363 |
/**
|
1364 |
-
*
|
1365 |
*
|
1366 |
-
*
|
1367 |
*
|
1368 |
-
* @
|
1369 |
-
* @
|
1370 |
-
*
|
1371 |
-
* @param
|
1372 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
1373 |
*/
|
1374 |
-
function
|
1375 |
-
$
|
1376 |
-
|
1377 |
-
//
|
1378 |
-
if (
|
1379 |
-
|
1380 |
-
|
1381 |
-
|
1382 |
-
|
1383 |
-
|
1384 |
-
|
1385 |
-
|
1386 |
-
|
1387 |
-
if ( ! empty( $id_or_email->user_id ) ) {
|
1388 |
-
$user = get_user_by( 'id', (int) $id_or_email->user_id );
|
1389 |
}
|
1390 |
-
|
1391 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1392 |
}
|
1393 |
|
1394 |
-
//
|
1395 |
-
if (
|
1396 |
-
return $
|
1397 |
}
|
1398 |
|
1399 |
-
//
|
1400 |
-
$
|
1401 |
-
|
|
|
1402 |
|
1403 |
-
// Use the '
|
1404 |
-
|
1405 |
-
|
|
|
|
|
1406 |
}
|
1407 |
|
1408 |
-
|
1409 |
-
|
1410 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1411 |
}
|
1412 |
|
1413 |
-
|
|
|
|
|
|
|
|
|
1414 |
}
|
1415 |
-
add_filter( '
|
1416 |
|
1417 |
/**
|
1418 |
* Is the current avatar upload error-free?
|
@@ -1448,8 +1511,6 @@ function bp_core_check_avatar_size( $file ) {
|
|
1448 |
* Get allowed avatar types.
|
1449 |
*
|
1450 |
* @since 2.3.0
|
1451 |
-
*
|
1452 |
-
* @return array
|
1453 |
*/
|
1454 |
function bp_core_get_allowed_avatar_types() {
|
1455 |
$allowed_types = bp_attachments_get_allowed_types( 'avatar' );
|
@@ -1476,8 +1537,6 @@ function bp_core_get_allowed_avatar_types() {
|
|
1476 |
* Get allowed avatar mime types.
|
1477 |
*
|
1478 |
* @since 2.3.0
|
1479 |
-
*
|
1480 |
-
* @return array
|
1481 |
*/
|
1482 |
function bp_core_get_allowed_avatar_mimes() {
|
1483 |
$allowed_types = bp_core_get_allowed_avatar_types();
|
@@ -1884,7 +1943,7 @@ function bp_core_avatar_default_thumb( $type = 'gravatar', $params = array() ) {
|
|
1884 |
* parameter of the WordPress main query to this posted var. To avoid
|
1885 |
* notices, we need to make sure this 'week' query var is reset to 0.
|
1886 |
*
|
1887 |
-
* @since
|
1888 |
*
|
1889 |
* @param WP_Query|null $posts_query The main query object.
|
1890 |
*/
|
@@ -1918,7 +1977,7 @@ add_action( 'bp_parse_query', 'bp_core_avatar_reset_query', 10, 1 );
|
|
1918 |
/**
|
1919 |
* Checks whether Avatar UI should be loaded.
|
1920 |
*
|
1921 |
-
* @since
|
1922 |
*
|
1923 |
* @return bool True if Avatar UI should load, false otherwise.
|
1924 |
*/
|
@@ -1950,7 +2009,7 @@ function bp_avatar_is_front_edit() {
|
|
1950 |
* - Load the avatar UI for a component that is !groups or !user (return true regarding your conditions)
|
1951 |
* - Completely disable the avatar UI introduced in 2.3 (eg: __return_false())
|
1952 |
*
|
1953 |
-
* @since
|
1954 |
*
|
1955 |
* @param bool $retval Whether or not to load the Avatar UI.
|
1956 |
*/
|
@@ -1960,7 +2019,7 @@ function bp_avatar_is_front_edit() {
|
|
1960 |
/**
|
1961 |
* Checks whether the Webcam Avatar UI part should be loaded.
|
1962 |
*
|
1963 |
-
* @since
|
1964 |
*
|
1965 |
* @global $is_safari
|
1966 |
* @global $is_IE
|
@@ -1981,7 +2040,7 @@ function bp_avatar_use_webcam() {
|
|
1981 |
/**
|
1982 |
* Bail when the browser does not support getUserMedia.
|
1983 |
*
|
1984 |
-
* @see
|
1985 |
*/
|
1986 |
if ( $is_safari || $is_IE || ( $is_chrome && ! is_ssl() ) ) {
|
1987 |
return false;
|
@@ -2001,7 +2060,7 @@ function bp_avatar_use_webcam() {
|
|
2001 |
/**
|
2002 |
* Template function to load the Avatar UI javascript templates.
|
2003 |
*
|
2004 |
-
* @since
|
2005 |
*/
|
2006 |
function bp_avatar_get_templates() {
|
2007 |
if ( ! bp_avatar_is_front_edit() ) {
|
@@ -2017,7 +2076,7 @@ function bp_avatar_get_templates() {
|
|
2017 |
* If the "avatar templates" are not including the new template tag, this will
|
2018 |
* help users to get the avatar UI.
|
2019 |
*
|
2020 |
-
* @since
|
2021 |
*/
|
2022 |
function bp_avatar_template_check() {
|
2023 |
if ( ! bp_avatar_is_front_edit() ) {
|
313 |
break;
|
314 |
|
315 |
case 'group' :
|
316 |
+
$item_name = bp_get_group_name( groups_get_group( array( 'group_id' => $params['item_id'] ) ) );
|
317 |
break;
|
318 |
|
319 |
case 'user' :
|
542 |
* @param string $value Subdirectory where the requested avatar should be found.
|
543 |
* @param string $html_css_id ID attribute for avatar.
|
544 |
* @param string $html_width Width attribute for avatar.
|
545 |
+
* @param string $html_height Height attribtue for avatar.
|
546 |
* @param string $avatar_folder_url Avatar URL path.
|
547 |
+
* @param string $avatar_folder_dir Avatar dir path.
|
548 |
*/
|
549 |
return apply_filters( 'bp_core_fetch_avatar', '<img src="' . $avatar_url . '"' . $html_class . $html_css_id . $html_width . $html_height . $html_alt . $html_title . $extra_attr . ' />', $params, $params['item_id'], $params['avatar_dir'], $html_css_id, $html_width, $html_height, $avatar_folder_url, $avatar_folder_dir );
|
550 |
|
648 |
* @since 2.6.0
|
649 |
*
|
650 |
* @param string $default_grav The avatar default.
|
651 |
+
* @param array $params The avatar's data.
|
652 |
*/
|
653 |
$default_grav = apply_filters( 'bp_core_avatar_default', $default_grav, $params );
|
654 |
|
726 |
*
|
727 |
* @since 2.5.1
|
728 |
*
|
729 |
+
* @param bool $value Whether or not to delete the avatar.
|
730 |
* @param array $args {
|
731 |
* Array of function parameters.
|
732 |
*
|
805 |
*
|
806 |
* @since 2.3.0
|
807 |
*
|
808 |
+
* @return string|null A json object containing success data if the avatar was deleted
|
809 |
* error message otherwise.
|
810 |
*/
|
811 |
function bp_avatar_ajax_delete() {
|
948 |
*
|
949 |
* @since 2.3.0
|
950 |
*
|
951 |
+
* @return string|null A json object containing success data if the upload succeeded
|
952 |
+
* error message otherwise.
|
953 |
*/
|
954 |
function bp_avatar_ajax_upload() {
|
955 |
// Bail if not a POST action.
|
959 |
|
960 |
/**
|
961 |
* Sending the json response will be different if
|
962 |
+
* the current Plupload runtime is html4
|
963 |
*/
|
964 |
$is_html4 = false;
|
965 |
if ( ! empty( $_POST['html4' ] ) ) {
|
1005 |
|
1006 |
if ( ! bp_get_current_group_id() && ! empty( $bp_params['item_id'] ) ) {
|
1007 |
$needs_reset = array( 'component' => 'groups', 'key' => 'current_group', 'value' => $bp->groups->current_group );
|
1008 |
+
$bp->groups->current_group = groups_get_group( array(
|
1009 |
+
'group_id' => $bp_params['item_id'],
|
1010 |
+
'populate_extras' => false,
|
1011 |
+
) );
|
1012 |
}
|
1013 |
} else {
|
1014 |
/**
|
1097 |
}
|
1098 |
add_action( 'wp_ajax_bp_avatar_upload', 'bp_avatar_ajax_upload' );
|
1099 |
|
1100 |
+
/**
|
1101 |
+
* Handle avatar webcam capture.
|
1102 |
+
*
|
1103 |
+
* @since 2.3.0
|
1104 |
+
*
|
1105 |
+
* @param string $data Base64 encoded image.
|
1106 |
+
* @param int $item_id Item to associate.
|
1107 |
+
* @return bool True on success, false on failure.
|
1108 |
+
*/
|
1109 |
function bp_avatar_handle_capture( $data = '', $item_id = 0 ) {
|
1110 |
if ( empty( $data ) || empty( $item_id ) ) {
|
1111 |
return false;
|
1171 |
/**
|
1172 |
* Crop an uploaded avatar.
|
1173 |
*
|
1174 |
+
* $args has the following parameters:
|
1175 |
+
* object - What component the avatar is for, e.g. "user"
|
1176 |
+
* avatar_dir The absolute path to the avatar
|
1177 |
+
* item_id - Item ID
|
1178 |
+
* original_file - The absolute path to the original avatar file
|
1179 |
+
* crop_w - Crop width
|
1180 |
+
* crop_h - Crop height
|
1181 |
+
* crop_x - The horizontal starting point of the crop
|
1182 |
+
* crop_y - The vertical starting point of the crop
|
1183 |
+
*
|
1184 |
* @since 1.1.0
|
1185 |
*
|
1186 |
* @param array|string $args {
|
1246 |
*
|
1247 |
* @since 2.3.0
|
1248 |
*
|
1249 |
+
* @return string|null A json object containing success data if the crop/capture succeeded
|
1250 |
+
* error message otherwise.
|
1251 |
*/
|
1252 |
function bp_avatar_ajax_set() {
|
1253 |
// Bail if not a POST action.
|
1306 |
* @since 2.3.4 Add two new parameters to inform about the user id and
|
1307 |
* about the way the avatar was set (eg: 'crop' or 'camera')
|
1308 |
* Move the action at the right place, once the avatar is set
|
|
|
1309 |
*
|
1310 |
+
* @param string $item_id Inform about the user id the avatar was set for
|
1311 |
+
* @param string $type Inform about the way the avatar was set ('camera')
|
|
|
1312 |
*/
|
1313 |
+
do_action( 'xprofile_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'] );
|
1314 |
|
1315 |
wp_send_json_success( $return );
|
1316 |
}
|
1355 |
);
|
1356 |
|
1357 |
if ( 'user' === $avatar_data['object'] ) {
|
1358 |
+
/**
|
1359 |
+
* Fires if the new avatar was successfully cropped.
|
1360 |
+
*
|
1361 |
+
* @since 1.1.0 Used to inform the avatar was successfully cropped
|
1362 |
+
* @since 2.3.4 Add two new parameters to inform about the user id and
|
1363 |
+
* about the way the avatar was set (eg: 'crop' or 'camera')
|
1364 |
+
* Move the action at the right place, once the avatar is set
|
1365 |
+
*
|
1366 |
+
* @param string $item_id Inform about the user id the avatar was set for
|
1367 |
+
* @param string $type Inform about the way the avatar was set ('crop')
|
1368 |
+
*/
|
1369 |
+
do_action( 'xprofile_avatar_uploaded', (int) $avatar_data['item_id'], $avatar_data['type'] );
|
1370 |
}
|
1371 |
|
1372 |
wp_send_json_success( $return );
|
1379 |
add_action( 'wp_ajax_bp_avatar_set', 'bp_avatar_ajax_set' );
|
1380 |
|
1381 |
/**
|
1382 |
+
* Replace default WordPress avatars with BP avatars, if available.
|
1383 |
*
|
1384 |
+
* See 'get_avatar' filter description in wp-includes/pluggable.php.
|
1385 |
*
|
1386 |
+
* @since 1.1.0
|
1387 |
+
* @since 2.4.0 Added $args parameter to coincide with WordPress 4.2.0.
|
1388 |
+
*
|
1389 |
+
* @param string $avatar The avatar path passed to 'get_avatar'.
|
1390 |
+
* @param int|string|object $user A user ID, email address, or comment object.
|
1391 |
+
* @param int $size Size of the avatar image ('thumb' or 'full').
|
1392 |
+
* @param string $default URL to a default image to use if no avatar is available.
|
1393 |
+
* @param string $alt Alternate text to use in image tag. Default: ''.
|
1394 |
+
* @param array $args Arguments passed to get_avatar_data(), after processing.
|
1395 |
+
* @return string BP avatar path, if found; else the original avatar path.
|
1396 |
*/
|
1397 |
+
function bp_core_fetch_avatar_filter( $avatar, $user, $size, $default, $alt = '', $args = array() ) {
|
1398 |
+
global $pagenow;
|
1399 |
+
|
1400 |
+
// Do not filter if inside WordPress options page.
|
1401 |
+
if ( 'options-discussion.php' == $pagenow )
|
1402 |
+
return $avatar;
|
1403 |
+
|
1404 |
+
// If passed an object, assume $user->user_id.
|
1405 |
+
if ( is_object( $user ) ) {
|
1406 |
+
if ( isset( $user->user_id ) ) {
|
1407 |
+
$id = $user->user_id;
|
1408 |
+
} else {
|
1409 |
+
$id = $user->ID;
|
|
|
|
|
1410 |
}
|
1411 |
+
|
1412 |
+
// If passed a number, assume it was a $user_id.
|
1413 |
+
} elseif ( is_numeric( $user ) ) {
|
1414 |
+
$id = $user;
|
1415 |
+
|
1416 |
+
// If passed a string and that string returns a user, get the $id.
|
1417 |
+
} elseif ( is_string( $user ) && ( $user_by_email = get_user_by( 'email', $user ) ) ) {
|
1418 |
+
$id = $user_by_email->ID;
|
1419 |
}
|
1420 |
|
1421 |
+
// If somehow $id hasn't been assigned, return the result of get_avatar.
|
1422 |
+
if ( empty( $id ) ) {
|
1423 |
+
return !empty( $avatar ) ? $avatar : $default;
|
1424 |
}
|
1425 |
|
1426 |
+
// Image alt tag.
|
1427 |
+
if ( empty( $alt ) ) {
|
1428 |
+
$alt = sprintf( __( 'Profile photo of %s', 'buddypress' ), bp_core_get_user_displayname( $id ) );
|
1429 |
+
}
|
1430 |
|
1431 |
+
// Use the 'thumb' type, unless the requested width is bigger than
|
1432 |
+
// BP's thumb width.
|
1433 |
+
$type = 'thumb';
|
1434 |
+
if ( (int) $size > bp_core_avatar_thumb_width() ) {
|
1435 |
+
$type = 'full';
|
1436 |
}
|
1437 |
|
1438 |
+
$avatar_args = array(
|
1439 |
+
'item_id' => $id,
|
1440 |
+
'type' => $type,
|
1441 |
+
'width' => $size,
|
1442 |
+
'height' => $size,
|
1443 |
+
'alt' => $alt,
|
1444 |
+
);
|
1445 |
+
|
1446 |
+
// Support new arguments as of WordPress 4.2.0.
|
1447 |
+
if ( ! empty( $args['width'] ) ) {
|
1448 |
+
$avatar_args['width'] = $args['width'];
|
1449 |
+
}
|
1450 |
+
if ( ! empty( $args['height'] ) ) {
|
1451 |
+
$avatar_args['height'] = $args['height'];
|
1452 |
+
}
|
1453 |
+
if ( ! empty( $args['class'] ) ) {
|
1454 |
+
$avatar_args['class'] = $args['class'];
|
1455 |
+
}
|
1456 |
+
if ( ! empty( $args['class'] ) ) {
|
1457 |
+
$avatar_args['class'] = $args['class'];
|
1458 |
+
}
|
1459 |
+
if ( ! empty( $args['extra_attr'] ) ) {
|
1460 |
+
$avatar_args['extra_attr'] = $args['extra_attr'];
|
1461 |
+
}
|
1462 |
+
if ( ! empty( $args['scheme'] ) ) {
|
1463 |
+
$avatar_args['scheme'] = $args['scheme'];
|
1464 |
+
}
|
1465 |
+
if ( ! empty( $args['force_default'] ) ) {
|
1466 |
+
$avatar_args['force_default'] = $args['force_default'];
|
1467 |
+
}
|
1468 |
+
if ( ! empty( $args['rating'] ) ) {
|
1469 |
+
$avatar_args['rating'] = $args['rating'];
|
1470 |
}
|
1471 |
|
1472 |
+
// Let BuddyPress handle the fetching of the avatar.
|
1473 |
+
$bp_avatar = bp_core_fetch_avatar( $avatar_args );
|
1474 |
+
|
1475 |
+
// If BuddyPress found an avatar, use it. If not, use the result of get_avatar.
|
1476 |
+
return ( !$bp_avatar ) ? $avatar : $bp_avatar;
|
1477 |
}
|
1478 |
+
add_filter( 'get_avatar', 'bp_core_fetch_avatar_filter', 10, 6 );
|
1479 |
|
1480 |
/**
|
1481 |
* Is the current avatar upload error-free?
|
1511 |
* Get allowed avatar types.
|
1512 |
*
|
1513 |
* @since 2.3.0
|
|
|
|
|
1514 |
*/
|
1515 |
function bp_core_get_allowed_avatar_types() {
|
1516 |
$allowed_types = bp_attachments_get_allowed_types( 'avatar' );
|
1537 |
* Get allowed avatar mime types.
|
1538 |
*
|
1539 |
* @since 2.3.0
|
|
|
|
|
1540 |
*/
|
1541 |
function bp_core_get_allowed_avatar_mimes() {
|
1542 |
$allowed_types = bp_core_get_allowed_avatar_types();
|
1943 |
* parameter of the WordPress main query to this posted var. To avoid
|
1944 |
* notices, we need to make sure this 'week' query var is reset to 0.
|
1945 |
*
|
1946 |
+
* @since 2.2.0
|
1947 |
*
|
1948 |
* @param WP_Query|null $posts_query The main query object.
|
1949 |
*/
|
1977 |
/**
|
1978 |
* Checks whether Avatar UI should be loaded.
|
1979 |
*
|
1980 |
+
* @since 2.3.0
|
1981 |
*
|
1982 |
* @return bool True if Avatar UI should load, false otherwise.
|
1983 |
*/
|
2009 |
* - Load the avatar UI for a component that is !groups or !user (return true regarding your conditions)
|
2010 |
* - Completely disable the avatar UI introduced in 2.3 (eg: __return_false())
|
2011 |
*
|
2012 |
+
* @since 2.3.0
|
2013 |
*
|
2014 |
* @param bool $retval Whether or not to load the Avatar UI.
|
2015 |
*/
|
2019 |
/**
|
2020 |
* Checks whether the Webcam Avatar UI part should be loaded.
|
2021 |
*
|
2022 |
+
* @since 2.3.0
|
2023 |
*
|
2024 |
* @global $is_safari
|
2025 |
* @global $is_IE
|
2040 |
/**
|
2041 |
* Bail when the browser does not support getUserMedia.
|
2042 |
*
|
2043 |
+
* @see http://caniuse.com/#feat=stream
|
2044 |
*/
|
2045 |
if ( $is_safari || $is_IE || ( $is_chrome && ! is_ssl() ) ) {
|
2046 |
return false;
|
2060 |
/**
|
2061 |
* Template function to load the Avatar UI javascript templates.
|
2062 |
*
|
2063 |
+
* @since 2.3.0
|
2064 |
*/
|
2065 |
function bp_avatar_get_templates() {
|
2066 |
if ( ! bp_avatar_is_front_edit() ) {
|
2076 |
* If the "avatar templates" are not including the new template tag, this will
|
2077 |
* help users to get the avatar UI.
|
2078 |
*
|
2079 |
+
* @since 2.3.0
|
2080 |
*/
|
2081 |
function bp_avatar_template_check() {
|
2082 |
if ( ! bp_avatar_is_front_edit() ) {
|
@@ -33,8 +33,8 @@ defined( 'ABSPATH' ) || exit;
|
|
33 |
* @type bool|string $default_subnav_slug Optional. The slug of the default subnav item to select when the nav
|
34 |
* item is clicked.
|
35 |
* }
|
36 |
-
* @param string
|
37 |
-
* @return null
|
38 |
*/
|
39 |
function bp_core_new_nav_item( $args, $component = 'members' ) {
|
40 |
if ( ! bp_is_active( $component ) ) {
|
@@ -90,7 +90,7 @@ function bp_core_new_nav_item( $args, $component = 'members' ) {
|
|
90 |
* Add a link to the main BuddyPress navigation.
|
91 |
*
|
92 |
* @since 2.4.0
|
93 |
-
* @since 2.6.0 Introduced the `$component` parameter. Began returning a
|
94 |
*
|
95 |
* @param array|string $args {
|
96 |
* Array describing the new nav item.
|
@@ -107,8 +107,8 @@ function bp_core_new_nav_item( $args, $component = 'members' ) {
|
|
107 |
* @type bool|string $default_subnav_slug Optional. The slug of the default subnav item to select when the nav
|
108 |
* item is clicked.
|
109 |
* }
|
110 |
-
* @param string
|
111 |
-
* @return
|
112 |
*/
|
113 |
function bp_core_create_nav_link( $args = '', $component = 'members' ) {
|
114 |
$bp = buddypress();
|
@@ -152,7 +152,7 @@ function bp_core_create_nav_link( $args = '', $component = 'members' ) {
|
|
152 |
);
|
153 |
|
154 |
// Add the item to the nav.
|
155 |
-
buddypress()->{$component}->nav->add_nav( $nav_item );
|
156 |
|
157 |
/**
|
158 |
* Fires after a link is added to the main BuddyPress nav.
|
@@ -167,7 +167,7 @@ function bp_core_create_nav_link( $args = '', $component = 'members' ) {
|
|
167 |
*/
|
168 |
do_action( 'bp_core_create_nav_link', $r, $args, $defaults, $component );
|
169 |
|
170 |
-
return $
|
171 |
}
|
172 |
|
173 |
/**
|
@@ -190,7 +190,7 @@ function bp_core_create_nav_link( $args = '', $component = 'members' ) {
|
|
190 |
* @type bool|string $default_subnav_slug Optional. The slug of the default subnav item to select when the nav
|
191 |
* item is clicked.
|
192 |
* }
|
193 |
-
* @return
|
194 |
*/
|
195 |
function bp_core_register_nav_screen_function( $args = '' ) {
|
196 |
$bp = buddypress();
|
@@ -214,9 +214,9 @@ function bp_core_register_nav_screen_function( $args = '' ) {
|
|
214 |
}
|
215 |
|
216 |
/**
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
if ( ! empty( $r['site_admin_only'] ) && ! bp_current_user_can( 'bp_moderate' ) ) {
|
221 |
return false;
|
222 |
}
|
@@ -321,7 +321,7 @@ function bp_core_new_nav_default( $args = '' ) {
|
|
321 |
}
|
322 |
}
|
323 |
|
324 |
-
// Edit the screen function for the parent nav
|
325 |
$bp->members->nav->edit_nav( array(
|
326 |
'screen_function' => &$r['screen_function'],
|
327 |
'default_subnav_slug' => $r['subnav_slug'],
|
@@ -394,8 +394,8 @@ function bp_core_new_nav_default( $args = '' ) {
|
|
394 |
* @type bool $show_in_admin_bar Optional. Whether the nav item should be added into the group's "Edit"
|
395 |
* Admin Bar menu for group admins. Default: false.
|
396 |
* }
|
397 |
-
* @param string
|
398 |
-
* @return null
|
399 |
*/
|
400 |
function bp_core_new_subnav_item( $args, $component = null ) {
|
401 |
// Backward compatibility for plugins using `bp_core_new_subnav_item()` without `$component`
|
@@ -405,7 +405,7 @@ function bp_core_new_subnav_item( $args, $component = null ) {
|
|
405 |
* Assume that this item is intended to belong to the current group if:
|
406 |
* a) the 'parent_slug' is the same as the slug of the current group, or
|
407 |
* b) the 'parent_slug' starts with the slug of the current group, and the members nav doesn't have
|
408 |
-
* a primary item with that slug
|
409 |
*/
|
410 |
$group_slug = bp_get_current_group_slug();
|
411 |
if (
|
@@ -446,7 +446,7 @@ function bp_core_new_subnav_item( $args, $component = null ) {
|
|
446 |
* Add a subnav link to the BuddyPress navigation.
|
447 |
*
|
448 |
* @since 2.4.0
|
449 |
-
* @since 2.6.0 Introduced the `$component` parameter. Began returning a
|
450 |
*
|
451 |
* @param array|string $args {
|
452 |
* Array describing the new subnav item.
|
@@ -474,8 +474,8 @@ function bp_core_new_subnav_item( $args, $component = null ) {
|
|
474 |
* the group's "Edit" Admin Bar menu for group admins.
|
475 |
* Default: false.
|
476 |
* }
|
477 |
-
* @param string
|
478 |
-
* @return
|
479 |
*/
|
480 |
function bp_core_create_subnav_link( $args = '', $component = 'members' ) {
|
481 |
$bp = buddypress();
|
@@ -536,9 +536,7 @@ function bp_core_create_subnav_link( $args = '', $component = 'members' ) {
|
|
536 |
'show_in_admin_bar' => (bool) $r['show_in_admin_bar'],
|
537 |
);
|
538 |
|
539 |
-
buddypress()->{$component}->nav->add_nav( $subnav_item );
|
540 |
-
|
541 |
-
return $subnav_item;
|
542 |
}
|
543 |
|
544 |
/**
|
@@ -570,8 +568,8 @@ function bp_core_create_subnav_link( $args = '', $component = 'members' ) {
|
|
570 |
* the group's "Edit" Admin Bar menu for group admins.
|
571 |
* Default: false.
|
572 |
* }
|
573 |
-
* @param string
|
574 |
-
* @return null
|
575 |
*/
|
576 |
function bp_core_register_subnav_screen_function( $args = '', $component = 'members' ) {
|
577 |
$bp = buddypress();
|
@@ -775,8 +773,8 @@ function bp_nav_item_has_subnav( $nav_item = '', $component = 'members' ) {
|
|
775 |
* @since 1.0.0
|
776 |
* @since 2.6.0 Introduced the `$component` parameter.
|
777 |
*
|
778 |
-
* @param string
|
779 |
-
* @param string
|
780 |
* @return bool Returns false on failure, True on success.
|
781 |
*/
|
782 |
function bp_core_remove_nav_item( $slug, $component = null ) {
|
@@ -785,7 +783,7 @@ function bp_core_remove_nav_item( $slug, $component = null ) {
|
|
785 |
// Backward compatibility for removing group nav items using the group slug as `$parent_slug`.
|
786 |
if ( ! $component && bp_is_active( 'groups' ) && isset( $bp->groups->nav ) ) {
|
787 |
if ( $bp->groups->nav->get_primary( array( 'slug' => $slug ) ) ) {
|
788 |
-
$
|
789 |
}
|
790 |
}
|
791 |
|
@@ -800,8 +798,10 @@ function bp_core_remove_nav_item( $slug, $component = null ) {
|
|
800 |
$screen_functions = $bp->{$component}->nav->delete_nav( $slug );
|
801 |
|
802 |
// Reset backcompat nav items so that subsequent references will be correct.
|
803 |
-
|
804 |
-
|
|
|
|
|
805 |
|
806 |
if ( ! is_array( $screen_functions ) ) {
|
807 |
return false;
|
@@ -823,9 +823,9 @@ function bp_core_remove_nav_item( $slug, $component = null ) {
|
|
823 |
* @since 1.0.0
|
824 |
* @since 2.6.0 Introduced the `$component` parameter.
|
825 |
*
|
826 |
-
* @param string
|
827 |
-
* @param string
|
828 |
-
* @param string
|
829 |
* @return bool Returns false on failure, True on success.
|
830 |
*/
|
831 |
function bp_core_remove_subnav_item( $parent_slug, $slug, $component = null ) {
|
@@ -834,7 +834,7 @@ function bp_core_remove_subnav_item( $parent_slug, $slug, $component = null ) {
|
|
834 |
// Backward compatibility for removing group nav items using the group slug as `$parent_slug`.
|
835 |
if ( ! $component && bp_is_active( 'groups' ) && isset( $bp->groups->nav ) ) {
|
836 |
if ( $bp->groups->nav->get_primary( array( 'slug' => $parent_slug ) ) ) {
|
837 |
-
$
|
838 |
}
|
839 |
}
|
840 |
|
@@ -849,8 +849,10 @@ function bp_core_remove_subnav_item( $parent_slug, $slug, $component = null ) {
|
|
849 |
$screen_functions = $bp->{$component}->nav->delete_nav( $slug, $parent_slug );
|
850 |
|
851 |
// Reset backcompat nav items so that subsequent references will be correct.
|
852 |
-
|
853 |
-
|
|
|
|
|
854 |
|
855 |
if ( ! is_array( $screen_functions ) ) {
|
856 |
return false;
|
33 |
* @type bool|string $default_subnav_slug Optional. The slug of the default subnav item to select when the nav
|
34 |
* item is clicked.
|
35 |
* }
|
36 |
+
* @param string $component The component the navigation is attached to. Defaults to 'members'.
|
37 |
+
* @return bool|null Returns false on failure.
|
38 |
*/
|
39 |
function bp_core_new_nav_item( $args, $component = 'members' ) {
|
40 |
if ( ! bp_is_active( $component ) ) {
|
90 |
* Add a link to the main BuddyPress navigation.
|
91 |
*
|
92 |
* @since 2.4.0
|
93 |
+
* @since 2.6.0 Introduced the `$component` parameter. Began returning a BP_Nav_Item object on success.
|
94 |
*
|
95 |
* @param array|string $args {
|
96 |
* Array describing the new nav item.
|
107 |
* @type bool|string $default_subnav_slug Optional. The slug of the default subnav item to select when the nav
|
108 |
* item is clicked.
|
109 |
* }
|
110 |
+
* @param string $component Optional. Component that the nav belongs to.
|
111 |
+
* @return bool|BP_Nav_Item Returns false on failure, new nav item on success.
|
112 |
*/
|
113 |
function bp_core_create_nav_link( $args = '', $component = 'members' ) {
|
114 |
$bp = buddypress();
|
152 |
);
|
153 |
|
154 |
// Add the item to the nav.
|
155 |
+
$retval = buddypress()->{$component}->nav->add_nav( $nav_item );
|
156 |
|
157 |
/**
|
158 |
* Fires after a link is added to the main BuddyPress nav.
|
167 |
*/
|
168 |
do_action( 'bp_core_create_nav_link', $r, $args, $defaults, $component );
|
169 |
|
170 |
+
return $retval;
|
171 |
}
|
172 |
|
173 |
/**
|
190 |
* @type bool|string $default_subnav_slug Optional. The slug of the default subnav item to select when the nav
|
191 |
* item is clicked.
|
192 |
* }
|
193 |
+
* @return bool|null Returns false on failure.
|
194 |
*/
|
195 |
function bp_core_register_nav_screen_function( $args = '' ) {
|
196 |
$bp = buddypress();
|
214 |
}
|
215 |
|
216 |
/**
|
217 |
+
* If this is for site admins only and the user is not one,
|
218 |
+
* don't register this screen function.
|
219 |
+
*/
|
220 |
if ( ! empty( $r['site_admin_only'] ) && ! bp_current_user_can( 'bp_moderate' ) ) {
|
221 |
return false;
|
222 |
}
|
321 |
}
|
322 |
}
|
323 |
|
324 |
+
// Edit the screen function for the parent nav
|
325 |
$bp->members->nav->edit_nav( array(
|
326 |
'screen_function' => &$r['screen_function'],
|
327 |
'default_subnav_slug' => $r['subnav_slug'],
|
394 |
* @type bool $show_in_admin_bar Optional. Whether the nav item should be added into the group's "Edit"
|
395 |
* Admin Bar menu for group admins. Default: false.
|
396 |
* }
|
397 |
+
* @param string $component The component the navigation is attached to. Defaults to 'members'.
|
398 |
+
* @return bool|null Returns false on failure.
|
399 |
*/
|
400 |
function bp_core_new_subnav_item( $args, $component = null ) {
|
401 |
// Backward compatibility for plugins using `bp_core_new_subnav_item()` without `$component`
|
405 |
* Assume that this item is intended to belong to the current group if:
|
406 |
* a) the 'parent_slug' is the same as the slug of the current group, or
|
407 |
* b) the 'parent_slug' starts with the slug of the current group, and the members nav doesn't have
|
408 |
+
* a primary item with that slug
|
409 |
*/
|
410 |
$group_slug = bp_get_current_group_slug();
|
411 |
if (
|
446 |
* Add a subnav link to the BuddyPress navigation.
|
447 |
*
|
448 |
* @since 2.4.0
|
449 |
+
* @since 2.6.0 Introduced the `$component` parameter. Began returning a BP_Nav_Item object on success.
|
450 |
*
|
451 |
* @param array|string $args {
|
452 |
* Array describing the new subnav item.
|
474 |
* the group's "Edit" Admin Bar menu for group admins.
|
475 |
* Default: false.
|
476 |
* }
|
477 |
+
* @param string $component The component the navigation is attached to. Defaults to 'members'.
|
478 |
+
* @return bool|BP_Nav_Item Returns false on failure, new nav item on success.
|
479 |
*/
|
480 |
function bp_core_create_subnav_link( $args = '', $component = 'members' ) {
|
481 |
$bp = buddypress();
|
536 |
'show_in_admin_bar' => (bool) $r['show_in_admin_bar'],
|
537 |
);
|
538 |
|
539 |
+
return buddypress()->{$component}->nav->add_nav( $subnav_item );
|
|
|
|
|
540 |
}
|
541 |
|
542 |
/**
|
568 |
* the group's "Edit" Admin Bar menu for group admins.
|
569 |
* Default: false.
|
570 |
* }
|
571 |
+
* @param string $component The component the navigation is attached to. Defaults to 'members'.
|
572 |
+
* @return bool|null Returns false on failure.
|
573 |
*/
|
574 |
function bp_core_register_subnav_screen_function( $args = '', $component = 'members' ) {
|
575 |
$bp = buddypress();
|
773 |
* @since 1.0.0
|
774 |
* @since 2.6.0 Introduced the `$component` parameter.
|
775 |
*
|
776 |
+
* @param string $slug The slug of the primary navigation item.
|
777 |
+
* @param string $component The component the navigation is attached to. Defaults to 'members'.
|
778 |
* @return bool Returns false on failure, True on success.
|
779 |
*/
|
780 |
function bp_core_remove_nav_item( $slug, $component = null ) {
|
783 |
// Backward compatibility for removing group nav items using the group slug as `$parent_slug`.
|
784 |
if ( ! $component && bp_is_active( 'groups' ) && isset( $bp->groups->nav ) ) {
|
785 |
if ( $bp->groups->nav->get_primary( array( 'slug' => $slug ) ) ) {
|
786 |
+
return bp_core_remove_nav_item( $slug, 'groups' );
|
787 |
}
|
788 |
}
|
789 |
|
798 |
$screen_functions = $bp->{$component}->nav->delete_nav( $slug );
|
799 |
|
800 |
// Reset backcompat nav items so that subsequent references will be correct.
|
801 |
+
if ( buddypress()->do_nav_backcompat ) {
|
802 |
+
$bp->bp_nav->reset();
|
803 |
+
$bp->bp_options_nav->reset();
|
804 |
+
}
|
805 |
|
806 |
if ( ! is_array( $screen_functions ) ) {
|
807 |
return false;
|
823 |
* @since 1.0.0
|
824 |
* @since 2.6.0 Introduced the `$component` parameter.
|
825 |
*
|
826 |
+
* @param string $parent_slug The slug of the primary navigation item.
|
827 |
+
* @param string $slug The slug of the secondary item to be removed.
|
828 |
+
* @param string $component The component the navigation is attached to. Defaults to 'members'.
|
829 |
* @return bool Returns false on failure, True on success.
|
830 |
*/
|
831 |
function bp_core_remove_subnav_item( $parent_slug, $slug, $component = null ) {
|
834 |
// Backward compatibility for removing group nav items using the group slug as `$parent_slug`.
|
835 |
if ( ! $component && bp_is_active( 'groups' ) && isset( $bp->groups->nav ) ) {
|
836 |
if ( $bp->groups->nav->get_primary( array( 'slug' => $parent_slug ) ) ) {
|
837 |
+
return bp_core_remove_subnav_item( $slug, $parent_slug, 'groups' );
|
838 |
}
|
839 |
}
|
840 |
|
849 |
$screen_functions = $bp->{$component}->nav->delete_nav( $slug, $parent_slug );
|
850 |
|
851 |
// Reset backcompat nav items so that subsequent references will be correct.
|
852 |
+
if ( buddypress()->do_nav_backcompat ) {
|
853 |
+
$bp->bp_nav->reset();
|
854 |
+
$bp->bp_options_nav->reset();
|
855 |
+
}
|
856 |
|
857 |
if ( ! is_array( $screen_functions ) ) {
|
858 |
return false;
|
@@ -73,22 +73,19 @@ add_action( 'deleted_user', 'bp_core_clear_member_count_caches
|
|
73 |
*
|
74 |
* @param int $post_id ID of the page that was saved.
|
75 |
*/
|
76 |
-
function bp_core_clear_directory_pages_cache_page_edit( $post_id
|
77 |
-
|
78 |
-
// Bail if BP is not defined here.
|
79 |
-
if ( ! buddypress() ) {
|
80 |
return;
|
81 |
}
|
82 |
|
83 |
-
// Bail if
|
84 |
-
if ( !
|
85 |
return;
|
86 |
}
|
87 |
|
88 |
$page_ids = bp_core_get_directory_page_ids( 'all' );
|
89 |
|
90 |
-
|
91 |
-
if ( ! in_array( $post_id, $page_ids ) ) {
|
92 |
return;
|
93 |
}
|
94 |
|
@@ -118,17 +115,7 @@ add_action( 'update_option', 'bp_core_clear_directory_pages_cache_settings_edit'
|
|
118 |
* @param string $option Option name.
|
119 |
*/
|
120 |
function bp_core_clear_root_options_cache( $option ) {
|
121 |
-
foreach ( array( 'add_option', 'add_site_option', 'update_option', 'update_site_option' ) as $action ) {
|
122 |
-
remove_action( $action, 'bp_core_clear_root_options_cache' );
|
123 |
-
}
|
124 |
-
|
125 |
-
// Surrounding code prevents infinite loops on WP < 4.4.
|
126 |
$keys = array_keys( bp_get_default_options() );
|
127 |
-
|
128 |
-
foreach ( array( 'add_option', 'add_site_option', 'update_option', 'update_site_option' ) as $action ) {
|
129 |
-
add_action( $action, 'bp_core_clear_root_options_cache' );
|
130 |
-
}
|
131 |
-
|
132 |
$keys = array_merge( $keys, array(
|
133 |
'registration',
|
134 |
'avatar_default',
|
@@ -194,7 +181,7 @@ function bp_get_non_cached_ids( $item_ids, $cache_group ) {
|
|
194 |
* @type string $cache_key_prefix Optional. The prefix to use when creating
|
195 |
* cache key names. Default: the value of $meta_table.
|
196 |
* }
|
197 |
-
* @return
|
198 |
*/
|
199 |
function bp_update_meta_cache( $args = array() ) {
|
200 |
global $wpdb;
|
@@ -265,100 +252,3 @@ function bp_update_meta_cache( $args = array() ) {
|
|
265 |
|
266 |
return $cache;
|
267 |
}
|
268 |
-
|
269 |
-
/**
|
270 |
-
* Gets a value that has been cached using an incremented key.
|
271 |
-
*
|
272 |
-
* A utility function for use by query methods like BP_Activity_Activity::get().
|
273 |
-
*
|
274 |
-
* @since 2.7.0
|
275 |
-
* @see bp_core_set_incremented_cache()
|
276 |
-
*
|
277 |
-
* @param string $key Unique key for the query. Usually a SQL string.
|
278 |
-
* @param string $group Cache group. Eg 'bp_activity'.
|
279 |
-
* @return array|bool False if no cached values are found, otherwise an array of IDs.
|
280 |
-
*/
|
281 |
-
function bp_core_get_incremented_cache( $key, $group ) {
|
282 |
-
$cache_key = bp_core_get_incremented_cache_key( $key, $group );
|
283 |
-
return wp_cache_get( $cache_key, $group );
|
284 |
-
}
|
285 |
-
|
286 |
-
/**
|
287 |
-
* Caches a value using an incremented key.
|
288 |
-
*
|
289 |
-
* An "incremented key" is a cache key that is hashed with a unique incrementor,
|
290 |
-
* allowing for bulk invalidation.
|
291 |
-
*
|
292 |
-
* Use this method when caching data that should be invalidated whenever any
|
293 |
-
* object of a given type is created, updated, or deleted. This usually means
|
294 |
-
* data related to object queries, which can only reliably cached until the
|
295 |
-
* underlying set of objects has been modified. See, eg, BP_Activity_Activity::get().
|
296 |
-
*
|
297 |
-
* @since 2.7.0
|
298 |
-
*
|
299 |
-
* @param string $key Unique key for the query. Usually a SQL string.
|
300 |
-
* @param string $group Cache group. Eg 'bp_activity'.
|
301 |
-
* @param array $ids Array of IDs.
|
302 |
-
* @return bool
|
303 |
-
*/
|
304 |
-
function bp_core_set_incremented_cache( $key, $group, $ids ) {
|
305 |
-
$cache_key = bp_core_get_incremented_cache_key( $key, $group );
|
306 |
-
return wp_cache_set( $cache_key, $ids, $group );
|
307 |
-
}
|
308 |
-
|
309 |
-
/**
|
310 |
-
* Gets the key to be used when caching a value using an incremented cache key.
|
311 |
-
*
|
312 |
-
* The $key is hashed with a component-specific incrementor, which is used to
|
313 |
-
* invalidate multiple caches at once.
|
314 |
-
|
315 |
-
* @since 2.7.0
|
316 |
-
*
|
317 |
-
* @param string $key Unique key for the query. Usually a SQL string.
|
318 |
-
* @param string $group Cache group. Eg 'bp_activity'.
|
319 |
-
* @return string
|
320 |
-
*/
|
321 |
-
function bp_core_get_incremented_cache_key( $key, $group ) {
|
322 |
-
$incrementor = bp_core_get_incrementor( $group );
|
323 |
-
$cache_key = md5( $key . $incrementor );
|
324 |
-
return $cache_key;
|
325 |
-
}
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Gets a group-specific cache incrementor.
|
329 |
-
*
|
330 |
-
* The incrementor is paired with query identifiers (like SQL strings) to
|
331 |
-
* create cache keys that can be invalidated en masse.
|
332 |
-
*
|
333 |
-
* If an incrementor does not yet exist for the given `$group`, one will
|
334 |
-
* be created.
|
335 |
-
*
|
336 |
-
* @since 2.7.0
|
337 |
-
*
|
338 |
-
* @param string $group Cache group. Eg 'bp_activity'.
|
339 |
-
* @return string
|
340 |
-
*/
|
341 |
-
function bp_core_get_incrementor( $group ) {
|
342 |
-
$incrementor = wp_cache_get( 'incrementor', $group );
|
343 |
-
if ( ! $incrementor ) {
|
344 |
-
$incrementor = microtime();
|
345 |
-
wp_cache_set( 'incrementor', $incrementor, $group );
|
346 |
-
}
|
347 |
-
|
348 |
-
return $incrementor;
|
349 |
-
}
|
350 |
-
|
351 |
-
/**
|
352 |
-
* Reset a group-specific cache incrementor.
|
353 |
-
*
|
354 |
-
* Call this function when all incrementor-based caches associated with a given
|
355 |
-
* cache group should be invalidated.
|
356 |
-
*
|
357 |
-
* @since 2.7.0
|
358 |
-
*
|
359 |
-
* @param string $group Cache group. Eg 'bp_activity'.
|
360 |
-
* @return bool True on success, false on failure.
|
361 |
-
*/
|
362 |
-
function bp_core_reset_incrementor( $group ) {
|
363 |
-
return wp_cache_delete( 'incrementor', $group );
|
364 |
-
}
|
73 |
*
|
74 |
* @param int $post_id ID of the page that was saved.
|
75 |
*/
|
76 |
+
function bp_core_clear_directory_pages_cache_page_edit( $post_id ) {
|
77 |
+
if ( ! bp_is_root_blog() ) {
|
|
|
|
|
78 |
return;
|
79 |
}
|
80 |
|
81 |
+
// Bail if BP is not defined here.
|
82 |
+
if ( ! buddypress() ) {
|
83 |
return;
|
84 |
}
|
85 |
|
86 |
$page_ids = bp_core_get_directory_page_ids( 'all' );
|
87 |
|
88 |
+
if ( ! in_array( $post_id, (array) $page_ids ) ) {
|
|
|
89 |
return;
|
90 |
}
|
91 |
|
115 |
* @param string $option Option name.
|
116 |
*/
|
117 |
function bp_core_clear_root_options_cache( $option ) {
|
|
|
|
|
|
|
|
|
|
|
118 |
$keys = array_keys( bp_get_default_options() );
|
|
|
|
|
|
|
|
|
|
|
119 |
$keys = array_merge( $keys, array(
|
120 |
'registration',
|
121 |
'avatar_default',
|
181 |
* @type string $cache_key_prefix Optional. The prefix to use when creating
|
182 |
* cache key names. Default: the value of $meta_table.
|
183 |
* }
|
184 |
+
* @return array|bool Metadata cache for the specified objects, or false on failure.
|
185 |
*/
|
186 |
function bp_update_meta_cache( $args = array() ) {
|
187 |
global $wpdb;
|
252 |
|
253 |
return $cache;
|
254 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -20,7 +20,7 @@ defined( 'ABSPATH' ) || exit;
|
|
20 |
*
|
21 |
* @since 2.1.0
|
22 |
*
|
23 |
-
* @return
|
24 |
*/
|
25 |
function bp_get_current_blog_roles() {
|
26 |
global $wp_roles;
|
@@ -56,6 +56,7 @@ function bp_get_current_blog_roles() {
|
|
56 |
* This is called on plugin activation.
|
57 |
*
|
58 |
* @since 1.6.0
|
|
|
59 |
*/
|
60 |
function bp_add_caps() {
|
61 |
global $wp_roles;
|
@@ -88,6 +89,7 @@ function bp_add_caps() {
|
|
88 |
* This is called on plugin deactivation.
|
89 |
*
|
90 |
* @since 1.6.0
|
|
|
91 |
*/
|
92 |
function bp_remove_caps() {
|
93 |
global $wp_roles;
|
@@ -216,6 +218,9 @@ function bp_get_caps_for_role( $role = '' ) {
|
|
216 |
* already have a role or capability on.
|
217 |
*
|
218 |
* @since 1.6.0
|
|
|
|
|
|
|
219 |
*/
|
220 |
function bp_set_current_user_default_role() {
|
221 |
|
@@ -243,105 +248,55 @@ function bp_set_current_user_default_role() {
|
|
243 |
*
|
244 |
* @since 1.6.0
|
245 |
* @since 2.4.0 Second argument modified to accept an array, rather than `$blog_id`.
|
246 |
-
* @since 2.7.0 Deprecated $args['blog_id'] in favor of $args['site_id'].
|
247 |
*
|
248 |
* @param string $capability Capability or role name.
|
249 |
* @param array|int $args {
|
250 |
* Array of extra arguments applicable to the capability check.
|
251 |
-
* @type int $
|
252 |
-
* @type int $blog_id Deprecated. Use $site_id instead.
|
253 |
* @type mixed $a,... Optional. Extra arguments applicable to the capability check.
|
254 |
* }
|
255 |
* @return bool True if the user has the cap for the given parameters.
|
256 |
*/
|
257 |
function bp_current_user_can( $capability, $args = array() ) {
|
|
|
|
|
258 |
// Backward compatibility for older $blog_id parameter.
|
259 |
if ( is_int( $args ) ) {
|
260 |
-
$
|
261 |
$args = array();
|
262 |
-
$args['site_id'] = $site_id;
|
263 |
|
264 |
// New format for second parameter.
|
265 |
} elseif ( is_array( $args ) && isset( $args['blog_id'] ) ) {
|
266 |
// Get the blog ID if set, but don't pass along to `current_user_can_for_blog()`.
|
267 |
-
$
|
268 |
unset( $args['blog_id'] );
|
269 |
}
|
270 |
|
271 |
-
//
|
272 |
-
$args
|
|
|
|
|
273 |
|
274 |
// Use root blog if no ID passed.
|
275 |
-
if ( empty( $
|
276 |
-
$
|
277 |
}
|
278 |
|
279 |
-
|
280 |
-
$
|
281 |
-
|
282 |
-
// Call bp_user_can().
|
283 |
-
$retval = bp_user_can( $current_user_id, $capability, $args );
|
284 |
|
285 |
/**
|
286 |
* Filters whether or not the current user has a given capability.
|
287 |
*
|
288 |
* @since 1.6.0
|
289 |
* @since 2.4.0 Pass `$args` variable.
|
290 |
-
* @since 2.7.0 Change format of $args variable array.
|
291 |
*
|
292 |
* @param bool $retval Whether or not the current user has the capability.
|
293 |
* @param string $capability The capability being checked for.
|
294 |
* @param int $blog_id Blog ID. Defaults to the BP root blog.
|
295 |
-
* @param array $args Array of extra arguments as originally passed.
|
296 |
-
*/
|
297 |
-
return (bool) apply_filters( 'bp_current_user_can', $retval, $capability, $args['site_id'], $args );
|
298 |
-
}
|
299 |
-
|
300 |
-
/**
|
301 |
-
* Check whether the specified user has a given capability on a given site.
|
302 |
-
*
|
303 |
-
* @since 2.7.0
|
304 |
-
*
|
305 |
-
* @param int $user_id
|
306 |
-
* @param string $capability Capability or role name.
|
307 |
-
* @param array|int $args {
|
308 |
-
* Array of extra arguments applicable to the capability check.
|
309 |
-
*
|
310 |
-
* @type int $site_id Optional. Site ID. Defaults to the BP root blog.
|
311 |
-
* @type mixed $a,... Optional. Extra arguments applicable to the capability check.
|
312 |
-
* }
|
313 |
-
* @return bool True if the user has the cap for the given parameters.
|
314 |
-
*/
|
315 |
-
function bp_user_can( $user_id, $capability, $args = array() ) {
|
316 |
-
$site_id = bp_get_root_blog_id();
|
317 |
-
|
318 |
-
// Get the site ID if set, but don't pass along to user_can().
|
319 |
-
if ( isset( $args['site_id'] ) ) {
|
320 |
-
$site_id = (int) $args['site_id'];
|
321 |
-
unset( $args['site_id'] );
|
322 |
-
}
|
323 |
-
|
324 |
-
$switched = is_multisite() ? switch_to_blog( $site_id ) : false;
|
325 |
-
$retval = call_user_func_array( 'user_can', array( $user_id, $capability, $args ) );
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Filters whether or not the specified user has a given capability on a given site.
|
329 |
-
*
|
330 |
-
* @since 2.7.0
|
331 |
-
*
|
332 |
-
* @param bool $retval Whether or not the current user has the capability.
|
333 |
-
* @param int $user_id
|
334 |
-
* @param string $capability The capability being checked for.
|
335 |
-
* @param int $site_id Site ID. Defaults to the BP root blog.
|
336 |
* @param array $args Array of extra arguments passed.
|
337 |
*/
|
338 |
-
|
339 |
-
|
340 |
-
if ( $switched ) {
|
341 |
-
restore_current_blog();
|
342 |
-
}
|
343 |
-
|
344 |
-
return $retval;
|
345 |
}
|
346 |
|
347 |
/**
|
20 |
*
|
21 |
* @since 2.1.0
|
22 |
*
|
23 |
+
* @return array
|
24 |
*/
|
25 |
function bp_get_current_blog_roles() {
|
26 |
global $wp_roles;
|
56 |
* This is called on plugin activation.
|
57 |
*
|
58 |
* @since 1.6.0
|
59 |
+
*
|
60 |
*/
|
61 |
function bp_add_caps() {
|
62 |
global $wp_roles;
|
89 |
* This is called on plugin deactivation.
|
90 |
*
|
91 |
* @since 1.6.0
|
92 |
+
*
|
93 |
*/
|
94 |
function bp_remove_caps() {
|
95 |
global $wp_roles;
|
218 |
* already have a role or capability on.
|
219 |
*
|
220 |
* @since 1.6.0
|
221 |
+
*
|
222 |
+
* @global BuddyPress $bp Global BuddyPress settings object.
|
223 |
+
*
|
224 |
*/
|
225 |
function bp_set_current_user_default_role() {
|
226 |
|
248 |
*
|
249 |
* @since 1.6.0
|
250 |
* @since 2.4.0 Second argument modified to accept an array, rather than `$blog_id`.
|
|
|
251 |
*
|
252 |
* @param string $capability Capability or role name.
|
253 |
* @param array|int $args {
|
254 |
* Array of extra arguments applicable to the capability check.
|
255 |
+
* @type int $blog_id Optional. Blog ID. Defaults to the BP root blog.
|
|
|
256 |
* @type mixed $a,... Optional. Extra arguments applicable to the capability check.
|
257 |
* }
|
258 |
* @return bool True if the user has the cap for the given parameters.
|
259 |
*/
|
260 |
function bp_current_user_can( $capability, $args = array() ) {
|
261 |
+
$blog_id = 0;
|
262 |
+
|
263 |
// Backward compatibility for older $blog_id parameter.
|
264 |
if ( is_int( $args ) ) {
|
265 |
+
$blog_id = $args;
|
266 |
$args = array();
|
|
|
267 |
|
268 |
// New format for second parameter.
|
269 |
} elseif ( is_array( $args ) && isset( $args['blog_id'] ) ) {
|
270 |
// Get the blog ID if set, but don't pass along to `current_user_can_for_blog()`.
|
271 |
+
$blog_id = (int) $args['blog_id'];
|
272 |
unset( $args['blog_id'] );
|
273 |
}
|
274 |
|
275 |
+
// Backward compatibility for older bp_current_user_can() checks
|
276 |
+
if ( empty( $args ) ) {
|
277 |
+
$args = null;
|
278 |
+
}
|
279 |
|
280 |
// Use root blog if no ID passed.
|
281 |
+
if ( empty( $blog_id ) ) {
|
282 |
+
$blog_id = bp_get_root_blog_id();
|
283 |
}
|
284 |
|
285 |
+
$args = array( $blog_id, $capability, $args );
|
286 |
+
$retval = call_user_func_array( 'current_user_can_for_blog', $args );
|
|
|
|
|
|
|
287 |
|
288 |
/**
|
289 |
* Filters whether or not the current user has a given capability.
|
290 |
*
|
291 |
* @since 1.6.0
|
292 |
* @since 2.4.0 Pass `$args` variable.
|
|
|
293 |
*
|
294 |
* @param bool $retval Whether or not the current user has the capability.
|
295 |
* @param string $capability The capability being checked for.
|
296 |
* @param int $blog_id Blog ID. Defaults to the BP root blog.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
* @param array $args Array of extra arguments passed.
|
298 |
*/
|
299 |
+
return (bool) apply_filters( 'bp_current_user_can', $retval, $capability, $blog_id, $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
300 |
}
|
301 |
|
302 |
/**
|
@@ -218,7 +218,7 @@ function bp_core_set_uri_globals() {
|
|
218 |
/**
|
219 |
* Filter the portion of the URI that is the displayed user's slug.
|
220 |
*
|
221 |
-
*
|
222 |
* example.com/members/ADMIN (when root profiles isn't enabled)
|
223 |
*
|
224 |
* ADMIN would be the displayed user's slug.
|
@@ -456,17 +456,6 @@ function bp_core_load_template( $templates ) {
|
|
456 |
* @param array $filtered_templates Array of templates to attempt to load.
|
457 |
*/
|
458 |
$located_template = apply_filters( 'bp_located_template', $template, $filtered_templates );
|
459 |
-
|
460 |
-
/*
|
461 |
-
* If current page is an embed, wipe out bp-default template.
|
462 |
-
*
|
463 |
-
* Wiping out the bp-default template allows WordPress to use their special
|
464 |
-
* embed template, which is what we want.
|
465 |
-
*/
|
466 |
-
if ( function_exists( 'is_embed' ) && is_embed() ) {
|
467 |
-
$located_template = '';
|
468 |
-
}
|
469 |
-
|
470 |
if ( !empty( $located_template ) ) {
|
471 |
// Template was located, lets set this as a valid page and not a 404.
|
472 |
status_header( 200 );
|
@@ -553,18 +542,16 @@ function bp_core_catch_profile_uri() {
|
|
553 |
* @since 2.6.0
|
554 |
*
|
555 |
* @param string $member_slug The current member slug.
|
556 |
-
* @return string $member_slug The current member slug.
|
557 |
*/
|
558 |
function bp_core_members_shortlink_redirector( $member_slug ) {
|
559 |
-
|
560 |
/**
|
561 |
* Shortlink slug to redirect to logged-in user.
|
562 |
*
|
563 |
-
*
|
564 |
*
|
565 |
* @since 2.6.0
|
566 |
*
|
567 |
-
* @
|
568 |
*/
|
569 |
$me_slug = apply_filters( 'bp_core_members_shortlink_slug', 'me' );
|
570 |
|
@@ -637,9 +624,9 @@ function bp_core_no_access( $args = '' ) {
|
|
637 |
$redirect_url .= $_SERVER['REQUEST_URI'];
|
638 |
|
639 |
$defaults = array(
|
640 |
-
'mode' => 2, // 1 = $root, 2 = wp-login.php
|
641 |
-
'redirect' => $redirect_url, // the URL you get redirected to when a user successfully logs in
|
642 |
-
'root' => bp_get_root_domain(),
|
643 |
'message' => __( 'You must log in to access the page you requested.', 'buddypress' )
|
644 |
);
|
645 |
|
@@ -656,7 +643,7 @@ function bp_core_no_access( $args = '' ) {
|
|
656 |
extract( $r, EXTR_SKIP );
|
657 |
|
658 |
/*
|
659 |
-
* @ignore Ignore these filters and use 'bp_core_no_access' above
|
660 |
*/
|
661 |
$mode = apply_filters( 'bp_no_access_mode', $mode, $root, $redirect, $message );
|
662 |
$redirect = apply_filters( 'bp_no_access_redirect', $redirect, $root, $message, $mode );
|
@@ -666,21 +653,18 @@ function bp_core_no_access( $args = '' ) {
|
|
666 |
|
667 |
switch ( $mode ) {
|
668 |
|
669 |
-
// Option to redirect to wp-login.php
|
670 |
// Error message is displayed with bp_core_no_access_wp_login_error().
|
671 |
case 2 :
|
672 |
if ( !empty( $redirect ) ) {
|
673 |
-
bp_core_redirect( add_query_arg( array(
|
674 |
-
'bp-auth' => 1,
|
675 |
-
'action' => 'bpnoaccess'
|
676 |
-
), wp_login_url( $redirect ) ) );
|
677 |
} else {
|
678 |
bp_core_redirect( $root );
|
679 |
}
|
680 |
|
681 |
break;
|
682 |
|
683 |
-
// Redirect to root with "redirect_to" parameter
|
684 |
// Error message is displayed with bp_core_add_message().
|
685 |
case 1 :
|
686 |
default :
|
@@ -701,47 +685,16 @@ function bp_core_no_access( $args = '' ) {
|
|
701 |
}
|
702 |
|
703 |
/**
|
704 |
-
*
|
705 |
-
*
|
706 |
-
* If a link is not publicly available, we can send members from external
|
707 |
-
* locations, like following links in an email, through the login screen.
|
708 |
-
*
|
709 |
-
* If a user clicks on this link and is already logged in, we should attempt
|
710 |
-
* to redirect the user to the authorized content instead of forcing the user
|
711 |
-
* to re-authenticate.
|
712 |
*
|
713 |
-
*
|
714 |
-
*/
|
715 |
-
function bp_login_redirector() {
|
716 |
-
// Redirect links must include the `redirect_to` and `bp-auth` parameters.
|
717 |
-
if ( empty( $_GET['redirect_to'] ) || empty( $_GET['bp-auth'] ) ) {
|
718 |
-
return;
|
719 |
-
}
|
720 |
-
|
721 |
-
/*
|
722 |
-
* If the user is already logged in,
|
723 |
-
* skip the login form and redirect them to the content.
|
724 |
-
*/
|
725 |
-
if ( bp_loggedin_user_id() ) {
|
726 |
-
wp_safe_redirect( esc_url_raw( $_GET['redirect_to'] ) );
|
727 |
-
exit;
|
728 |
-
}
|
729 |
-
}
|
730 |
-
add_action( 'login_init', 'bp_login_redirector', 1 );
|
731 |
-
|
732 |
-
/**
|
733 |
-
* Add a custom BuddyPress no access error message to wp-login.php.
|
734 |
*
|
735 |
* @since 1.5.0
|
736 |
-
* @since 2.7.0 Hook moved to 'wp_login_errors' made available since WP 3.6.0.
|
737 |
*
|
738 |
-
* @
|
739 |
-
* @return WP_Error
|
740 |
*/
|
741 |
-
function bp_core_no_access_wp_login_error(
|
742 |
-
|
743 |
-
return $errors;
|
744 |
-
}
|
745 |
|
746 |
/**
|
747 |
* Filters the error message for wp-login.php when needing to log in before accessing.
|
@@ -751,27 +704,12 @@ function bp_core_no_access_wp_login_error( $errors ) {
|
|
751 |
* @param string $value Error message to display.
|
752 |
* @param string $value URL to redirect user to after successful login.
|
753 |
*/
|
754 |
-
$
|
755 |
|
756 |
-
|
757 |
-
|
758 |
-
return $errors;
|
759 |
}
|
760 |
-
|
761 |
-
|
762 |
-
/**
|
763 |
-
* Add our custom error code to WP login's shake error codes.
|
764 |
-
*
|
765 |
-
* @since 2.7.0
|
766 |
-
*
|
767 |
-
* @param array $codes Array of WP error codes.
|
768 |
-
* @return array
|
769 |
-
*/
|
770 |
-
function bp_core_login_filter_shake_codes( $codes ) {
|
771 |
-
$codes[] = 'bp_no_access';
|
772 |
-
return $codes;
|
773 |
-
}
|
774 |
-
add_filter( 'shake_error_codes', 'bp_core_login_filter_shake_codes' );
|
775 |
|
776 |
/**
|
777 |
* Canonicalize BuddyPress URLs.
|
@@ -884,14 +822,11 @@ function bp_get_canonical_url( $args = array() ) {
|
|
884 |
if ( 'page' == get_option( 'show_on_front' ) && $page_on_front = (int) get_option( 'page_on_front' ) ) {
|
885 |
$front_page_component = array_search( $page_on_front, bp_core_get_directory_page_ids() );
|
886 |
|
887 |
-
|
888 |
-
|
889 |
-
|
890 |
-
|
891 |
-
|
892 |
-
* type directory.
|
893 |
-
*/
|
894 |
-
if ( false !== $front_page_component && bp_is_current_component( $front_page_component ) && ! bp_current_action() && ! bp_get_current_member_type() ) {
|
895 |
$bp->canonical_stack['canonical_url'] = trailingslashit( bp_get_root_domain() );
|
896 |
|
897 |
// Except when the front page is set to the registration page
|
@@ -993,6 +928,7 @@ function bp_get_requested_url() {
|
|
993 |
* notice in future versions of BuddyPress.
|
994 |
*
|
995 |
* @since 1.6.0
|
|
|
996 |
*/
|
997 |
function _bp_maybe_remove_redirect_canonical() {
|
998 |
if ( ! bp_is_blog_page() )
|
@@ -1028,7 +964,7 @@ add_action( 'bp_init', '_bp_maybe_remove_redirect_canonical' );
|
|
1028 |
* @link https://buddypress.trac.wordpress.org/ticket/4415
|
1029 |
*/
|
1030 |
function _bp_rehook_maybe_redirect_404() {
|
1031 |
-
if ( defined( 'NOBLOGREDIRECT' )
|
1032 |
remove_action( 'template_redirect', 'maybe_redirect_404' );
|
1033 |
add_action( 'template_redirect', 'maybe_redirect_404', 100 );
|
1034 |
}
|
@@ -1050,36 +986,3 @@ function _bp_maybe_remove_rel_canonical() {
|
|
1050 |
}
|
1051 |
}
|
1052 |
add_action( 'wp_head', '_bp_maybe_remove_rel_canonical', 8 );
|
1053 |
-
|
1054 |
-
/**
|
1055 |
-
* Stop WordPress performing a DB query for its main loop.
|
1056 |
-
*
|
1057 |
-
* As of WordPress 4.6, it is possible to bypass the main WP_Query entirely.
|
1058 |
-
* This saves us one unnecessary database query! :)
|
1059 |
-
*
|
1060 |
-
* @since 2.7.0
|
1061 |
-
*
|
1062 |
-
* @param null $retval Current return value for filter.
|
1063 |
-
* @param WP_Query $query Current WordPress query object.
|
1064 |
-
* @return null|array
|
1065 |
-
*/
|
1066 |
-
function bp_core_filter_wp_query( $retval, $query ) {
|
1067 |
-
if ( ! $query->is_main_query() ) {
|
1068 |
-
return $retval;
|
1069 |
-
}
|
1070 |
-
|
1071 |
-
/*
|
1072 |
-
* If not on a BP single page, bail.
|
1073 |
-
* Too early to use bp_is_single_item(), so use BP conditionals.
|
1074 |
-
*/
|
1075 |
-
if ( false === ( bp_is_group() || bp_is_user() || bp_is_single_activity() ) ) {
|
1076 |
-
return $retval;
|
1077 |
-
}
|
1078 |
-
|
1079 |
-
// Set default properties as recommended in the 'posts_pre_query' DocBlock.
|
1080 |
-
$query->found_posts = 0;
|
1081 |
-
$query->max_num_pages = 0;
|
1082 |
-
|
1083 |
-
// Return something other than a null value to bypass WP_Query.
|
1084 |
-
return array();
|
1085 |
-
}
|
218 |
/**
|
219 |
* Filter the portion of the URI that is the displayed user's slug.
|
220 |
*
|
221 |
+
* eg. example.com/ADMIN (when root profiles is enabled)
|
222 |
* example.com/members/ADMIN (when root profiles isn't enabled)
|
223 |
*
|
224 |
* ADMIN would be the displayed user's slug.
|
456 |
* @param array $filtered_templates Array of templates to attempt to load.
|
457 |
*/
|
458 |
$located_template = apply_filters( 'bp_located_template', $template, $filtered_templates );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
459 |
if ( !empty( $located_template ) ) {
|
460 |
// Template was located, lets set this as a valid page and not a 404.
|
461 |
status_header( 200 );
|
542 |
* @since 2.6.0
|
543 |
*
|
544 |
* @param string $member_slug The current member slug.
|
|
|
545 |
*/
|
546 |
function bp_core_members_shortlink_redirector( $member_slug ) {
|
|
|
547 |
/**
|
548 |
* Shortlink slug to redirect to logged-in user.
|
549 |
*
|
550 |
+
* x.com/members/me/* will redirect to x.com/members/{LOGGED_IN_USER_SLUG}/*
|
551 |
*
|
552 |
* @since 2.6.0
|
553 |
*
|
554 |
+
* @var string $slug Defaults to 'me'.
|
555 |
*/
|
556 |
$me_slug = apply_filters( 'bp_core_members_shortlink_slug', 'me' );
|
557 |
|
624 |
$redirect_url .= $_SERVER['REQUEST_URI'];
|
625 |
|
626 |
$defaults = array(
|
627 |
+
'mode' => 2, // 1 = $root, 2 = wp-login.php
|
628 |
+
'redirect' => $redirect_url, // the URL you get redirected to when a user successfully logs in
|
629 |
+
'root' => bp_get_root_domain(), // the landing page you get redirected to when a user doesn't have access
|
630 |
'message' => __( 'You must log in to access the page you requested.', 'buddypress' )
|
631 |
);
|
632 |
|
643 |
extract( $r, EXTR_SKIP );
|
644 |
|
645 |
/*
|
646 |
+
* @ignore Ignore these filters and use 'bp_core_no_access' above
|
647 |
*/
|
648 |
$mode = apply_filters( 'bp_no_access_mode', $mode, $root, $redirect, $message );
|
649 |
$redirect = apply_filters( 'bp_no_access_redirect', $redirect, $root, $message, $mode );
|
653 |
|
654 |
switch ( $mode ) {
|
655 |
|
656 |
+
// Option to redirect to wp-login.php
|
657 |
// Error message is displayed with bp_core_no_access_wp_login_error().
|
658 |
case 2 :
|
659 |
if ( !empty( $redirect ) ) {
|
660 |
+
bp_core_redirect( add_query_arg( array( 'action' => 'bpnoaccess' ), wp_login_url( $redirect ) ) );
|
|
|
|
|
|
|
661 |
} else {
|
662 |
bp_core_redirect( $root );
|
663 |
}
|
664 |
|
665 |
break;
|
666 |
|
667 |
+
// Redirect to root with "redirect_to" parameter
|
668 |
// Error message is displayed with bp_core_add_message().
|
669 |
case 1 :
|
670 |
default :
|
685 |
}
|
686 |
|
687 |
/**
|
688 |
+
* Add an error message to wp-login.php.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
689 |
*
|
690 |
+
* Hooks into the "bpnoaccess" action defined in bp_core_no_access().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
*
|
692 |
* @since 1.5.0
|
|
|
693 |
*
|
694 |
+
* @global string $error Error message to pass to wp-login.php.
|
|
|
695 |
*/
|
696 |
+
function bp_core_no_access_wp_login_error() {
|
697 |
+
global $error;
|
|
|
|
|
698 |
|
699 |
/**
|
700 |
* Filters the error message for wp-login.php when needing to log in before accessing.
|
704 |
* @param string $value Error message to display.
|
705 |
* @param string $value URL to redirect user to after successful login.
|
706 |
*/
|
707 |
+
$error = apply_filters( 'bp_wp_login_error', __( 'You must log in to access the page you requested.', 'buddypress' ), $_REQUEST['redirect_to'] );
|
708 |
|
709 |
+
// Shake shake shake!.
|
710 |
+
add_action( 'login_head', 'wp_shake_js', 12 );
|
|
|
711 |
}
|
712 |
+
add_action( 'login_form_bpnoaccess', 'bp_core_no_access_wp_login_error' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
713 |
|
714 |
/**
|
715 |
* Canonicalize BuddyPress URLs.
|
822 |
if ( 'page' == get_option( 'show_on_front' ) && $page_on_front = (int) get_option( 'page_on_front' ) ) {
|
823 |
$front_page_component = array_search( $page_on_front, bp_core_get_directory_page_ids() );
|
824 |
|
825 |
+
// If requesting the front page component directory, canonical
|
826 |
+
// URL is the front page. We detect whether we're detecting a
|
827 |
+
// component *directory* by checking that bp_current_action()
|
828 |
+
// is empty - ie, this not a single item or a feed.
|
829 |
+
if ( false !== $front_page_component && bp_is_current_component( $front_page_component ) && ! bp_current_action() ) {
|
|
|
|
|
|
|
830 |
$bp->canonical_stack['canonical_url'] = trailingslashit( bp_get_root_domain() );
|
831 |
|
832 |
// Except when the front page is set to the registration page
|
928 |
* notice in future versions of BuddyPress.
|
929 |
*
|
930 |
* @since 1.6.0
|
931 |
+
*
|
932 |
*/
|
933 |
function _bp_maybe_remove_redirect_canonical() {
|
934 |
if ( ! bp_is_blog_page() )
|
964 |
* @link https://buddypress.trac.wordpress.org/ticket/4415
|
965 |
*/
|
966 |
function _bp_rehook_maybe_redirect_404() {
|
967 |
+
if ( defined( 'NOBLOGREDIRECT' ) ) {
|
968 |
remove_action( 'template_redirect', 'maybe_redirect_404' );
|
969 |
add_action( 'template_redirect', 'maybe_redirect_404', 100 );
|
970 |
}
|
986 |
}
|
987 |
}
|
988 |
add_action( 'wp_head', '_bp_maybe_remove_rel_canonical', 8 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -0,0 +1,40 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Core component classes.
|
4 |
+
*
|
5 |
+
* @package BuddyPress
|
6 |
+
* @subpackage Core
|
7 |
+
* @since 1.0.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
// Exit if accessed directly.
|
11 |
+
defined( 'ABSPATH' ) || exit;
|
12 |
+
|
13 |
+
require dirname( __FILE__ ) . '/classes/class-bp-user-query.php';
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-user.php';
|
15 |
+
require dirname( __FILE__ ) . '/classes/class-bp-date-query.php';
|
16 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-notification.php';
|
17 |
+
require dirname( __FILE__ ) . '/classes/class-bp-button.php';
|
18 |
+
require dirname( __FILE__ ) . '/classes/class-bp-embed.php';
|
19 |
+
require dirname( __FILE__ ) . '/classes/class-bp-walker-nav-menu.php';
|
20 |
+
require dirname( __FILE__ ) . '/classes/class-bp-walker-nav-menu-checklist.php';
|
21 |
+
require dirname( __FILE__ ) . '/classes/class-bp-suggestions.php';
|
22 |
+
require dirname( __FILE__ ) . '/classes/class-bp-members-suggestions.php';
|
23 |
+
require dirname( __FILE__ ) . '/classes/class-bp-recursive-query.php';
|
24 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-sort-by-key-callback.php';
|
25 |
+
require dirname( __FILE__ ) . '/classes/class-bp-media-extractor.php';
|
26 |
+
require dirname( __FILE__ ) . '/classes/class-bp-attachment.php';
|
27 |
+
require dirname( __FILE__ ) . '/classes/class-bp-attachment-avatar.php';
|
28 |
+
require dirname( __FILE__ ) . '/classes/class-bp-attachment-cover-image.php';
|
29 |
+
require dirname( __FILE__ ) . '/classes/class-bp-email-recipient.php';
|
30 |
+
require dirname( __FILE__ ) . '/classes/class-bp-email.php';
|
31 |
+
require dirname( __FILE__ ) . '/classes/class-bp-email-delivery.php';
|
32 |
+
require dirname( __FILE__ ) . '/classes/class-bp-phpmailer.php';
|
33 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-nav.php';
|
34 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-nav-item.php';
|
35 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-oembed-extension.php';
|
36 |
+
|
37 |
+
if ( buddypress()->do_nav_backcompat ) {
|
38 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-bp-nav-backcompat.php';
|
39 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-bp-options-nav-backcompat.php';
|
40 |
+
}
|
@@ -19,79 +19,35 @@ function bp_core_register_common_scripts() {
|
|
19 |
$min = bp_core_get_minified_asset_suffix();
|
20 |
$url = buddypress()->plugin_url . 'bp-core/js/';
|
21 |
|
22 |
-
|
23 |
-
*
|
24 |
-
*
|
25 |
-
* Try to map current WordPress locale to a moment.js locale file for loading.
|
26 |
*
|
27 |
-
*
|
28 |
-
* (this file doesn't exist).
|
29 |
-
*/
|
30 |
-
$locale = sanitize_file_name( strtolower( get_locale() ) );
|
31 |
-
$locale = str_replace( '_', '-', $locale );
|
32 |
-
if ( file_exists( buddypress()->core->path . "bp-core/js/vendor/moment-js/locale/{$locale}{$min}.js" ) ) {
|
33 |
-
$moment_locale_url = $url . "vendor/moment-js/locale/{$locale}{$min}.js";
|
34 |
-
|
35 |
-
/*
|
36 |
-
* Try to find the short-form locale.
|
37 |
*
|
38 |
-
*
|
39 |
-
* (this exists).
|
40 |
*/
|
41 |
-
|
42 |
-
$locale = substr( $locale, 0, strpos( $locale, '-' ) );
|
43 |
-
if ( file_exists( buddypress()->core->path . "bp-core/js/vendor/moment-js/locale/{$locale}{$min}.js" ) ) {
|
44 |
-
$moment_locale_url = $url . "vendor/moment-js/locale/{$locale}{$min}.js";
|
45 |
-
}
|
46 |
-
}
|
47 |
|
48 |
-
// Set up default scripts to register.
|
49 |
-
$scripts = array(
|
50 |
// Legacy.
|
51 |
-
'bp-confirm' => array( 'file' => "{$url}confirm{$min}.js",
|
52 |
'bp-widget-members' => array( 'file' => "{$url}widget-members{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => false ),
|
53 |
-
'bp-jquery-query' => array( 'file' => "{$url}jquery-query{$min}.js",
|
54 |
-
'bp-jquery-cookie' => array( 'file' => "{$url}
|
55 |
-
'bp-jquery-scroll-to' => array( 'file' => "{$url}
|
56 |
|
57 |
-
//
|
58 |
-
'jquery-caret' => array( 'file' => "{$url}
|
59 |
-
'jquery-atwho' => array( 'file' => "{$url}
|
60 |
|
61 |
-
//
|
62 |
'bp-plupload' => array( 'file' => "{$url}bp-plupload{$min}.js", 'dependencies' => array( 'plupload', 'jquery', 'json2', 'wp-backbone' ), 'footer' => true ),
|
63 |
'bp-avatar' => array( 'file' => "{$url}avatar{$min}.js", 'dependencies' => array( 'jcrop' ), 'footer' => true ),
|
64 |
'bp-webcam' => array( 'file' => "{$url}webcam{$min}.js", 'dependencies' => array( 'bp-avatar' ), 'footer' => true ),
|
65 |
|
66 |
-
//
|
67 |
'bp-cover-image' => array( 'file' => "{$url}cover-image{$min}.js", 'dependencies' => array(), 'footer' => true ),
|
68 |
|
69 |
-
|
70 |
-
'bp-moment' => array( 'file' => "{$url}vendor/moment-js/moment{$min}.js", 'dependencies' => array(), 'footer' => true ),
|
71 |
-
'bp-livestamp' => array( 'file' => "{$url}vendor/livestamp{$min}.js", 'dependencies' => array( 'jquery', 'bp-moment' ), 'footer' => true ),
|
72 |
-
);
|
73 |
-
|
74 |
-
// Version 2.7 - Add Moment.js locale to our $scripts array if we found one.
|
75 |
-
if ( isset( $moment_locale_url ) ) {
|
76 |
-
$scripts['bp-moment-locale'] = array( 'file' => esc_url( $moment_locale_url ), 'dependencies' => array( 'bp-moment' ), 'footer' => true );
|
77 |
-
}
|
78 |
-
|
79 |
-
/**
|
80 |
-
* Filters the BuddyPress Core javascript files to register.
|
81 |
-
*
|
82 |
-
* Default handles include 'bp-confirm', 'bp-widget-members',
|
83 |
-
* 'bp-jquery-query', 'bp-jquery-cookie', and 'bp-jquery-scroll-to'.
|
84 |
-
*
|
85 |
-
* @since 2.1.0 'jquery-caret', 'jquery-atwho' added.
|
86 |
-
* @since 2.3.0 'bp-plupload', 'bp-avatar', 'bp-webcam' added.
|
87 |
-
* @since 2.4.0 'bp-cover-image' added.
|
88 |
-
* @since 2.7.0 'bp-moment', 'bp-livestamp' added.
|
89 |
-
* 'bp-moment-locale' is added conditionally if a moment.js locale file is found.
|
90 |
-
*
|
91 |
-
* @param array $value Array of javascript file information to register.
|
92 |
-
*/
|
93 |
-
$scripts = apply_filters( 'bp_core_register_common_scripts', $scripts );
|
94 |
-
|
95 |
|
96 |
$version = bp_get_version();
|
97 |
foreach ( $scripts as $id => $script ) {
|
@@ -150,7 +106,7 @@ add_action( 'bp_enqueue_scripts', 'bp_core_register_common_styles', 1 );
|
|
150 |
add_action( 'bp_admin_enqueue_scripts', 'bp_core_register_common_styles', 1 );
|
151 |
|
152 |
/**
|
153 |
-
* Load the JS for "Are you sure?" confirm links.
|
154 |
*
|
155 |
* @since 1.1.0
|
156 |
*/
|
@@ -172,7 +128,7 @@ add_action( 'bp_admin_enqueue_scripts', 'bp_core_confirmation_js' );
|
|
172 |
/**
|
173 |
* Enqueues the css and js required by the Avatar UI.
|
174 |
*
|
175 |
-
* @since
|
176 |
*/
|
177 |
function bp_core_avatar_scripts() {
|
178 |
if ( ! bp_avatar_is_front_edit() ) {
|
@@ -192,7 +148,7 @@ add_action( 'bp_enqueue_scripts', 'bp_core_avatar_scripts' );
|
|
192 |
/**
|
193 |
* Enqueues the css and js required by the Cover Image UI.
|
194 |
*
|
195 |
-
* @since
|
196 |
*/
|
197 |
function bp_core_cover_image_scripts() {
|
198 |
if ( ! bp_attachments_cover_image_is_edit() ) {
|
@@ -405,13 +361,13 @@ function bp_core_get_js_dependencies() {
|
|
405 |
}
|
406 |
|
407 |
/**
|
408 |
-
* Add inline css to display the component's single item cover image
|
409 |
*
|
410 |
* @since 2.4.0
|
411 |
*
|
412 |
-
* @param
|
413 |
-
* @return
|
414 |
-
*
|
415 |
*/
|
416 |
function bp_add_cover_image_inline_css( $return = false ) {
|
417 |
$bp = buddypress();
|
@@ -504,84 +460,3 @@ function bp_add_cover_image_inline_css( $return = false ) {
|
|
504 |
}
|
505 |
}
|
506 |
add_action( 'bp_enqueue_scripts', 'bp_add_cover_image_inline_css', 11 );
|
507 |
-
|
508 |
-
/**
|
509 |
-
* Enqueues livestamp.js on BuddyPress pages.
|
510 |
-
*
|
511 |
-
* @since 2.7.0
|
512 |
-
*/
|
513 |
-
function bp_core_add_livestamp() {
|
514 |
-
if ( ! is_buddypress() ) {
|
515 |
-
return;
|
516 |
-
}
|
517 |
-
|
518 |
-
bp_core_enqueue_livestamp();
|
519 |
-
}
|
520 |
-
add_action( 'bp_enqueue_scripts', 'bp_core_add_livestamp' );
|
521 |
-
|
522 |
-
/**
|
523 |
-
* Enqueue and localize livestamp.js script.
|
524 |
-
*
|
525 |
-
* @since 2.7.0
|
526 |
-
*/
|
527 |
-
function bp_core_enqueue_livestamp() {
|
528 |
-
// If bp-livestamp isn't enqueued, do it now.
|
529 |
-
if ( wp_script_is( 'bp-livestamp' ) ) {
|
530 |
-
return;
|
531 |
-
}
|
532 |
-
|
533 |
-
/*
|
534 |
-
* Only enqueue Moment.js locale if we registered it in
|
535 |
-
* bp_core_register_common_scripts().
|
536 |
-
*/
|
537 |
-
if ( wp_script_is( 'bp-moment-locale', 'registered' ) ) {
|
538 |
-
wp_enqueue_script( 'bp-moment-locale' );
|
539 |
-
|
540 |
-
if ( function_exists( 'wp_add_inline_script' ) ) {
|
541 |
-
wp_add_inline_script ( 'bp-livestamp', bp_core_moment_js_config() );
|
542 |
-
} else {
|
543 |
-
add_action( 'wp_footer', '_bp_core_moment_js_config_footer', 20 );
|
544 |
-
}
|
545 |
-
}
|
546 |
-
|
547 |
-
wp_enqueue_script( 'bp-livestamp' );
|
548 |
-
}
|
549 |
-
|
550 |
-
/**
|
551 |
-
* Return moment.js config.
|
552 |
-
*
|
553 |
-
* @since 2.7.0
|
554 |
-
*
|
555 |
-
* @return string
|
556 |
-
*/
|
557 |
-
function bp_core_moment_js_config() {
|
558 |
-
// Grab the locale from the enqueued JS.
|
559 |
-
$moment_locale = wp_scripts()->query( 'bp-moment-locale' );
|
560 |
-
$moment_locale = substr( $moment_locale->src, strpos( $moment_locale->src, '/moment-js/locale/' ) + 18 );
|
561 |
-
$moment_locale = str_replace( '.js', '', $moment_locale );
|
562 |
-
|
563 |
-
$inline_js = <<<EOD
|
564 |
-
jQuery(function() {
|
565 |
-
moment.locale( '{$moment_locale}' );
|
566 |
-
});
|
567 |
-
EOD;
|
568 |
-
|
569 |
-
return $inline_js;
|
570 |
-
}
|
571 |
-
|
572 |
-
/**
|
573 |
-
* Print moment.js config in page footer.
|
574 |
-
*
|
575 |
-
* Will be removed once we set our minimum version of WP 4.5.
|
576 |
-
*
|
577 |
-
* @since 2.7.0
|
578 |
-
*
|
579 |
-
* @access private
|
580 |
-
*/
|
581 |
-
function _bp_core_moment_js_config_footer() {
|
582 |
-
if ( ! wp_script_is( 'bp-moment-locale' ) ) {
|
583 |
-
return;
|
584 |
-
}
|
585 |
-
|
586 |
-
printf( '<script>%s</script>', bp_core_moment_js_config() );
|
587 |
-
}
|
19 |
$min = bp_core_get_minified_asset_suffix();
|
20 |
$url = buddypress()->plugin_url . 'bp-core/js/';
|
21 |
|
22 |
+
/**
|
23 |
+
* Filters the BuddyPress Core javascript files to register.
|
|
|
|
|
24 |
*
|
25 |
+
* @since 2.1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
*
|
27 |
+
* @param array $value Array of javascript file information to register.
|
|
|
28 |
*/
|
29 |
+
$scripts = apply_filters( 'bp_core_register_common_scripts', array(
|
|
|
|
|
|
|
|
|
|
|
30 |
|
|
|
|
|
31 |
// Legacy.
|
32 |
+
'bp-confirm' => array( 'file' => "{$url}confirm{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => false ),
|
33 |
'bp-widget-members' => array( 'file' => "{$url}widget-members{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => false ),
|
34 |
+
'bp-jquery-query' => array( 'file' => "{$url}jquery-query{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => false ),
|
35 |
+
'bp-jquery-cookie' => array( 'file' => "{$url}jquery-cookie{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => false ),
|
36 |
+
'bp-jquery-scroll-to' => array( 'file' => "{$url}jquery-scroll-to{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => false ),
|
37 |
|
38 |
+
// 2.1
|
39 |
+
'jquery-caret' => array( 'file' => "{$url}jquery.caret{$min}.js", 'dependencies' => array( 'jquery' ), 'footer' => true ),
|
40 |
+
'jquery-atwho' => array( 'file' => "{$url}jquery.atwho{$min}.js", 'dependencies' => array( 'jquery', 'jquery-caret' ), 'footer' => true ),
|
41 |
|
42 |
+
// 2.3
|
43 |
'bp-plupload' => array( 'file' => "{$url}bp-plupload{$min}.js", 'dependencies' => array( 'plupload', 'jquery', 'json2', 'wp-backbone' ), 'footer' => true ),
|
44 |
'bp-avatar' => array( 'file' => "{$url}avatar{$min}.js", 'dependencies' => array( 'jcrop' ), 'footer' => true ),
|
45 |
'bp-webcam' => array( 'file' => "{$url}webcam{$min}.js", 'dependencies' => array( 'bp-avatar' ), 'footer' => true ),
|
46 |
|
47 |
+
// 2.4
|
48 |
'bp-cover-image' => array( 'file' => "{$url}cover-image{$min}.js", 'dependencies' => array(), 'footer' => true ),
|
49 |
|
50 |
+
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
52 |
$version = bp_get_version();
|
53 |
foreach ( $scripts as $id => $script ) {
|
106 |
add_action( 'bp_admin_enqueue_scripts', 'bp_core_register_common_styles', 1 );
|
107 |
|
108 |
/**
|
109 |
+
* Load the JS for "Are you sure?" .confirm links.
|
110 |
*
|
111 |
* @since 1.1.0
|
112 |
*/
|
128 |
/**
|
129 |
* Enqueues the css and js required by the Avatar UI.
|
130 |
*
|
131 |
+
* @since 2.3.0
|
132 |
*/
|
133 |
function bp_core_avatar_scripts() {
|
134 |
if ( ! bp_avatar_is_front_edit() ) {
|
148 |
/**
|
149 |
* Enqueues the css and js required by the Cover Image UI.
|
150 |
*
|
151 |
+
* @since 2.4.0
|
152 |
*/
|
153 |
function bp_core_cover_image_scripts() {
|
154 |
if ( ! bp_attachments_cover_image_is_edit() ) {
|
361 |
}
|
362 |
|
363 |
/**
|
364 |
+
* Add inline css to display the component's single item cover image
|
365 |
*
|
366 |
* @since 2.4.0
|
367 |
*
|
368 |
+
* @param bool $return True to get the inline css.
|
369 |
+
* @return string|array the inline css or an associative array containing
|
370 |
+
* the css rules and the style handle
|
371 |
*/
|
372 |
function bp_add_cover_image_inline_css( $return = false ) {
|
373 |
$bp = buddypress();
|
460 |
}
|
461 |
}
|
462 |
add_action( 'bp_enqueue_scripts', 'bp_add_cover_image_inline_css', 11 );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -2,9 +2,10 @@
|
|
2 |
/**
|
3 |
* BuddyPress Customizer implementation for email.
|
4 |
*
|
|
|
|
|
5 |
* @package BuddyPress
|
6 |
* @subpackage Core
|
7 |
-
* @since 2.5.0
|
8 |
*/
|
9 |
|
10 |
// Exit if accessed directly.
|
@@ -43,6 +44,13 @@ function bp_email_init_customizer( WP_Customize_Manager $wp_customize ) {
|
|
43 |
$wp_customize->add_setting( $setting_id, $args );
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
/**
|
47 |
* Fires to let plugins register extra Customizer controls for emails.
|
48 |
*
|
@@ -57,6 +65,7 @@ function bp_email_init_customizer( WP_Customize_Manager $wp_customize ) {
|
|
57 |
$wp_customize->add_control( new $args['class']( $wp_customize, $control_id, $args ) );
|
58 |
}
|
59 |
|
|
|
60 |
/*
|
61 |
* Hook actions/filters for further configuration.
|
62 |
*/
|
@@ -81,7 +90,7 @@ function bp_email_init_customizer( WP_Customize_Manager $wp_customize ) {
|
|
81 |
true
|
82 |
);
|
83 |
|
84 |
-
// Include the preview loading style
|
85 |
add_action( 'wp_footer', array( $wp_customize, 'customize_preview_loading_style' ) );
|
86 |
}
|
87 |
}
|
@@ -103,7 +112,7 @@ function bp_is_email_customizer() {
|
|
103 |
*
|
104 |
* @since 2.5.0
|
105 |
*
|
106 |
-
* @param
|
107 |
* @param WP_Customize_Section $section {@see WP_Customize_Section} instance.
|
108 |
* @return bool
|
109 |
*/
|
2 |
/**
|
3 |
* BuddyPress Customizer implementation for email.
|
4 |
*
|
5 |
+
* @since 2.5.0
|
6 |
+
*
|
7 |
* @package BuddyPress
|
8 |
* @subpackage Core
|
|
|
9 |
*/
|
10 |
|
11 |
// Exit if accessed directly.
|
44 |
$wp_customize->add_setting( $setting_id, $args );
|
45 |
}
|
46 |
|
47 |
+
/**
|
48 |
+
* BP_Customizer_Control_Range class.
|
49 |
+
*/
|
50 |
+
if ( ! buddypress()->do_autoload ) {
|
51 |
+
require_once dirname( __FILE__ ) . '/classes/class-bp-customizer-control-range.php';
|
52 |
+
}
|
53 |
+
|
54 |
/**
|
55 |
* Fires to let plugins register extra Customizer controls for emails.
|
56 |
*
|
65 |
$wp_customize->add_control( new $args['class']( $wp_customize, $control_id, $args ) );
|
66 |
}
|
67 |
|
68 |
+
|
69 |
/*
|
70 |
* Hook actions/filters for further configuration.
|
71 |
*/
|
90 |
true
|
91 |
);
|
92 |
|
93 |
+
// Include the preview loading style
|
94 |
add_action( 'wp_footer', array( $wp_customize, 'customize_preview_loading_style' ) );
|
95 |
}
|
96 |
}
|
112 |
*
|
113 |
* @since 2.5.0
|
114 |
*
|
115 |
+
* @param $active Whether the Customizer section is active.
|
116 |
* @param WP_Customize_Section $section {@see WP_Customize_Section} instance.
|
117 |
* @return bool
|
118 |
*/
|
@@ -13,6 +13,8 @@
|
|
13 |
* The following functions are wrappers for hooks, allowing them to be
|
14 |
* manually called and/or piggy-backed on top of other hooks if needed.
|
15 |
*
|
|
|
|
|
16 |
* @package BuddyPress
|
17 |
* @subpackage Core
|
18 |
* @since 1.7.0
|
@@ -138,7 +140,7 @@ function bp_setup_admin_bar() {
|
|
138 |
*
|
139 |
* @since 1.5.0
|
140 |
*/
|
141 |
-
do_action( 'bp_setup_admin_bar'
|
142 |
}
|
143 |
}
|
144 |
|
@@ -205,12 +207,28 @@ function bp_setup_cache_groups() {
|
|
205 |
/**
|
206 |
* Set up the currently logged-in user.
|
207 |
*
|
|
|
|
|
|
|
|
|
208 |
* @since 1.7.0
|
209 |
*
|
210 |
* @link https://buddypress.trac.wordpress.org/ticket/6046
|
211 |
* @link https://core.trac.wordpress.org/ticket/24169
|
|
|
212 |
*/
|
213 |
function bp_setup_current_user() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
|
215 |
/**
|
216 |
* Fires to set up the current user setup process.
|
@@ -388,6 +406,7 @@ function bp_head() {
|
|
388 |
* who do not have the proper permission to access certain content.
|
389 |
*
|
390 |
* @since 1.6.0
|
|
|
391 |
*/
|
392 |
function bp_template_redirect() {
|
393 |
|
@@ -407,6 +426,7 @@ function bp_template_redirect() {
|
|
407 |
* The main action used registering theme directories.
|
408 |
*
|
409 |
* @since 1.5.0
|
|
|
410 |
*/
|
411 |
function bp_register_theme_directory() {
|
412 |
|
@@ -426,6 +446,7 @@ function bp_register_theme_directory() {
|
|
426 |
* The main action used registering theme packages.
|
427 |
*
|
428 |
* @since 1.7.0
|
|
|
429 |
*/
|
430 |
function bp_register_theme_packages() {
|
431 |
|
@@ -441,6 +462,7 @@ function bp_register_theme_packages() {
|
|
441 |
* Fire the 'bp_enqueue_scripts' action, where BP enqueues its CSS and JS.
|
442 |
*
|
443 |
* @since 1.6.0
|
|
|
444 |
*/
|
445 |
function bp_enqueue_scripts() {
|
446 |
|
@@ -474,6 +496,7 @@ function bp_enqueue_embed_scripts() {
|
|
474 |
* Fire the 'bp_add_rewrite_tag' action, where BP adds its custom rewrite tags.
|
475 |
*
|
476 |
* @since 1.8.0
|
|
|
477 |
*/
|
478 |
function bp_add_rewrite_tags() {
|
479 |
|
@@ -489,6 +512,7 @@ function bp_add_rewrite_tags() {
|
|
489 |
* Fire the 'bp_add_rewrite_rules' action, where BP adds its custom rewrite rules.
|
490 |
*
|
491 |
* @since 1.9.0
|
|
|
492 |
*/
|
493 |
function bp_add_rewrite_rules() {
|
494 |
|
@@ -504,6 +528,7 @@ function bp_add_rewrite_rules() {
|
|
504 |
* Fire the 'bp_add_permastructs' action, where BP adds its BP-specific permalink structure.
|
505 |
*
|
506 |
* @since 1.9.0
|
|
|
507 |
*/
|
508 |
function bp_add_permastructs() {
|
509 |
|
@@ -522,6 +547,7 @@ function bp_add_permastructs() {
|
|
522 |
* BuddyPress-specific functionality.
|
523 |
*
|
524 |
* @since 1.6.0
|
|
|
525 |
*/
|
526 |
function bp_setup_theme() {
|
527 |
|
@@ -544,6 +570,7 @@ function bp_setup_theme() {
|
|
544 |
* before our theme compatibility layer kicks in.
|
545 |
*
|
546 |
* @since 1.6.0
|
|
|
547 |
*/
|
548 |
function bp_after_setup_theme() {
|
549 |
|
@@ -672,6 +699,7 @@ function bp_allowed_themes( $themes ) {
|
|
672 |
* The main action used for handling theme-side POST requests.
|
673 |
*
|
674 |
* @since 1.9.0
|
|
|
675 |
*/
|
676 |
function bp_post_request() {
|
677 |
|
@@ -714,6 +742,7 @@ function bp_post_request() {
|
|
714 |
* The main action used for handling theme-side GET requests.
|
715 |
*
|
716 |
* @since 1.9.0
|
|
|
717 |
*/
|
718 |
function bp_get_request() {
|
719 |
|
13 |
* The following functions are wrappers for hooks, allowing them to be
|
14 |
* manually called and/or piggy-backed on top of other hooks if needed.
|
15 |
*
|
16 |
+
* @todo use anonymous functions when PHP minimum requirement allows (5.3)
|
17 |
+
*
|
18 |
* @package BuddyPress
|
19 |
* @subpackage Core
|
20 |
* @since 1.7.0
|
140 |
*
|
141 |
* @since 1.5.0
|
142 |
*/
|
143 |
+
do_action( 'bp_setup_admin_bar' );
|
144 |
}
|
145 |
}
|
146 |
|
207 |
/**
|
208 |
* Set up the currently logged-in user.
|
209 |
*
|
210 |
+
* We white-list the WordPress Customizer which purposely loads the user early.
|
211 |
+
* If the current user is being setup before the "init" action has fired,
|
212 |
+
* strange (and difficult to debug) role/capability issues will occur.
|
213 |
+
*
|
214 |
* @since 1.7.0
|
215 |
*
|
216 |
* @link https://buddypress.trac.wordpress.org/ticket/6046
|
217 |
* @link https://core.trac.wordpress.org/ticket/24169
|
218 |
+
*
|
219 |
*/
|
220 |
function bp_setup_current_user() {
|
221 |
+
$skip_warning = (
|
222 |
+
( isset( $_REQUEST['wp_customize'] ) && 'on' === $_REQUEST['wp_customize'] ) ||
|
223 |
+
( is_admin() && 'customize.php' === basename( $_SERVER['PHP_SELF'] ) )
|
224 |
+
);
|
225 |
+
|
226 |
+
if ( ! $skip_warning && ! did_action( 'after_setup_theme' ) ) {
|
227 |
+
$e = new Exception;
|
228 |
+
$trace = $e->getTraceAsString();
|
229 |
+
|
230 |
+
_doing_it_wrong( __FUNCTION__, __( 'The current user is being initialized without using $wp->init().', 'buddypress' ) . "\n===\nTrace:\n" . substr( $trace, strpos( $trace, '#6' ) ) . "\n===\n", '1.7' );
|
231 |
+
}
|
232 |
|
233 |
/**
|
234 |
* Fires to set up the current user setup process.
|
406 |
* who do not have the proper permission to access certain content.
|
407 |
*
|
408 |
* @since 1.6.0
|
409 |
+
*
|
410 |
*/
|
411 |
function bp_template_redirect() {
|
412 |
|
426 |
* The main action used registering theme directories.
|
427 |
*
|
428 |
* @since 1.5.0
|
429 |
+
*
|
430 |
*/
|
431 |
function bp_register_theme_directory() {
|
432 |
|
446 |
* The main action used registering theme packages.
|
447 |
*
|
448 |
* @since 1.7.0
|
449 |
+
*
|
450 |
*/
|
451 |
function bp_register_theme_packages() {
|
452 |
|
462 |
* Fire the 'bp_enqueue_scripts' action, where BP enqueues its CSS and JS.
|
463 |
*
|
464 |
* @since 1.6.0
|
465 |
+
*
|
466 |
*/
|
467 |
function bp_enqueue_scripts() {
|
468 |
|
496 |
* Fire the 'bp_add_rewrite_tag' action, where BP adds its custom rewrite tags.
|
497 |
*
|
498 |
* @since 1.8.0
|
499 |
+
*
|
500 |
*/
|
501 |
function bp_add_rewrite_tags() {
|
502 |
|
512 |
* Fire the 'bp_add_rewrite_rules' action, where BP adds its custom rewrite rules.
|
513 |
*
|
514 |
* @since 1.9.0
|
515 |
+
*
|
516 |
*/
|
517 |
function bp_add_rewrite_rules() {
|
518 |
|
528 |
* Fire the 'bp_add_permastructs' action, where BP adds its BP-specific permalink structure.
|
529 |
*
|
530 |
* @since 1.9.0
|
531 |
+
*
|
532 |
*/
|
533 |
function bp_add_permastructs() {
|
534 |
|
547 |
* BuddyPress-specific functionality.
|
548 |
*
|
549 |
* @since 1.6.0
|
550 |
+
*
|
551 |
*/
|
552 |
function bp_setup_theme() {
|
553 |
|
570 |
* before our theme compatibility layer kicks in.
|
571 |
*
|
572 |
* @since 1.6.0
|
573 |
+
*
|
574 |
*/
|
575 |
function bp_after_setup_theme() {
|
576 |
|
699 |
* The main action used for handling theme-side POST requests.
|
700 |
*
|
701 |
* @since 1.9.0
|
702 |
+
*
|
703 |
*/
|
704 |
function bp_post_request() {
|
705 |
|
742 |
* The main action used for handling theme-side GET requests.
|
743 |
*
|
744 |
* @since 1.9.0
|
745 |
+
*
|
746 |
*/
|
747 |
function bp_get_request() {
|
748 |
|
@@ -75,9 +75,6 @@ add_filter( 'bp_get_template_stack', 'bp_add_template_stack_locations' );
|
|
75 |
// Turn comments off for BuddyPress pages.
|
76 |
add_filter( 'comments_open', 'bp_comments_open', 10, 2 );
|
77 |
|
78 |
-
// Prevent DB query for WP's main loop.
|
79 |
-
add_filter( 'posts_pre_query', 'bp_core_filter_wp_query', 10, 2 );
|
80 |
-
|
81 |
/**
|
82 |
* Prevent specific pages (eg 'Activate') from showing on page listings.
|
83 |
*
|
@@ -178,7 +175,7 @@ function bp_core_menu_highlight_parent_page( $retval, $page ) {
|
|
178 |
foreach ( (array) buddypress()->pages as $component => $bp_page ) {
|
179 |
// Handles the majority of components.
|
180 |
if ( bp_is_current_component( $component ) ) {
|
181 |
-
|
182 |
}
|
183 |
|
184 |
// Stop if not on a user page.
|
@@ -311,7 +308,7 @@ function bp_core_login_redirect( $redirect_to, $redirect_to_raw, $user ) {
|
|
311 |
*
|
312 |
* @since 1.6.0
|
313 |
*
|
314 |
-
|
315 |
* @param string $redirect_to Sanitized URL to be redirected to.
|
316 |
* @param string $redirect_to_raw Unsanitized URL to be redirected to.
|
317 |
* @param WP_User $user The WP_User object corresponding to a
|
@@ -352,7 +349,6 @@ add_filter( 'bp_login_redirect', 'bp_core_login_redirect', 10, 3 );
|
|
352 |
* @param string $retval Current email content.
|
353 |
* @param string $prop Email property to check against.
|
354 |
* @param string $transform Either 'raw' or 'replace-tokens'.
|
355 |
-
* @return string|null $retval Modified email content.
|
356 |
*/
|
357 |
function bp_email_plaintext_entity_decode( $retval, $prop, $transform ) {
|
358 |
switch ( $prop ) {
|
@@ -467,7 +463,7 @@ function bp_core_activation_signup_blog_notification( $domain, $path, $title, $u
|
|
467 |
'domain' => $domain,
|
468 |
'key_blog' => $key,
|
469 |
'path' => $path,
|
470 |
-
'user-site.url' => esc_url(
|
471 |
'title' => $title,
|
472 |
'user.email' => $user_email,
|
473 |
),
|
@@ -490,7 +486,7 @@ add_filter( 'wpmu_signup_blog_notification', 'bp_core_activation_signup_blog_not
|
|
490 |
* @param string $user_email The user's email address.
|
491 |
* @param string $key The activation key created in wpmu_signup_user().
|
492 |
* @param array $meta By default, an empty array.
|
493 |
-
* @return
|
494 |
*/
|
495 |
function bp_core_activation_signup_user_notification( $user, $user_email, $key, $meta ) {
|
496 |
if ( is_admin() ) {
|
@@ -549,9 +545,9 @@ add_filter( 'wpmu_signup_user_notification', 'bp_core_activation_signup_user_not
|
|
549 |
* @see wp_title()
|
550 |
* @global object $bp BuddyPress global settings.
|
551 |
*
|
552 |
-
* @param
|
553 |
-
* @param
|
554 |
-
* @param
|
555 |
* @return string New page title.
|
556 |
*/
|
557 |
function bp_modify_page_title( $title = '', $sep = '»', $seplocation = 'right' ) {
|
@@ -574,7 +570,7 @@ function bp_modify_page_title( $title = '', $sep = '»', $seplocation = 'ri
|
|
574 |
* @link https://buddypress.trac.wordpress.org/ticket/6107
|
575 |
* @see wp_title()
|
576 |
*/
|
577 |
-
$title_tag_compatibility = (bool) ( ! empty( $_wp_theme_features['title-tag'] ) ||
|
578 |
|
579 |
// Append the site title to title parts if theme supports title tag.
|
580 |
if ( true === $title_tag_compatibility ) {
|
@@ -599,12 +595,12 @@ function bp_modify_page_title( $title = '', $sep = '»', $seplocation = 'ri
|
|
599 |
/**
|
600 |
* Filters the older 'wp_title' page title for BuddyPress pages.
|
601 |
*
|
602 |
-
* @since
|
603 |
*
|
604 |
-
* @param
|
605 |
-
* @param
|
606 |
-
* @param
|
607 |
-
* @param
|
608 |
*/
|
609 |
return apply_filters( 'bp_modify_page_title', $new_title, $title, $sep, $seplocation );
|
610 |
}
|
@@ -652,10 +648,10 @@ function bp_modify_document_title_parts( $title = array() ) {
|
|
652 |
/**
|
653 |
* Filters BuddyPress title parts that will be used into the document title.
|
654 |
*
|
655 |
-
* @since
|
656 |
*
|
657 |
-
* @param
|
658 |
-
* @param
|
659 |
*/
|
660 |
return apply_filters( 'bp_modify_document_title_parts', $bp_title, $title );
|
661 |
}
|
@@ -753,13 +749,13 @@ add_filter( 'wp_setup_nav_menu_item', 'bp_setup_nav_menu_item', 10, 1 );
|
|
753 |
/**
|
754 |
* Populate BuddyPress user nav items for the customizer.
|
755 |
*
|
756 |
-
* @since
|
757 |
*
|
758 |
-
* @param
|
759 |
-
* @param
|
760 |
-
* @param
|
761 |
-
* @param
|
762 |
-
* @return array
|
763 |
*/
|
764 |
function bp_customizer_nav_menus_get_items( $items = array(), $type = '', $object = '', $page = 0 ) {
|
765 |
if ( 'bp_loggedin_nav' === $object ) {
|
@@ -790,9 +786,9 @@ add_filter( 'customize_nav_menu_available_items', 'bp_customizer_nav_menus_get_i
|
|
790 |
/**
|
791 |
* Set BuddyPress item navs for the customizer.
|
792 |
*
|
793 |
-
* @since
|
794 |
*
|
795 |
-
* @param
|
796 |
* @return array $item_types An associative array structured for the customizer.
|
797 |
*/
|
798 |
function bp_customizer_nav_menus_set_item_types( $item_types = array() ) {
|
@@ -856,10 +852,10 @@ function bp_filter_metaid_column_name( $q ) {
|
|
856 |
*
|
857 |
* @since 2.1.0
|
858 |
*
|
859 |
-
* @param
|
860 |
-
* @param
|
861 |
-
* @return
|
862 |
-
*
|
863 |
*/
|
864 |
function bp_core_filter_edit_post_link( $edit_link = '', $post_id = 0 ) {
|
865 |
if ( 0 === $post_id ) {
|
@@ -903,8 +899,7 @@ add_filter( 'bp_activity_maybe_load_mentions_scripts', 'bp_maybe_load_mentions_s
|
|
903 |
* @access private
|
904 |
*
|
905 |
* @global array $wp_registered_widgets Current registered widgets.
|
906 |
-
*
|
907 |
-
* @param array $params Current sidebar params.
|
908 |
* @return array
|
909 |
*/
|
910 |
function _bp_core_inject_bp_widget_css_class( $params ) {
|
@@ -956,9 +951,9 @@ add_filter( 'dynamic_sidebar_params', '_bp_core_inject_bp_widget_css_class' );
|
|
956 |
*
|
957 |
* @since 2.5.0
|
958 |
*
|
959 |
-
* @param string $value
|
960 |
-
* @param string $property_name
|
961 |
-
* @param string $transform
|
962 |
* @return string Updated value.
|
963 |
*/
|
964 |
function bp_email_add_link_color_to_template( $value, $property_name, $transform ) {
|
@@ -995,32 +990,16 @@ add_filter( 'bp_email_get_property', 'bp_email_add_link_color_to_template', 6, 3
|
|
995 |
*
|
996 |
* @since 2.5.0
|
997 |
*
|
998 |
-
* @param array
|
999 |
-
* @param string
|
1000 |
-
* @param string
|
1001 |
-
* @param BP_Email $email
|
1002 |
* @return array
|
1003 |
*/
|
1004 |
function bp_email_set_default_headers( $headers, $property, $transform, $email ) {
|
1005 |
$headers['X-BuddyPress'] = bp_get_version();
|
1006 |
$headers['X-BuddyPress-Type'] = $email->get( 'type' );
|
1007 |
|
1008 |
-
$tokens = $email->get_tokens();
|
1009 |
-
|
1010 |
-
// Add 'List-Unsubscribe' header if applicable.
|
1011 |
-
if ( ! empty( $tokens['unsubscribe'] ) && $tokens['unsubscribe'] !== site_url( 'wp-login.php' ) ) {
|
1012 |
-
$user = get_user_by( 'email', $tokens['recipient.email'] );
|
1013 |
-
|
1014 |
-
$link = bp_email_get_unsubscribe_link( array(
|
1015 |
-
'user_id' => $user->ID,
|
1016 |
-
'notification_type' => $email->get( 'type' ),
|
1017 |
-
) );
|
1018 |
-
|
1019 |
-
if ( ! empty( $link ) ) {
|
1020 |
-
$headers['List-Unsubscribe'] = sprintf( '<%s>', esc_url_raw( $link ) );
|
1021 |
-
}
|
1022 |
-
}
|
1023 |
-
|
1024 |
return $headers;
|
1025 |
}
|
1026 |
add_filter( 'bp_email_get_headers', 'bp_email_set_default_headers', 6, 4 );
|
@@ -1030,10 +1009,10 @@ add_filter( 'bp_email_get_headers', 'bp_email_set_default_headers', 6, 4 );
|
|
1030 |
*
|
1031 |
* @since 2.5.0
|
1032 |
*
|
1033 |
-
* @param array
|
1034 |
-
* @param string
|
1035 |
-
* @param string
|
1036 |
-
* @param BP_Email $email
|
1037 |
* @return array
|
1038 |
*/
|
1039 |
function bp_email_set_default_tokens( $tokens, $property_name, $transform, $email ) {
|
@@ -1049,6 +1028,7 @@ function bp_email_set_default_tokens( $tokens, $property_name, $transform, $emai
|
|
1049 |
$tokens['recipient.email'] = '';
|
1050 |
$tokens['recipient.name'] = '';
|
1051 |
$tokens['recipient.username'] = '';
|
|
|
1052 |
|
1053 |
|
1054 |
// Who is the email going to?
|
@@ -1065,22 +1045,16 @@ function bp_email_set_default_tokens( $tokens, $property_name, $transform, $emai
|
|
1065 |
}
|
1066 |
|
1067 |
if ( $user_obj ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
1068 |
$tokens['recipient.username'] = $user_obj->user_login;
|
1069 |
-
if ( bp_is_active( 'settings' ) && empty( $tokens['unsubscribe'] ) ) {
|
1070 |
-
$tokens['unsubscribe'] = esc_url( sprintf(
|
1071 |
-
'%s%s/notifications/',
|
1072 |
-
bp_core_get_user_domain( $user_obj->ID ),
|
1073 |
-
bp_get_settings_slug()
|
1074 |
-
) );
|
1075 |
-
}
|
1076 |
}
|
1077 |
}
|
1078 |
|
1079 |
-
// Set default unsubscribe link if not passed.
|
1080 |
-
if ( empty( $tokens['unsubscribe'] ) ) {
|
1081 |
-
$tokens['unsubscribe'] = site_url( 'wp-login.php' );
|
1082 |
-
}
|
1083 |
-
|
1084 |
// Email preheader.
|
1085 |
$post = $email->get_post_object();
|
1086 |
if ( $post ) {
|
75 |
// Turn comments off for BuddyPress pages.
|
76 |
add_filter( 'comments_open', 'bp_comments_open', 10, 2 );
|
77 |
|
|
|
|
|
|
|
78 |
/**
|
79 |
* Prevent specific pages (eg 'Activate') from showing on page listings.
|
80 |
*
|
175 |
foreach ( (array) buddypress()->pages as $component => $bp_page ) {
|
176 |
// Handles the majority of components.
|
177 |
if ( bp_is_current_component( $component ) ) {
|
178 |
+
$page_id = (int) $bp_page->id;
|
179 |
}
|
180 |
|
181 |
// Stop if not on a user page.
|
308 |
*
|
309 |
* @since 1.6.0
|
310 |
*
|
311 |
+
* @param bool $value Whether or not to redirect.
|
312 |
* @param string $redirect_to Sanitized URL to be redirected to.
|
313 |
* @param string $redirect_to_raw Unsanitized URL to be redirected to.
|
314 |
* @param WP_User $user The WP_User object corresponding to a
|
349 |
* @param string $retval Current email content.
|
350 |
* @param string $prop Email property to check against.
|
351 |
* @param string $transform Either 'raw' or 'replace-tokens'.
|
|
|
352 |
*/
|
353 |
function bp_email_plaintext_entity_decode( $retval, $prop, $transform ) {
|
354 |
switch ( $prop ) {
|
463 |
'domain' => $domain,
|
464 |
'key_blog' => $key,
|
465 |
'path' => $path,
|
466 |
+
'user-site.url' => esc_url( "http://{$domain}{$path}" ),
|
467 |
'title' => $title,
|
468 |
'user.email' => $user_email,
|
469 |
),
|
486 |
* @param string $user_email The user's email address.
|
487 |
* @param string $key The activation key created in wpmu_signup_user().
|
488 |
* @param array $meta By default, an empty array.
|
489 |
+
* @return bool|string Returns false to stop original WPMU function from continuing.
|
490 |
*/
|
491 |
function bp_core_activation_signup_user_notification( $user, $user_email, $key, $meta ) {
|
492 |
if ( is_admin() ) {
|
545 |
* @see wp_title()
|
546 |
* @global object $bp BuddyPress global settings.
|
547 |
*
|
548 |
+
* @param string $title Original page title.
|
549 |
+
* @param string $sep How to separate the various items within the page title.
|
550 |
+
* @param string $seplocation Direction to display title.
|
551 |
* @return string New page title.
|
552 |
*/
|
553 |
function bp_modify_page_title( $title = '', $sep = '»', $seplocation = 'right' ) {
|
570 |
* @link https://buddypress.trac.wordpress.org/ticket/6107
|
571 |
* @see wp_title()
|
572 |
*/
|
573 |
+
$title_tag_compatibility = (bool) ( ! empty( $_wp_theme_features['title-tag'] ) || strstr( $title, $blogname ) );
|
574 |
|
575 |
// Append the site title to title parts if theme supports title tag.
|
576 |
if ( true === $title_tag_compatibility ) {
|
595 |
/**
|
596 |
* Filters the older 'wp_title' page title for BuddyPress pages.
|
597 |
*
|
598 |
+
* @since 1.5.0
|
599 |
*
|
600 |
+
* @param string $new_title The BuddyPress page title.
|
601 |
+
* @param string $title The original WordPress page title.
|
602 |
+
* @param string $sep The title parts separator.
|
603 |
+
* @param string $seplocation Location of the separator (left or right).
|
604 |
*/
|
605 |
return apply_filters( 'bp_modify_page_title', $new_title, $title, $sep, $seplocation );
|
606 |
}
|
648 |
/**
|
649 |
* Filters BuddyPress title parts that will be used into the document title.
|
650 |
*
|
651 |
+
* @since 2.4.3
|
652 |
*
|
653 |
+
* @param array $bp_title The BuddyPress page title parts.
|
654 |
+
* @param array $title The original WordPress title parts.
|
655 |
*/
|
656 |
return apply_filters( 'bp_modify_document_title_parts', $bp_title, $title );
|
657 |
}
|
749 |
/**
|
750 |
* Populate BuddyPress user nav items for the customizer.
|
751 |
*
|
752 |
+
* @since 2.3.3
|
753 |
*
|
754 |
+
* @param array $items The array of menu items.
|
755 |
+
* @param string $type The requested type.
|
756 |
+
* @param string $object The requested object name.
|
757 |
+
* @param integer $page The page num being requested.
|
758 |
+
* @return array The paginated BuddyPress user nav items.
|
759 |
*/
|
760 |
function bp_customizer_nav_menus_get_items( $items = array(), $type = '', $object = '', $page = 0 ) {
|
761 |
if ( 'bp_loggedin_nav' === $object ) {
|
786 |
/**
|
787 |
* Set BuddyPress item navs for the customizer.
|
788 |
*
|
789 |
+
* @since 2.3.3
|
790 |
*
|
791 |
+
* @param array $item_types An associative array structured for the customizer.
|
792 |
* @return array $item_types An associative array structured for the customizer.
|
793 |
*/
|
794 |
function bp_customizer_nav_menus_set_item_types( $item_types = array() ) {
|
852 |
*
|
853 |
* @since 2.1.0
|
854 |
*
|
855 |
+
* @param string $edit_link The edit link.
|
856 |
+
* @param int $post_id Post ID.
|
857 |
+
* @return bool|string Will be a boolean (false) if $post_id is 0. Will be a string (the unchanged edit link)
|
858 |
+
* otherwise
|
859 |
*/
|
860 |
function bp_core_filter_edit_post_link( $edit_link = '', $post_id = 0 ) {
|
861 |
if ( 0 === $post_id ) {
|
899 |
* @access private
|
900 |
*
|
901 |
* @global array $wp_registered_widgets Current registered widgets.
|
902 |
+
* @param array $params Current sidebar params.
|
|
|
903 |
* @return array
|
904 |
*/
|
905 |
function _bp_core_inject_bp_widget_css_class( $params ) {
|
951 |
*
|
952 |
* @since 2.5.0
|
953 |
*
|
954 |
+
* @param string $value Property value.
|
955 |
+
* @param string $property_name
|
956 |
+
* @param string $transform How the return value was transformed.
|
957 |
* @return string Updated value.
|
958 |
*/
|
959 |
function bp_email_add_link_color_to_template( $value, $property_name, $transform ) {
|
990 |
*
|
991 |
* @since 2.5.0
|
992 |
*
|
993 |
+
* @param array $headers
|
994 |
+
* @param string $property Name of property. Unused.
|
995 |
+
* @param string $transform Return value transformation. Unused.
|
996 |
+
* @param BP_Email $email Email object reference.
|
997 |
* @return array
|
998 |
*/
|
999 |
function bp_email_set_default_headers( $headers, $property, $transform, $email ) {
|
1000 |
$headers['X-BuddyPress'] = bp_get_version();
|
1001 |
$headers['X-BuddyPress-Type'] = $email->get( 'type' );
|
1002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1003 |
return $headers;
|
1004 |
}
|
1005 |
add_filter( 'bp_email_get_headers', 'bp_email_set_default_headers', 6, 4 );
|
1009 |
*
|
1010 |
* @since 2.5.0
|
1011 |
*
|
1012 |
+
* @param array $tokens Email tokens.
|
1013 |
+
* @param string $property_name Unused.
|
1014 |
+
* @param string $transform Unused.
|
1015 |
+
* @param BP_Email $email Email being sent.
|
1016 |
* @return array
|
1017 |
*/
|
1018 |
function bp_email_set_default_tokens( $tokens, $property_name, $transform, $email ) {
|
1028 |
$tokens['recipient.email'] = '';
|
1029 |
$tokens['recipient.name'] = '';
|
1030 |
$tokens['recipient.username'] = '';
|
1031 |
+
$tokens['unsubscribe'] = site_url( 'wp-login.php' );
|
1032 |
|
1033 |
|
1034 |
// Who is the email going to?
|
1045 |
}
|
1046 |
|
1047 |
if ( $user_obj ) {
|
1048 |
+
// Unsubscribe link.
|
1049 |
+
$tokens['unsubscribe'] = esc_url( sprintf(
|
1050 |
+
'%s%s/notifications/',
|
1051 |
+
bp_core_get_user_domain( $user_obj->ID ),
|
1052 |
+
function_exists( 'bp_get_settings_slug' ) ? bp_get_settings_slug() : 'settings'
|
1053 |
+
) );
|
1054 |
$tokens['recipient.username'] = $user_obj->user_login;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1055 |
}
|
1056 |
}
|
1057 |
|
|
|
|
|
|
|
|
|
|
|
1058 |
// Email preheader.
|
1059 |
$post = $email->get_post_object();
|
1060 |
if ( $post ) {
|
@@ -108,53 +108,14 @@ function bp_core_get_table_prefix() {
|
|
108 |
* your own awkward callback function for usort().
|
109 |
*
|
110 |
* @since 2.2.0
|
111 |
-
* @since 2.7.0 Added $preserve_keys parameter.
|
112 |
-
*
|
113 |
-
* @param array $items The items to be sorted. Its constituent items
|
114 |
-
* can be either associative arrays or objects.
|
115 |
-
* @param string|int $key The array index or property name to sort by.
|
116 |
-
* @param string $type Sort type. 'alpha' for alphabetical, 'num'
|
117 |
-
* for numeric. Default: 'alpha'.
|
118 |
-
* @param bool $preserve_keys Whether to keep the keys or not.
|
119 |
*
|
|
|
|
|
|
|
120 |
* @return array $items The sorted array.
|
121 |
*/
|
122 |
-
function bp_sort_by_key( $items, $key, $type = 'alpha'
|
123 |
-
|
124 |
-
$values = array( 0 => false, 1 => false );
|
125 |
-
foreach ( func_get_args() as $indexi => $index ) {
|
126 |
-
if ( isset( $index->{$key} ) ) {
|
127 |
-
$values[ $indexi ] = $index->{$key};
|
128 |
-
} elseif ( isset( $index[ $key ] ) ) {
|
129 |
-
$values[ $indexi ] = $index[ $key ];
|
130 |
-
}
|
131 |
-
}
|
132 |
-
|
133 |
-
if ( isset( $values[0], $values[1] ) ) {
|
134 |
-
if ( 'num' === $type ) {
|
135 |
-
$cmp = $values[0] - $values[1];
|
136 |
-
} else {
|
137 |
-
$cmp = strcmp( $values[0], $values[1] );
|
138 |
-
}
|
139 |
-
|
140 |
-
if ( 0 > $cmp ) {
|
141 |
-
$retval = -1;
|
142 |
-
} elseif ( 0 < $cmp ) {
|
143 |
-
$retval = 1;
|
144 |
-
} else {
|
145 |
-
$retval = 0;
|
146 |
-
}
|
147 |
-
return $retval;
|
148 |
-
} else {
|
149 |
-
return 0;
|
150 |
-
}
|
151 |
-
};
|
152 |
-
|
153 |
-
if ( true === $preserve_keys ) {
|
154 |
-
uasort( $items, $callback );
|
155 |
-
} else {
|
156 |
-
usort( $items, $callback );
|
157 |
-
}
|
158 |
|
159 |
return $items;
|
160 |
}
|
@@ -488,29 +449,30 @@ function bp_core_get_packaged_component_ids() {
|
|
488 |
* empty string if the list is not found.
|
489 |
*/
|
490 |
function bp_core_get_directory_page_ids( $status = 'active' ) {
|
491 |
-
$page_ids = bp_get_option( 'bp-pages'
|
492 |
|
493 |
-
//
|
494 |
-
|
|
|
|
|
|
|
|
|
495 |
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
}
|
505 |
|
506 |
-
|
507 |
-
if ( in_array( $component_name, array( 'register', 'activate' ), true ) ) {
|
508 |
-
continue;
|
509 |
-
}
|
510 |
|
511 |
-
|
512 |
-
|
513 |
-
|
|
|
514 |
}
|
515 |
}
|
516 |
|
@@ -518,12 +480,10 @@ function bp_core_get_directory_page_ids( $status = 'active' ) {
|
|
518 |
* Filters the list of BP directory pages from the appropriate meta table.
|
519 |
*
|
520 |
* @since 1.5.0
|
521 |
-
* @since 2.9.0 Add $status parameter
|
522 |
*
|
523 |
-
* @param array
|
524 |
-
* @param string $status Page status to limit results to
|
525 |
*/
|
526 |
-
return
|
527 |
}
|
528 |
|
529 |
/**
|
@@ -531,8 +491,8 @@ function bp_core_get_directory_page_ids( $status = 'active' ) {
|
|
531 |
*
|
532 |
* @since 2.6.0
|
533 |
*
|
534 |
-
* @param string
|
535 |
-
* @return int|
|
536 |
*/
|
537 |
function bp_core_get_directory_page_id( $component = null ) {
|
538 |
if ( ! $component ) {
|
@@ -663,14 +623,21 @@ function bp_core_add_page_mappings( $components, $existing = 'keep' ) {
|
|
663 |
|
664 |
// Delete any existing pages.
|
665 |
if ( 'delete' === $existing ) {
|
666 |
-
foreach ( $pages as $page_id ) {
|
667 |
wp_delete_post( $page_id, true );
|
668 |
}
|
669 |
|
670 |
$pages = array();
|
671 |
}
|
672 |
|
673 |
-
$page_titles =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
674 |
|
675 |
$pages_to_create = array();
|
676 |
foreach ( array_keys( $components ) as $component_name ) {
|
@@ -690,8 +657,8 @@ function bp_core_add_page_mappings( $components, $existing = 'keep' ) {
|
|
690 |
}
|
691 |
|
692 |
// No need for a Sites directory unless we're on multisite.
|
693 |
-
if ( ! is_multisite() && isset( $pages_to_create['
|
694 |
-
unset( $pages_to_create['
|
695 |
}
|
696 |
|
697 |
// Members must always have a page, no matter what.
|
@@ -726,33 +693,6 @@ function bp_core_add_page_mappings( $components, $existing = 'keep' ) {
|
|
726 |
}
|
727 |
}
|
728 |
|
729 |
-
/**
|
730 |
-
* Get the default page titles for BP directory pages.
|
731 |
-
*
|
732 |
-
* @since 2.7.0
|
733 |
-
*
|
734 |
-
* @return array
|
735 |
-
*/
|
736 |
-
function bp_core_get_directory_page_default_titles() {
|
737 |
-
$page_default_titles = array(
|
738 |
-
'activity' => _x( 'Activity', 'Page title for the Activity directory.', 'buddypress' ),
|
739 |
-
'groups' => _x( 'Groups', 'Page title for the Groups directory.', 'buddypress' ),
|
740 |
-
'blogs' => _x( 'Sites', 'Page title for the Sites directory.', 'buddypress' ),
|
741 |
-
'members' => _x( 'Members', 'Page title for the Members directory.', 'buddypress' ),
|
742 |
-
'activate' => _x( 'Activate', 'Page title for the user activation screen.', 'buddypress' ),
|
743 |
-
'register' => _x( 'Register', 'Page title for the user registration screen.', 'buddypress' ),
|
744 |
-
);
|
745 |
-
|
746 |
-
/**
|
747 |
-
* Filters the default page titles array
|
748 |
-
*
|
749 |
-
* @since 2.7.0
|
750 |
-
*
|
751 |
-
* @param array $page_default_titles the array of default WP (post_title) titles.
|
752 |
-
*/
|
753 |
-
return apply_filters( 'bp_core_get_directory_page_default_titles', $page_default_titles );
|
754 |
-
}
|
755 |
-
|
756 |
/**
|
757 |
* Remove the entry from bp_pages when the corresponding WP page is deleted.
|
758 |
*
|
@@ -855,7 +795,7 @@ function bp_core_add_root_component( $slug ) {
|
|
855 |
|
856 |
// If there was no match, add a page for this root component.
|
857 |
if ( empty( $match ) ) {
|
858 |
-
$add_root_items = $bp->add_root;
|
859 |
$add_root_items[] = $slug;
|
860 |
$bp->add_root = $add_root_items;
|
861 |
}
|
@@ -889,7 +829,7 @@ function bp_core_create_root_component_page() {
|
|
889 |
) );
|
890 |
}
|
891 |
|
892 |
-
$page_ids = array_merge( $new_page_ids, bp_core_get_directory_page_ids( 'all' ) );
|
893 |
bp_core_update_directory_page_ids( $page_ids );
|
894 |
}
|
895 |
|
@@ -910,17 +850,11 @@ function bp_core_add_illegal_names() {
|
|
910 |
* Get the 'search' query argument for a given component.
|
911 |
*
|
912 |
* @since 2.4.0
|
913 |
-
* @since 2.7.0 The `$component` parameter was made optional, with the current component
|
914 |
-
* as the fallback value.
|
915 |
*
|
916 |
-
* @param string
|
917 |
* @return string|bool Query argument on success. False on failure.
|
918 |
*/
|
919 |
-
function bp_core_get_component_search_query_arg( $component
|
920 |
-
if ( ! $component ) {
|
921 |
-
$component = bp_current_component();
|
922 |
-
}
|
923 |
-
|
924 |
$query_arg = false;
|
925 |
if ( isset( buddypress()->{$component}->search_query_arg ) ) {
|
926 |
$query_arg = sanitize_title( buddypress()->{$component}->search_query_arg );
|
@@ -1324,41 +1258,6 @@ function bp_core_time_since( $older_date, $newer_date = false ) {
|
|
1324 |
return apply_filters( 'bp_core_time_since', $output, $older_date, $newer_date );
|
1325 |
}
|
1326 |
|
1327 |
-
/**
|
1328 |
-
* Output an ISO-8601 date from a date string.
|
1329 |
-
*
|
1330 |
-
* @since 2.7.0
|
1331 |
-
*
|
1332 |
-
* @param string String of date to convert. Timezone should be UTC before using this.
|
1333 |
-
* @return string|null
|
1334 |
-
*/
|
1335 |
-
function bp_core_iso8601_date( $timestamp = '' ) {
|
1336 |
-
echo bp_core_get_iso8601_date( $timestamp );
|
1337 |
-
}
|
1338 |
-
/**
|
1339 |
-
* Return an ISO-8601 date from a date string.
|
1340 |
-
*
|
1341 |
-
* @since 2.7.0
|
1342 |
-
*
|
1343 |
-
* @param string String of date to convert. Timezone should be UTC before using this.
|
1344 |
-
* @return string
|
1345 |
-
*/
|
1346 |
-
function bp_core_get_iso8601_date( $timestamp = '' ) {
|
1347 |
-
if ( ! $timestamp ) {
|
1348 |
-
return '';
|
1349 |
-
}
|
1350 |
-
|
1351 |
-
try {
|
1352 |
-
$date = new DateTime( $timestamp, new DateTimeZone( 'UTC' ) );
|
1353 |
-
|
1354 |
-
// Not a valid date, so return blank string.
|
1355 |
-
} catch( Exception $e ) {
|
1356 |
-
return '';
|
1357 |
-
}
|
1358 |
-
|
1359 |
-
return $date->format( DateTime::ISO8601 );
|
1360 |
-
}
|
1361 |
-
|
1362 |
/** Messages ******************************************************************/
|
1363 |
|
1364 |
/**
|
@@ -1489,7 +1388,7 @@ function bp_core_render_message() {
|
|
1489 |
*
|
1490 |
* usermeta table.
|
1491 |
*
|
1492 |
-
* @return
|
1493 |
*/
|
1494 |
function bp_core_record_activity() {
|
1495 |
|
@@ -1515,7 +1414,7 @@ function bp_core_record_activity() {
|
|
1515 |
}
|
1516 |
|
1517 |
// Get current time.
|
1518 |
-
$current_time = bp_core_current_time(
|
1519 |
|
1520 |
// Use this action to detect the very first activity for a given member.
|
1521 |
if ( empty( $activity ) ) {
|
@@ -1533,8 +1432,8 @@ function bp_core_record_activity() {
|
|
1533 |
}
|
1534 |
|
1535 |
// If it's been more than 5 minutes, record a newer last-activity time.
|
1536 |
-
if ( empty( $activity ) || ( $current_time >= strtotime( '+5 minutes', $activity ) ) ) {
|
1537 |
-
bp_update_user_last_activity( $user_id,
|
1538 |
}
|
1539 |
}
|
1540 |
add_action( 'wp_head', 'bp_core_record_activity' );
|
@@ -1774,10 +1673,10 @@ function bp_use_embed_in_private_messages() {
|
|
1774 |
*
|
1775 |
* @since 2.6.0
|
1776 |
*
|
1777 |
-
* @param
|
1778 |
-
* @param
|
1779 |
* BP_Media_Extractor class for more info.
|
1780 |
-
* @return
|
1781 |
*/
|
1782 |
function bp_core_extract_media_from_content( $content = '', $type = 'all' ) {
|
1783 |
if ( is_string( $type ) ) {
|
@@ -2403,7 +2302,7 @@ function bp_remove_adjacent_posts_rel_link() {
|
|
2403 |
return;
|
2404 |
}
|
2405 |
|
2406 |
-
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10 );
|
2407 |
}
|
2408 |
add_action( 'bp_init', 'bp_remove_adjacent_posts_rel_link' );
|
2409 |
|
@@ -2792,7 +2691,7 @@ function bp_core_get_suggestions( $args ) {
|
|
2792 |
*
|
2793 |
* @since 2.3.0
|
2794 |
*
|
2795 |
-
* @return
|
2796 |
*/
|
2797 |
function bp_upload_dir() {
|
2798 |
$bp = buddypress();
|
@@ -3090,7 +2989,7 @@ function bp_get_email( $email_type ) {
|
|
3090 |
* @param string|array|int|WP_User $to Either a email address, user ID, WP_User object,
|
3091 |
* or an array containg the address and name.
|
3092 |
* @param array $args {
|
3093 |
-
* Optional. Array of extra parameters.
|
3094 |
*
|
3095 |
* @type array $tokens Optional. Assocative arrays of string replacements for the email.
|
3096 |
* }
|
@@ -3136,23 +3035,6 @@ function bp_send_email( $email_type, $to, $args = array() ) {
|
|
3136 |
$email->set_to( $to );
|
3137 |
$email->set_tokens( $args['tokens'] );
|
3138 |
|
3139 |
-
/**
|
3140 |
-
* Gives access to an email before it is sent.
|
3141 |
-
*
|
3142 |
-
* @since 2.8.0
|
3143 |
-
*
|
3144 |
-
* @param BP_Email $email The email (object) about to be sent.
|
3145 |
-
* @param string $email_type Type of email being sent.
|
3146 |
-
* @param string|array|int|WP_User $to Either a email address, user ID, WP_User object,
|
3147 |
-
* or an array containg the address and name.
|
3148 |
-
* @param array $args {
|
3149 |
-
* Optional. Array of extra parameters.
|
3150 |
-
*
|
3151 |
-
* @type array $tokens Optional. Assocative arrays of string replacements for the email.
|
3152 |
-
* }
|
3153 |
-
*/
|
3154 |
-
do_action_ref_array( 'bp_send_email', array( &$email, $email_type, $to, $args ) );
|
3155 |
-
|
3156 |
$status = $email->validate();
|
3157 |
if ( is_wp_error( $status ) ) {
|
3158 |
return $status;
|
@@ -3307,8 +3189,8 @@ function bp_email_get_template( WP_Post $object ) {
|
|
3307 |
*
|
3308 |
* @since 2.5.0
|
3309 |
*
|
3310 |
-
* @param string $text
|
3311 |
-
* @param array
|
3312 |
* @return string
|
3313 |
*/
|
3314 |
function bp_core_replace_tokens_in_text( $text, $tokens ) {
|
@@ -3345,7 +3227,7 @@ function bp_core_replace_tokens_in_text( $text, $tokens ) {
|
|
3345 |
|
3346 |
/**
|
3347 |
* Get a list of emails for populating the email post type.
|
3348 |
-
*
|
3349 |
* @since 2.5.1
|
3350 |
*
|
3351 |
* @return array
|
@@ -3422,7 +3304,7 @@ function bp_email_get_schema() {
|
|
3422 |
/* translators: do not remove {} brackets or translate its contents. */
|
3423 |
'post_content' => __( "Group details for the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>" were updated:\n<blockquote>{{changed_text}}</blockquote>", 'buddypress' ),
|
3424 |
/* translators: do not remove {} brackets or translate its contents. */
|
3425 |
-
'post_excerpt' => __( "Group details for the group
|
3426 |
),
|
3427 |
'groups-invitation' => array(
|
3428 |
/* translators: do not remove {} brackets or translate its contents. */
|
@@ -3430,7 +3312,7 @@ function bp_email_get_schema() {
|
|
3430 |
/* translators: do not remove {} brackets or translate its contents. */
|
3431 |
'post_content' => __( "<a href=\"{{{inviter.url}}}\">{{inviter.name}}</a> has invited you to join the group: "{{group.name}}".\n<a href=\"{{{invites.url}}}\">Go here to accept your invitation</a> or <a href=\"{{{group.url}}}\">visit the group</a> to learn more.", 'buddypress' ),
|
3432 |
/* translators: do not remove {} brackets or translate its contents. */
|
3433 |
-
'post_excerpt' => __( "{{inviter.name}} has invited you to join the group:
|
3434 |
),
|
3435 |
'groups-member-promoted' => array(
|
3436 |
/* translators: do not remove {} brackets or translate its contents. */
|
@@ -3438,7 +3320,7 @@ function bp_email_get_schema() {
|
|
3438 |
/* translators: do not remove {} brackets or translate its contents. */
|
3439 |
'post_content' => __( "You have been promoted to <b>{{promoted_to}}</b> in the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>".", 'buddypress' ),
|
3440 |
/* translators: do not remove {} brackets or translate its contents. */
|
3441 |
-
'post_excerpt' => __( "You have been promoted to {{promoted_to}} in the group:
|
3442 |
),
|
3443 |
'groups-membership-request' => array(
|
3444 |
/* translators: do not remove {} brackets or translate its contents. */
|
@@ -3446,7 +3328,7 @@ function bp_email_get_schema() {
|
|
3446 |
/* translators: do not remove {} brackets or translate its contents. */
|
3447 |
'post_content' => __( "<a href=\"{{{profile.url}}}\">{{requesting-user.name}}</a> wants to join the group "{{group.name}}". As you are an administrator of this group, you must either accept or reject the membership request.\n\n<a href=\"{{{group-requests.url}}}\">Go here to manage this</a> and all other pending requests.", 'buddypress' ),
|
3448 |
/* translators: do not remove {} brackets or translate its contents. */
|
3449 |
-
'post_excerpt' => __( "{{requesting-user.name}} wants to join the group
|
3450 |
),
|
3451 |
'messages-unread' => array(
|
3452 |
/* translators: do not remove {} brackets or translate its contents. */
|
@@ -3454,7 +3336,7 @@ function bp_email_get_schema() {
|
|
3454 |
/* translators: do not remove {} brackets or translate its contents. */
|
3455 |
'post_content' => __( "{{sender.name}} sent you a new message: "{{usersubject}}"\n\n<blockquote>"{{usermessage}}"</blockquote>\n\n<a href=\"{{{message.url}}}\">Go to the discussion</a> to reply or catch up on the conversation.", 'buddypress' ),
|
3456 |
/* translators: do not remove {} brackets or translate its contents. */
|
3457 |
-
'post_excerpt' => __( "{{sender.name}} sent you a new message:
|
3458 |
),
|
3459 |
'settings-verify-email-change' => array(
|
3460 |
/* translators: do not remove {} brackets or translate its contents. */
|
@@ -3470,7 +3352,7 @@ function bp_email_get_schema() {
|
|
3470 |
/* translators: do not remove {} brackets or translate its contents. */
|
3471 |
'post_content' => __( "Your membership request for the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>" has been accepted.", 'buddypress' ),
|
3472 |
/* translators: do not remove {} brackets or translate its contents. */
|
3473 |
-
'post_excerpt' => __( "Your membership request for the group
|
3474 |
),
|
3475 |
'groups-membership-request-rejected' => array(
|
3476 |
/* translators: do not remove {} brackets or translate its contents. */
|
@@ -3478,7 +3360,7 @@ function bp_email_get_schema() {
|
|
3478 |
/* translators: do not remove {} brackets or translate its contents. */
|
3479 |
'post_content' => __( "Your membership request for the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>" has been rejected.", 'buddypress' ),
|
3480 |
/* translators: do not remove {} brackets or translate its contents. */
|
3481 |
-
'post_excerpt' => __( "Your membership request for the group
|
3482 |
),
|
3483 |
);
|
3484 |
}
|
@@ -3487,332 +3369,26 @@ function bp_email_get_schema() {
|
|
3487 |
* Get a list of emails for populating email type taxonomy terms.
|
3488 |
*
|
3489 |
* @since 2.5.1
|
3490 |
-
* @since 2.7.0 $field argument added.
|
3491 |
-
*
|
3492 |
-
* @param string $field Optional; defaults to "description" for backwards compatibility. Other values: "all".
|
3493 |
-
* @return array {
|
3494 |
-
* The array of email types and their schema.
|
3495 |
-
*
|
3496 |
-
* @type string $description The description of the action which causes this to trigger.
|
3497 |
-
* @type array $unsubscribe {
|
3498 |
-
* Replacing this with false indicates that a user cannot unsubscribe from this type.
|
3499 |
-
*
|
3500 |
-
* @type string $meta_key The meta_key used to toggle the email setting for this notification.
|
3501 |
-
* @type string $message The message shown when the user has successfully unsubscribed.
|
3502 |
-
* }
|
3503 |
-
*/
|
3504 |
-
function bp_email_get_type_schema( $field = 'description' ) {
|
3505 |
-
$activity_comment = array(
|
3506 |
-
'description' => __( 'A member has replied to an activity update that the recipient posted.', 'buddypress' ),
|
3507 |
-
'unsubscribe' => array(
|
3508 |
-
'meta_key' => 'notification_activity_new_reply',
|
3509 |
-
'message' => __( 'You will no longer receive emails when someone replies to an update or comment you posted.', 'buddypress' ),
|
3510 |
-
),
|
3511 |
-
);
|
3512 |
-
|
3513 |
-
$activity_comment_author = array(
|
3514 |
-
'description' => __( 'A member has replied to a comment on an activity update that the recipient posted.', 'buddypress' ),
|
3515 |
-
'unsubscribe' => array(
|
3516 |
-
'meta_key' => 'notification_activity_new_reply',
|
3517 |
-
'message' => __( 'You will no longer receive emails when someone replies to an update or comment you posted.', 'buddypress' ),
|
3518 |
-
),
|
3519 |
-
);
|
3520 |
-
|
3521 |
-
$activity_at_message = array(
|
3522 |
-
'description' => __( 'Recipient was mentioned in an activity update.', 'buddypress' ),
|
3523 |
-
'unsubscribe' => array(
|
3524 |
-
'meta_key' => 'notification_activity_new_mention',
|
3525 |
-
'message' => __( 'You will no longer receive emails when someone mentions you in an update.', 'buddypress' ),
|
3526 |
-
),
|
3527 |
-
);
|
3528 |
-
|
3529 |
-
$groups_at_message = array(
|
3530 |
-
'description' => __( 'Recipient was mentioned in a group activity update.', 'buddypress' ),
|
3531 |
-
'unsubscribe' => array(
|
3532 |
-
'meta_key' => 'notification_activity_new_mention',
|
3533 |
-
'message' => __( 'You will no longer receive emails when someone mentions you in an update.', 'buddypress' ),
|
3534 |
-
),
|
3535 |
-
);
|
3536 |
-
|
3537 |
-
$core_user_registration = array(
|
3538 |
-
'description' => __( 'Recipient has registered for an account.', 'buddypress' ),
|
3539 |
-
'unsubscribe' => false,
|
3540 |
-
);
|
3541 |
-
|
3542 |
-
$core_user_registration_with_blog = array(
|
3543 |
-
'description' => __( 'Recipient has registered for an account and site.', 'buddypress' ),
|
3544 |
-
'unsubscribe' => false,
|
3545 |
-
);
|
3546 |
-
|
3547 |
-
$friends_request = array(
|
3548 |
-
'description' => __( 'A member has sent a friend request to the recipient.', 'buddypress' ),
|
3549 |
-
'unsubscribe' => array(
|
3550 |
-
'meta_key' => 'notification_friends_friendship_request',
|
3551 |
-
'message' => __( 'You will no longer receive emails when someone sends you a friend request.', 'buddypress' ),
|
3552 |
-
),
|
3553 |
-
);
|
3554 |
-
|
3555 |
-
$friends_request_accepted = array(
|
3556 |
-
'description' => __( 'Recipient has had a friend request accepted by a member.', 'buddypress' ),
|
3557 |
-
'unsubscribe' => array(
|
3558 |
-
'meta_key' => 'notification_friends_friendship_accepted',
|
3559 |
-
'message' => __( 'You will no longer receive emails when someone accepts your friendship request.', 'buddypress' ),
|
3560 |
-
),
|
3561 |
-
);
|
3562 |
-
|
3563 |
-
$groups_details_updated = array(
|
3564 |
-
'description' => __( "A group's details were updated.", 'buddypress' ),
|
3565 |
-
'unsubscribe' => array(
|
3566 |
-
'meta_key' => 'notification_groups_group_updated',
|
3567 |
-
'message' => __( 'You will no longer receive emails when one of your groups is updated.', 'buddypress' ),
|
3568 |
-
),
|
3569 |
-
);
|
3570 |
-
|
3571 |
-
$groups_details_updated = array(
|
3572 |
-
'description' => __( "A group's details were updated.", 'buddypress' ),
|
3573 |
-
'unsubscribe' => array(
|
3574 |
-
'meta_key' => 'notification_groups_group_updated',
|
3575 |
-
'message' => __( 'You will no longer receive emails when one of your groups is updated.', 'buddypress' ),
|
3576 |
-
),
|
3577 |
-
);
|
3578 |
-
|
3579 |
-
$groups_invitation = array(
|
3580 |
-
'description' => __( 'A member has sent a group invitation to the recipient.', 'buddypress' ),
|
3581 |
-
'unsubscribe' => array(
|
3582 |
-
'meta_key' => 'notification_groups_invite',
|
3583 |
-
'message' => __( 'You will no longer receive emails when you are invited to join a group.', 'buddypress' ),
|
3584 |
-
),
|
3585 |
-
);
|
3586 |
-
|
3587 |
-
$groups_member_promoted = array(
|
3588 |
-
'description' => __( "Recipient's status within a group has changed.", 'buddypress' ),
|
3589 |
-
'unsubscribe' => array(
|
3590 |
-
'meta_key' => 'notification_groups_admin_promotion',
|
3591 |
-
'message' => __( 'You will no longer receive emails when you have been promoted in a group.', 'buddypress' ),
|
3592 |
-
),
|
3593 |
-
);
|
3594 |
-
|
3595 |
-
$groups_member_promoted = array(
|
3596 |
-
'description' => __( "Recipient's status within a group has changed.", 'buddypress' ),
|
3597 |
-
'unsubscribe' => array(
|
3598 |
-
'meta_key' => 'notification_groups_admin_promotion',
|
3599 |
-
'message' => __( 'You will no longer receive emails when you have been promoted in a group.', 'buddypress' ),
|
3600 |
-
),
|
3601 |
-
);
|
3602 |
-
|
3603 |
-
$groups_membership_request = array(
|
3604 |
-
'description' => __( 'A member has requested permission to join a group.', 'buddypress' ),
|
3605 |
-
'unsubscribe' => array(
|
3606 |
-
'meta_key' => 'notification_groups_membership_request',
|
3607 |
-
'message' => __( 'You will no longer receive emails when someone requests to be a member of your group.', 'buddypress' ),
|
3608 |
-
),
|
3609 |
-
);
|
3610 |
-
|
3611 |
-
$messages_unread = array(
|
3612 |
-
'description' => __( 'Recipient has received a private message.', 'buddypress' ),
|
3613 |
-
'unsubscribe' => array(
|
3614 |
-
'meta_key' => 'notification_messages_new_message',
|
3615 |
-
'message' => __( 'You will no longer receive emails when someone sends you a message.', 'buddypress' ),
|
3616 |
-
),
|
3617 |
-
);
|
3618 |
-
|
3619 |
-
$settings_verify_email_change = array(
|
3620 |
-
'description' => __( 'Recipient has changed their email address.', 'buddypress' ),
|
3621 |
-
'unsubscribe' => false,
|
3622 |
-
);
|
3623 |
-
|
3624 |
-
$groups_membership_request_accepted = array(
|
3625 |
-
'description' => __( 'Recipient had requested to join a group, which was accepted.', 'buddypress' ),
|
3626 |
-
'unsubscribe' => array(
|
3627 |
-
'meta_key' => 'notification_membership_request_completed',
|
3628 |
-
'message' => __( 'You will no longer receive emails when your request to join a group has been accepted or denied.', 'buddypress' ),
|
3629 |
-
),
|
3630 |
-
);
|
3631 |
-
|
3632 |
-
$groups_membership_request_rejected = array(
|
3633 |
-
'description' => __( 'Recipient had requested to join a group, which was rejected.', 'buddypress' ),
|
3634 |
-
'unsubscribe' => array(
|
3635 |
-
'meta_key' => 'notification_membership_request_completed',
|
3636 |
-
'message' => __( 'You will no longer receive emails when your request to join a group has been accepted or denied.', 'buddypress' ),
|
3637 |
-
),
|
3638 |
-
);
|
3639 |
-
|
3640 |
-
$types = array(
|
3641 |
-
'activity-comment' => $activity_comment,
|
3642 |
-
'activity-comment-author' => $activity_comment_author,
|
3643 |
-
'activity-at-message' => $activity_at_message,
|
3644 |
-
'groups-at-message' => $groups_at_message,
|
3645 |
-
'core-user-registration' => $core_user_registration,
|
3646 |
-
'core-user-registration-with-blog' => $core_user_registration_with_blog,
|
3647 |
-
'friends-request' => $friends_request,
|
3648 |
-
'friends-request-accepted' => $friends_request_accepted,
|
3649 |
-
'groups-details-updated' => $groups_details_updated,
|
3650 |
-
'groups-invitation' => $groups_invitation,
|
3651 |
-
'groups-member-promoted' => $groups_member_promoted,
|
3652 |
-
'groups-membership-request' => $groups_membership_request,
|
3653 |
-
'messages-unread' => $messages_unread,
|
3654 |
-
'settings-verify-email-change' => $settings_verify_email_change,
|
3655 |
-
'groups-membership-request-accepted' => $groups_membership_request_accepted,
|
3656 |
-
'groups-membership-request-rejected' => $groups_membership_request_rejected,
|
3657 |
-
);
|
3658 |
-
|
3659 |
-
if ( $field !== 'all' ) {
|
3660 |
-
return wp_list_pluck( $types, $field );
|
3661 |
-
} else {
|
3662 |
-
return $types;
|
3663 |
-
}
|
3664 |
-
}
|
3665 |
-
|
3666 |
-
/**
|
3667 |
-
* Handles unsubscribing user from notification emails.
|
3668 |
-
*
|
3669 |
-
* @since 2.7.0
|
3670 |
-
*/
|
3671 |
-
function bp_email_unsubscribe_handler() {
|
3672 |
-
$emails = bp_email_get_unsubscribe_type_schema();
|
3673 |
-
$raw_email_type = ! empty( $_GET['nt'] ) ? $_GET['nt'] : '';
|
3674 |
-
$raw_hash = ! empty( $_GET['nh'] ) ? $_GET['nh'] : '';
|
3675 |
-
$raw_user_id = ! empty( $_GET['uid'] ) ? absint( $_GET['uid'] ) : 0;
|
3676 |
-
$new_hash = hash_hmac( 'sha1', "{$raw_email_type}:{$raw_user_id}", bp_email_get_salt() );
|
3677 |
-
|
3678 |
-
// Check required values.
|
3679 |
-
if ( ! $raw_user_id || ! $raw_email_type || ! $raw_hash || ! array_key_exists( $raw_email_type, $emails ) ) {
|
3680 |
-
$redirect_to = site_url( 'wp-login.php' );
|
3681 |
-
$result_msg = __( 'Something has gone wrong.', 'buddypress' );
|
3682 |
-
$unsub_msg = __( 'Please log in and go to your settings to unsubscribe from notification emails.', 'buddypress' );
|
3683 |
-
|
3684 |
-
// Check valid hash.
|
3685 |
-
} elseif ( ! hash_equals( $new_hash, $raw_hash ) ) {
|
3686 |
-
$redirect_to = site_url( 'wp-login.php' );
|
3687 |
-
$result_msg = __( 'Something has gone wrong.', 'buddypress' );
|
3688 |
-
$unsub_msg = __( 'Please log in and go to your settings to unsubscribe from notification emails.', 'buddypress' );
|
3689 |
-
|
3690 |
-
// Don't let authenticated users unsubscribe other users' email notifications.
|
3691 |
-
} elseif ( is_user_logged_in() && get_current_user_id() !== $raw_user_id ) {
|
3692 |
-
$result_msg = __( 'Something has gone wrong.', 'buddypress' );
|
3693 |
-
$unsub_msg = __( 'Please go to your notifications settings to unsubscribe from emails.', 'buddypress' );
|
3694 |
-
|
3695 |
-
if ( bp_is_active( 'settings' ) ) {
|
3696 |
-
$redirect_to = sprintf(
|
3697 |
-
'%s%s/notifications/',
|
3698 |
-
bp_core_get_user_domain( get_current_user_id() ),
|
3699 |
-
bp_get_settings_slug()
|
3700 |
-
);
|
3701 |
-
} else {
|
3702 |
-
$redirect_to = bp_core_get_user_domain( get_current_user_id() );
|
3703 |
-
}
|
3704 |
-
|
3705 |
-
} else {
|
3706 |
-
if ( bp_is_active( 'settings' ) ) {
|
3707 |
-
$redirect_to = sprintf(
|
3708 |
-
'%s%s/notifications/',
|
3709 |
-
bp_core_get_user_domain( $raw_user_id ),
|
3710 |
-
bp_get_settings_slug()
|
3711 |
-
);
|
3712 |
-
} else {
|
3713 |
-
$redirect_to = bp_core_get_user_domain( $raw_user_id );
|
3714 |
-
}
|
3715 |
-
|
3716 |
-
// Unsubscribe.
|
3717 |
-
$meta_key = $emails[ $raw_email_type ]['unsubscribe']['meta_key'];
|
3718 |
-
bp_update_user_meta( $raw_user_id, $meta_key, 'no' );
|
3719 |
-
|
3720 |
-
$result_msg = $emails[ $raw_email_type ]['unsubscribe']['message'];
|
3721 |
-
$unsub_msg = __( 'You can change this or any other email notification preferences in your email settings.', 'buddypress' );
|
3722 |
-
}
|
3723 |
-
|
3724 |
-
$message = sprintf(
|
3725 |
-
'%1$s <a href="%2$s">%3$s</a>',
|
3726 |
-
$result_msg,
|
3727 |
-
esc_url( $redirect_to ),
|
3728 |
-
esc_html( $unsub_msg )
|
3729 |
-
);
|
3730 |
-
|
3731 |
-
bp_core_add_message( $message );
|
3732 |
-
bp_core_redirect( bp_core_get_user_domain( $raw_user_id ) );
|
3733 |
-
|
3734 |
-
exit;
|
3735 |
-
}
|
3736 |
-
|
3737 |
-
/**
|
3738 |
-
* Creates unsubscribe link for notification emails.
|
3739 |
-
*
|
3740 |
-
* @since 2.7.0
|
3741 |
*
|
3742 |
-
* @
|
3743 |
-
* @param array $args {
|
3744 |
-
* Used to build unsubscribe query string.
|
3745 |
-
*
|
3746 |
-
* @type string $notification_type Which notification type is being sent.
|
3747 |
-
* @type string $user_id The ID of the user to whom the notification is sent.
|
3748 |
-
* @type string $redirect_to Optional. The url to which the user will be redirected. Default is the activity directory.
|
3749 |
-
* }
|
3750 |
-
* @return string The unsubscribe link.
|
3751 |
*/
|
3752 |
-
function
|
3753 |
-
|
3754 |
-
|
3755 |
-
|
3756 |
-
|
3757 |
-
|
3758 |
-
|
3759 |
-
|
3760 |
-
|
3761 |
-
|
3762 |
-
|
3763 |
-
|
3764 |
-
|
3765 |
-
|
3766 |
-
|
3767 |
-
|
3768 |
-
|
3769 |
-
|
3770 |
-
'action' => 'unsubscribe',
|
3771 |
-
'nh' => hash_hmac( 'sha1', "{$email_type}:{$user_id}", bp_email_get_salt() ),
|
3772 |
-
'nt' => $args['notification_type'],
|
3773 |
-
'uid' => $user_id,
|
3774 |
-
),
|
3775 |
-
$redirect_to
|
3776 |
);
|
3777 |
-
|
3778 |
-
/**
|
3779 |
-
* Filters the unsubscribe link.
|
3780 |
-
*
|
3781 |
-
* @since 2.7.0
|
3782 |
-
*/
|
3783 |
-
return apply_filters( 'bp_email_get_link', $link, $redirect_to, $args );
|
3784 |
-
}
|
3785 |
-
|
3786 |
-
/**
|
3787 |
-
* Get a persistent salt for email unsubscribe links.
|
3788 |
-
*
|
3789 |
-
* @since 2.7.0
|
3790 |
-
*
|
3791 |
-
* @return string|null Returns null if value isn't set, otherwise string.
|
3792 |
-
*/
|
3793 |
-
function bp_email_get_salt() {
|
3794 |
-
return bp_get_option( 'bp-emails-unsubscribe-salt', null );
|
3795 |
-
}
|
3796 |
-
|
3797 |
-
/**
|
3798 |
-
* Get a list of emails for use in our unsubscribe functions.
|
3799 |
-
*
|
3800 |
-
* @since 2.8.0
|
3801 |
-
*
|
3802 |
-
* @see https://buddypress.trac.wordpress.org/ticket/7431
|
3803 |
-
*
|
3804 |
-
* @return array The array of email types and their schema.
|
3805 |
-
*/
|
3806 |
-
function bp_email_get_unsubscribe_type_schema() {
|
3807 |
-
$emails = bp_email_get_type_schema( 'all' );
|
3808 |
-
|
3809 |
-
/**
|
3810 |
-
* Filters the return of `bp_email_get_type_schema( 'all' )` for use with
|
3811 |
-
* our unsubscribe functionality.
|
3812 |
-
*
|
3813 |
-
* @since 2.8.0
|
3814 |
-
*
|
3815 |
-
* @param array $emails The array of email types and their schema.
|
3816 |
-
*/
|
3817 |
-
return (array) apply_filters( 'bp_email_get_unsubscribe_type_schema', $emails );
|
3818 |
}
|
108 |
* your own awkward callback function for usort().
|
109 |
*
|
110 |
* @since 2.2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
*
|
112 |
+
* @param array $items The items to be sorted. Its constituent items can be either associative arrays or objects.
|
113 |
+
* @param string|int $key The array index or property name to sort by.
|
114 |
+
* @param string $type Sort type. 'alpha' for alphabetical, 'num' for numeric. Default: 'alpha'.
|
115 |
* @return array $items The sorted array.
|
116 |
*/
|
117 |
+
function bp_sort_by_key( $items, $key, $type = 'alpha' ) {
|
118 |
+
usort( $items, array( new BP_Core_Sort_By_Key_Callback( $key, $type ), 'sort_callback' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
|
120 |
return $items;
|
121 |
}
|
449 |
* empty string if the list is not found.
|
450 |
*/
|
451 |
function bp_core_get_directory_page_ids( $status = 'active' ) {
|
452 |
+
$page_ids = bp_get_option( 'bp-pages' );
|
453 |
|
454 |
+
// Ensure that empty indexes are unset. Should only matter in edge cases.
|
455 |
+
if ( !empty( $page_ids ) && is_array( $page_ids ) ) {
|
456 |
+
foreach( (array) $page_ids as $component_name => $page_id ) {
|
457 |
+
if ( empty( $component_name ) || empty( $page_id ) ) {
|
458 |
+
unset( $page_ids[ $component_name ] );
|
459 |
+
}
|
460 |
|
461 |
+
// 'register' and 'activate' do not have components, but should be whitelisted.
|
462 |
+
if ( 'register' === $component_name || 'activate' === $component_name ) {
|
463 |
+
continue;
|
464 |
+
}
|
465 |
|
466 |
+
// Trashed pages should not appear in results.
|
467 |
+
if ( 'trash' == get_post_status( $page_id ) ) {
|
468 |
+
unset( $page_ids[ $component_name ] );
|
|
|
469 |
|
470 |
+
}
|
|
|
|
|
|
|
471 |
|
472 |
+
// Remove inactive component pages, if required.
|
473 |
+
if ( 'active' === $status && ! bp_is_active( $component_name ) ) {
|
474 |
+
unset( $page_ids[ $component_name ] );
|
475 |
+
}
|
476 |
}
|
477 |
}
|
478 |
|
480 |
* Filters the list of BP directory pages from the appropriate meta table.
|
481 |
*
|
482 |
* @since 1.5.0
|
|
|
483 |
*
|
484 |
+
* @param array $page_ids Array of directory pages.
|
|
|
485 |
*/
|
486 |
+
return apply_filters( 'bp_core_get_directory_page_ids', $page_ids );
|
487 |
}
|
488 |
|
489 |
/**
|
491 |
*
|
492 |
* @since 2.6.0
|
493 |
*
|
494 |
+
* @param string $component The slug representing the component. Defaults to the current component.
|
495 |
+
* @return int|bool The ID of the directory page associated with the component. False if none is found.
|
496 |
*/
|
497 |
function bp_core_get_directory_page_id( $component = null ) {
|
498 |
if ( ! $component ) {
|
623 |
|
624 |
// Delete any existing pages.
|
625 |
if ( 'delete' === $existing ) {
|
626 |
+
foreach ( (array) $pages as $page_id ) {
|
627 |
wp_delete_post( $page_id, true );
|
628 |
}
|
629 |
|
630 |
$pages = array();
|
631 |
}
|
632 |
|
633 |
+
$page_titles = array(
|
634 |
+
'activity' => _x( 'Activity', 'Page title for the Activity directory.', 'buddypress' ),
|
635 |
+
'groups' => _x( 'Groups', 'Page title for the Groups directory.', 'buddypress' ),
|
636 |
+
'sites' => _x( 'Sites', 'Page title for the Sites directory.', 'buddypress' ),
|
637 |
+
'members' => _x( 'Members', 'Page title for the Members directory.', 'buddypress' ),
|
638 |
+
'activate' => _x( 'Activate', 'Page title for the user activation screen.', 'buddypress' ),
|
639 |
+
'register' => _x( 'Register', 'Page title for the user registration screen.', 'buddypress' ),
|
640 |
+
);
|
641 |
|
642 |
$pages_to_create = array();
|
643 |
foreach ( array_keys( $components ) as $component_name ) {
|
657 |
}
|
658 |
|
659 |
// No need for a Sites directory unless we're on multisite.
|
660 |
+
if ( ! is_multisite() && isset( $pages_to_create['sites'] ) ) {
|
661 |
+
unset( $pages_to_create['sites'] );
|
662 |
}
|
663 |
|
664 |
// Members must always have a page, no matter what.
|
693 |
}
|
694 |
}
|
695 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
696 |
/**
|
697 |
* Remove the entry from bp_pages when the corresponding WP page is deleted.
|
698 |
*
|
795 |
|
796 |
// If there was no match, add a page for this root component.
|
797 |
if ( empty( $match ) ) {
|
798 |
+
$add_root_items = $bp->add_root();
|
799 |
$add_root_items[] = $slug;
|
800 |
$bp->add_root = $add_root_items;
|
801 |
}
|
829 |
) );
|
830 |
}
|
831 |
|
832 |
+
$page_ids = array_merge( (array) $new_page_ids, (array) bp_core_get_directory_page_ids( 'all' ) );
|
833 |
bp_core_update_directory_page_ids( $page_ids );
|
834 |
}
|
835 |
|
850 |
* Get the 'search' query argument for a given component.
|
851 |
*
|
852 |
* @since 2.4.0
|
|
|
|
|
853 |
*
|
854 |
+
* @param string $component Component name.
|
855 |
* @return string|bool Query argument on success. False on failure.
|
856 |
*/
|
857 |
+
function bp_core_get_component_search_query_arg( $component ) {
|
|
|
|
|
|
|
|
|
858 |
$query_arg = false;
|
859 |
if ( isset( buddypress()->{$component}->search_query_arg ) ) {
|
860 |
$query_arg = sanitize_title( buddypress()->{$component}->search_query_arg );
|
1258 |
return apply_filters( 'bp_core_time_since', $output, $older_date, $newer_date );
|
1259 |
}
|
1260 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1261 |
/** Messages ******************************************************************/
|
1262 |
|
1263 |
/**
|
1388 |
*
|
1389 |
* usermeta table.
|
1390 |
*
|
1391 |
+
* @return bool|null Returns false if there is nothing to do.
|
1392 |
*/
|
1393 |
function bp_core_record_activity() {
|
1394 |
|
1414 |
}
|
1415 |
|
1416 |
// Get current time.
|
1417 |
+
$current_time = bp_core_current_time();
|
1418 |
|
1419 |
// Use this action to detect the very first activity for a given member.
|
1420 |
if ( empty( $activity ) ) {
|
1432 |
}
|
1433 |
|
1434 |
// If it's been more than 5 minutes, record a newer last-activity time.
|
1435 |
+
if ( empty( $activity ) || ( strtotime( $current_time ) >= strtotime( '+5 minutes', $activity ) ) ) {
|
1436 |
+
bp_update_user_last_activity( $user_id, $current_time );
|
1437 |
}
|
1438 |
}
|
1439 |
add_action( 'wp_head', 'bp_core_record_activity' );
|
1673 |
*
|
1674 |
* @since 2.6.0
|
1675 |
*
|
1676 |
+
* @param string $content The content to check.
|
1677 |
+
* @param string|int $type The type to check. Can also use a bitmask. See the class constants in the
|
1678 |
* BP_Media_Extractor class for more info.
|
1679 |
+
* @return array|bool If media exists, will return array of media metadata. Else, boolean false.
|
1680 |
*/
|
1681 |
function bp_core_extract_media_from_content( $content = '', $type = 'all' ) {
|
1682 |
if ( is_string( $type ) ) {
|
2302 |
return;
|
2303 |
}
|
2304 |
|
2305 |
+
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );
|
2306 |
}
|
2307 |
add_action( 'bp_init', 'bp_remove_adjacent_posts_rel_link' );
|
2308 |
|
2691 |
*
|
2692 |
* @since 2.3.0
|
2693 |
*
|
2694 |
+
* @return string
|
2695 |
*/
|
2696 |
function bp_upload_dir() {
|
2697 |
$bp = buddypress();
|
2989 |
* @param string|array|int|WP_User $to Either a email address, user ID, WP_User object,
|
2990 |
* or an array containg the address and name.
|
2991 |
* @param array $args {
|
2992 |
+
* Optional. Array of extra. parameters.
|
2993 |
*
|
2994 |
* @type array $tokens Optional. Assocative arrays of string replacements for the email.
|
2995 |
* }
|
3035 |
$email->set_to( $to );
|
3036 |
$email->set_tokens( $args['tokens'] );
|
3037 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3038 |
$status = $email->validate();
|
3039 |
if ( is_wp_error( $status ) ) {
|
3040 |
return $status;
|
3189 |
*
|
3190 |
* @since 2.5.0
|
3191 |
*
|
3192 |
+
* @param string $text
|
3193 |
+
* @param array $tokens Token names and replacement values for the $text.
|
3194 |
* @return string
|
3195 |
*/
|
3196 |
function bp_core_replace_tokens_in_text( $text, $tokens ) {
|
3227 |
|
3228 |
/**
|
3229 |
* Get a list of emails for populating the email post type.
|
3230 |
+
*t
|
3231 |
* @since 2.5.1
|
3232 |
*
|
3233 |
* @return array
|
3304 |
/* translators: do not remove {} brackets or translate its contents. */
|
3305 |
'post_content' => __( "Group details for the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>" were updated:\n<blockquote>{{changed_text}}</blockquote>", 'buddypress' ),
|
3306 |
/* translators: do not remove {} brackets or translate its contents. */
|
3307 |
+
'post_excerpt' => __( "Group details for the group "{{group.name}}" were updated:\n\n{{changed_text}}\n\nTo view the group, visit: {{{group.url}}}", 'buddypress' ),
|
3308 |
),
|
3309 |
'groups-invitation' => array(
|
3310 |
/* translators: do not remove {} brackets or translate its contents. */
|
3312 |
/* translators: do not remove {} brackets or translate its contents. */
|
3313 |
'post_content' => __( "<a href=\"{{{inviter.url}}}\">{{inviter.name}}</a> has invited you to join the group: "{{group.name}}".\n<a href=\"{{{invites.url}}}\">Go here to accept your invitation</a> or <a href=\"{{{group.url}}}\">visit the group</a> to learn more.", 'buddypress' ),
|
3314 |
/* translators: do not remove {} brackets or translate its contents. */
|
3315 |
+
'post_excerpt' => __( "{{inviter.name}} has invited you to join the group: "{{group.name}}".\n\nTo accept your invitation, visit: {{{invites.url}}}\n\nTo learn more about the group, visit {{{group.url}}}.\nTo view {{inviter.name}}'s profile, visit: {{{inviter.url}}}", 'buddypress' ),
|
3316 |
),
|
3317 |
'groups-member-promoted' => array(
|
3318 |
/* translators: do not remove {} brackets or translate its contents. */
|
3320 |
/* translators: do not remove {} brackets or translate its contents. */
|
3321 |
'post_content' => __( "You have been promoted to <b>{{promoted_to}}</b> in the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>".", 'buddypress' ),
|
3322 |
/* translators: do not remove {} brackets or translate its contents. */
|
3323 |
+
'post_excerpt' => __( "You have been promoted to {{promoted_to}} in the group: "{{group.name}}".\n\nTo visit the group, go to: {{{group.url}}}", 'buddypress' ),
|
3324 |
),
|
3325 |
'groups-membership-request' => array(
|
3326 |
/* translators: do not remove {} brackets or translate its contents. */
|
3328 |
/* translators: do not remove {} brackets or translate its contents. */
|
3329 |
'post_content' => __( "<a href=\"{{{profile.url}}}\">{{requesting-user.name}}</a> wants to join the group "{{group.name}}". As you are an administrator of this group, you must either accept or reject the membership request.\n\n<a href=\"{{{group-requests.url}}}\">Go here to manage this</a> and all other pending requests.", 'buddypress' ),
|
3330 |
/* translators: do not remove {} brackets or translate its contents. */
|
3331 |
+
'post_excerpt' => __( "{{requesting-user.name}} wants to join the group "{{group.name}}". As you are the administrator of this group, you must either accept or reject the membership request.\n\nTo manage this and all other pending requests, visit: {{{group-requests.url}}}\n\nTo view {{requesting-user.name}}'s profile, visit: {{{profile.url}}}", 'buddypress' ),
|
3332 |
),
|
3333 |
'messages-unread' => array(
|
3334 |
/* translators: do not remove {} brackets or translate its contents. */
|
3336 |
/* translators: do not remove {} brackets or translate its contents. */
|
3337 |
'post_content' => __( "{{sender.name}} sent you a new message: "{{usersubject}}"\n\n<blockquote>"{{usermessage}}"</blockquote>\n\n<a href=\"{{{message.url}}}\">Go to the discussion</a> to reply or catch up on the conversation.", 'buddypress' ),
|
3338 |
/* translators: do not remove {} brackets or translate its contents. */
|
3339 |
+
'post_excerpt' => __( "{{sender.name}} sent you a new message: "{{usersubject}}"\n\n"{{usermessage}}"\n\nGo to the discussion to reply or catch up on the conversation: {{{message.url}}}", 'buddypress' ),
|
3340 |
),
|
3341 |
'settings-verify-email-change' => array(
|
3342 |
/* translators: do not remove {} brackets or translate its contents. */
|
3352 |
/* translators: do not remove {} brackets or translate its contents. */
|
3353 |
'post_content' => __( "Your membership request for the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>" has been accepted.", 'buddypress' ),
|
3354 |
/* translators: do not remove {} brackets or translate its contents. */
|
3355 |
+
'post_excerpt' => __( "Your membership request for the group "{{group.name}}" has been accepted.\n\nTo view the group, visit: {{{group.url}}}", 'buddypress' ),
|
3356 |
),
|
3357 |
'groups-membership-request-rejected' => array(
|
3358 |
/* translators: do not remove {} brackets or translate its contents. */
|
3360 |
/* translators: do not remove {} brackets or translate its contents. */
|
3361 |
'post_content' => __( "Your membership request for the group "<a href=\"{{{group.url}}}\">{{group.name}}</a>" has been rejected.", 'buddypress' ),
|
3362 |
/* translators: do not remove {} brackets or translate its contents. */
|
3363 |
+
'post_excerpt' => __( "Your membership request for the group "{{group.name}}" has been rejected.\n\nTo request membership again, visit: {{{group.url}}}", 'buddypress' ),
|
3364 |
),
|
3365 |
);
|
3366 |
}
|
3369 |
* Get a list of emails for populating email type taxonomy terms.
|
3370 |
*
|
3371 |
* @since 2.5.1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3372 |
*
|
3373 |
+
* @return array
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3374 |
*/
|
3375 |
+
function bp_email_get_type_schema() {
|
3376 |
+
return array(
|
3377 |
+
'activity-comment' => __( 'A member has replied to an activity update that the recipient posted.', 'buddypress' ),
|
3378 |
+
'activity-comment-author' => __( 'A member has replied to a comment on an activity update that the recipient posted.', 'buddypress' ),
|
3379 |
+
'activity-at-message' => __( 'Recipient was mentioned in an activity update.', 'buddypress' ),
|
3380 |
+
'groups-at-message' => __( 'Recipient was mentioned in a group activity update.', 'buddypress' ),
|
3381 |
+
'core-user-registration' => __( 'Recipient has registered for an account.', 'buddypress' ),
|
3382 |
+
'core-user-registration-with-blog' => __( 'Recipient has registered for an account and site.', 'buddypress' ),
|
3383 |
+
'friends-request' => __( 'A member has sent a friend request to the recipient.', 'buddypress' ),
|
3384 |
+
'friends-request-accepted' => __( 'Recipient has had a friend request accepted by a member.', 'buddypress' ),
|
3385 |
+
'groups-details-updated' => __( "A group's details were updated.", 'buddypress' ),
|
3386 |
+
'groups-invitation' => __( 'A member has sent a group invitation to the recipient.', 'buddypress' ),
|
3387 |
+
'groups-member-promoted' => __( "Recipient's status within a group has changed.", 'buddypress' ),
|
3388 |
+
'groups-membership-request' => __( 'A member has requested permission to join a group.', 'buddypress' ),
|
3389 |
+
'messages-unread' => __( 'Recipient has received a private message.', 'buddypress' ),
|
3390 |
+
'settings-verify-email-change' => __( 'Recipient has changed their email address.', 'buddypress' ),
|
3391 |
+
'groups-membership-request-accepted' => __( 'Recipient had requested to join a group, which was accepted.', 'buddypress' ),
|
3392 |
+
'groups-membership-request-rejected' => __( 'Recipient had requested to join a group, which was rejected.', 'buddypress' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
3393 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3394 |
}
|
@@ -12,10 +12,17 @@
|
|
12 |
// Exit if accessed directly.
|
13 |
defined( 'ABSPATH' ) || exit;
|
14 |
|
|
|
|
|
|
|
|
|
|
|
15 |
/**
|
16 |
-
* Set up the
|
17 |
*
|
18 |
* @since 1.6.0
|
|
|
|
|
19 |
*/
|
20 |
function bp_setup_core() {
|
21 |
buddypress()->core = new BP_Core();
|
12 |
// Exit if accessed directly.
|
13 |
defined( 'ABSPATH' ) || exit;
|
14 |
|
15 |
+
if ( ! buddypress()->do_autoload ) {
|
16 |
+
require dirname( __FILE__ ) . '/classes/class-bp-component.php';
|
17 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core.php';
|
18 |
+
}
|
19 |
+
|
20 |
/**
|
21 |
+
* Set up the BuddyPress Core component.
|
22 |
*
|
23 |
* @since 1.6.0
|
24 |
+
*
|
25 |
+
* @global BuddyPress $bp BuddyPress global settings object.
|
26 |
*/
|
27 |
function bp_setup_core() {
|
28 |
buddypress()->core = new BP_Core();
|
@@ -53,7 +53,7 @@ function bp_core_check_for_flood( $user_id = 0 ) {
|
|
53 |
* @param string $title The title of the content.
|
54 |
* @param string $content The content being posted.
|
55 |
* @param string $error_type The error type to return. Either 'bool' or 'wp_error'.
|
56 |
-
* @return bool
|
57 |
*/
|
58 |
function bp_core_check_for_moderation( $user_id = 0, $title = '', $content = '', $error_type = 'bool' ) {
|
59 |
|
@@ -132,7 +132,7 @@ function bp_core_check_for_moderation( $user_id = 0, $title = '', $content = '',
|
|
132 |
if ( 'bool' === $error_type ) {
|
133 |
return false;
|
134 |
} else {
|
135 |
-
return new WP_Error( 'bp_moderation_too_many_links', __( 'You have
|
136 |
}
|
137 |
}
|
138 |
}
|
@@ -173,7 +173,7 @@ function bp_core_check_for_moderation( $user_id = 0, $title = '', $content = '',
|
|
173 |
if ( 'bool' === $error_type ) {
|
174 |
return false;
|
175 |
} else {
|
176 |
-
return new WP_Error( 'bp_moderation_word_match', _x( 'You have
|
177 |
}
|
178 |
}
|
179 |
}
|
@@ -196,7 +196,7 @@ function bp_core_check_for_moderation( $user_id = 0, $title = '', $content = '',
|
|
196 |
* @param string $title The title of the content.
|
197 |
* @param string $content The content being posted.
|
198 |
* @param string $error_type The error type to return. Either 'bool' or 'wp_error'.
|
199 |
-
* @return bool
|
200 |
*/
|
201 |
function bp_core_check_for_blacklist( $user_id = 0, $title = '', $content = '', $error_type = 'bool' ) {
|
202 |
|
@@ -286,7 +286,7 @@ function bp_core_check_for_blacklist( $user_id = 0, $title = '', $content = '',
|
|
286 |
if ( 'bool' === $error_type ) {
|
287 |
return false;
|
288 |
} else {
|
289 |
-
return new WP_Error( 'bp_moderation_blacklist_match', _x( 'You have
|
290 |
}
|
291 |
}
|
292 |
}
|
53 |
* @param string $title The title of the content.
|
54 |
* @param string $content The content being posted.
|
55 |
* @param string $error_type The error type to return. Either 'bool' or 'wp_error'.
|
56 |
+
* @return bool True if test is passed, false if fail.
|
57 |
*/
|
58 |
function bp_core_check_for_moderation( $user_id = 0, $title = '', $content = '', $error_type = 'bool' ) {
|
59 |
|
132 |
if ( 'bool' === $error_type ) {
|
133 |
return false;
|
134 |
} else {
|
135 |
+
return new WP_Error( 'bp_moderation_too_many_links', __( 'You have inputted too many links', 'buddypress' ) );
|
136 |
}
|
137 |
}
|
138 |
}
|
173 |
if ( 'bool' === $error_type ) {
|
174 |
return false;
|
175 |
} else {
|
176 |
+
return new WP_Error( 'bp_moderation_word_match', _x( 'You have inputted an inappropriate word.', 'Comment moderation', 'buddypress' ) );
|
177 |
}
|
178 |
}
|
179 |
}
|
196 |
* @param string $title The title of the content.
|
197 |
* @param string $content The content being posted.
|
198 |
* @param string $error_type The error type to return. Either 'bool' or 'wp_error'.
|
199 |
+
* @return bool True if test is passed, false if fail.
|
200 |
*/
|
201 |
function bp_core_check_for_blacklist( $user_id = 0, $title = '', $content = '', $error_type = 'bool' ) {
|
202 |
|
286 |
if ( 'bool' === $error_type ) {
|
287 |
return false;
|
288 |
} else {
|
289 |
+
return new WP_Error( 'bp_moderation_blacklist_match', _x( 'You have inputted an inappropriate word.', 'Comment blacklist', 'buddypress' ) );
|
290 |
}
|
291 |
}
|
292 |
}
|
@@ -13,9 +13,6 @@ defined( 'ABSPATH' ) || exit;
|
|
13 |
/**
|
14 |
* Get the default site options and their values.
|
15 |
*
|
16 |
-
* Default values should not be set by calls to `get_option()` or `get_site_option()` due to
|
17 |
-
* these causing load order problems with `bp_core_clear_root_options_cache()`; see #BP7227.
|
18 |
-
*
|
19 |
* @since 1.6.0
|
20 |
*
|
21 |
* @return array Filtered option names and values.
|
@@ -76,9 +73,6 @@ function bp_get_default_options() {
|
|
76 |
// The ID for the current theme package.
|
77 |
'_bp_theme_package_id' => 'legacy',
|
78 |
|
79 |
-
// Email unsubscribe salt.
|
80 |
-
'bp-emails-unsubscribe-salt' => '',
|
81 |
-
|
82 |
/* Groups ************************************************************/
|
83 |
|
84 |
// @todo Move this into the groups component
|
@@ -100,14 +94,11 @@ function bp_get_default_options() {
|
|
100 |
// Force the BuddyBar.
|
101 |
'_bp_force_buddybar' => false,
|
102 |
|
103 |
-
/* Legacy *********************************************/
|
104 |
|
105 |
-
//
|
106 |
'_bp_retain_bp_default' => false,
|
107 |
|
108 |
-
// Ignore deprecated code.
|
109 |
-
'_bp_ignore_deprecated_code' => true,
|
110 |
-
|
111 |
/* Widgets **************************************************/
|
112 |
'widget_bp_core_login_widget' => false,
|
113 |
'widget_bp_core_members_widget' => false,
|
@@ -134,6 +125,7 @@ function bp_get_default_options() {
|
|
134 |
* Non-destructive, so existing settings will not be overridden.
|
135 |
*
|
136 |
* @since 1.6.0
|
|
|
137 |
*/
|
138 |
function bp_add_options() {
|
139 |
|
@@ -164,6 +156,7 @@ function bp_add_options() {
|
|
164 |
* Currently unused.
|
165 |
*
|
166 |
* @since 1.6.0
|
|
|
167 |
*/
|
168 |
function bp_delete_options() {
|
169 |
|
@@ -188,7 +181,10 @@ function bp_delete_options() {
|
|
188 |
/**
|
189 |
* Add filters to each BP option, allowing them to be overloaded from inside the $bp->options array.
|
190 |
*
|
|
|
|
|
191 |
* @since 1.6.0
|
|
|
192 |
*/
|
193 |
function bp_setup_option_filters() {
|
194 |
|
@@ -213,6 +209,8 @@ function bp_setup_option_filters() {
|
|
213 |
/**
|
214 |
* Filter default options and allow them to be overloaded from inside the $bp->options array.
|
215 |
*
|
|
|
|
|
216 |
* @since 1.6.0
|
217 |
*
|
218 |
* @param bool $value Optional. Default value false.
|
@@ -221,8 +219,11 @@ function bp_setup_option_filters() {
|
|
221 |
function bp_pre_get_option( $value = false ) {
|
222 |
$bp = buddypress();
|
223 |
|
|
|
|
|
|
|
224 |
// Remove the filter prefix.
|
225 |
-
$option = str_replace( 'pre_option_', '',
|
226 |
|
227 |
// Check the options global for preset value.
|
228 |
if ( ! empty( $bp->options[ $option ] ) ) {
|
@@ -241,7 +242,7 @@ function bp_pre_get_option( $value = false ) {
|
|
241 |
*
|
242 |
* The 'bp_get_option' filter is primarily for backward-compatibility.
|
243 |
*
|
244 |
-
* @since 1.
|
245 |
*
|
246 |
* @param string $option_name The option to be retrieved.
|
247 |
* @param string $default Optional. Default value to be returned if the option
|
@@ -254,7 +255,7 @@ function bp_get_option( $option_name, $default = '' ) {
|
|
254 |
/**
|
255 |
* Filters the option value for the requested option.
|
256 |
*
|
257 |
-
* @since 1.
|
258 |
*
|
259 |
* @param mixed $value The value for the option.
|
260 |
*/
|
@@ -287,7 +288,7 @@ function bp_add_option( $option_name, $value ) {
|
|
287 |
* @since 1.5.0
|
288 |
*
|
289 |
* @param string $option_name The option key to be set.
|
290 |
-
* @param
|
291 |
* @return bool True on success, false on failure.
|
292 |
*/
|
293 |
function bp_update_option( $option_name, $value ) {
|
@@ -410,16 +411,61 @@ function bp_core_get_root_options() {
|
|
410 |
$root_blog_options_meta = array_merge( $root_blog_options_meta, $network_options_meta );
|
411 |
}
|
412 |
|
413 |
-
//
|
414 |
-
|
415 |
-
|
416 |
-
|
|
|
|
|
|
|
|
|
417 |
|
418 |
-
|
419 |
-
|
420 |
|
421 |
-
|
422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
|
424 |
wp_cache_set( 'root_blog_options', $root_blog_options_meta, 'bp' );
|
425 |
}
|
@@ -443,7 +489,7 @@ function bp_core_get_root_options() {
|
|
443 |
*
|
444 |
* @since 2.3.0
|
445 |
*
|
446 |
-
* @param
|
447 |
* @return mixed Value, if found.
|
448 |
*/
|
449 |
function bp_core_get_root_option( $option ) {
|
@@ -708,6 +754,7 @@ function bp_group_forums_root_id( $default = '0' ) {
|
|
708 |
*
|
709 |
* @since 1.6.0
|
710 |
*
|
|
|
711 |
* @param bool|string $default Optional. Default: '0'.
|
712 |
* @return int The ID of the group forums root forum.
|
713 |
*/
|
13 |
/**
|
14 |
* Get the default site options and their values.
|
15 |
*
|
|
|
|
|
|
|
16 |
* @since 1.6.0
|
17 |
*
|
18 |
* @return array Filtered option names and values.
|
73 |
// The ID for the current theme package.
|
74 |
'_bp_theme_package_id' => 'legacy',
|
75 |
|
|
|
|
|
|
|
76 |
/* Groups ************************************************************/
|
77 |
|
78 |
// @todo Move this into the groups component
|
94 |
// Force the BuddyBar.
|
95 |
'_bp_force_buddybar' => false,
|
96 |
|
97 |
+
/* Legacy theme *********************************************/
|
98 |
|
99 |
+
// Whether to register the bp-default themes directory.
|
100 |
'_bp_retain_bp_default' => false,
|
101 |
|
|
|
|
|
|
|
102 |
/* Widgets **************************************************/
|
103 |
'widget_bp_core_login_widget' => false,
|
104 |
'widget_bp_core_members_widget' => false,
|
125 |
* Non-destructive, so existing settings will not be overridden.
|
126 |
*
|
127 |
* @since 1.6.0
|
128 |
+
*
|
129 |
*/
|
130 |
function bp_add_options() {
|
131 |
|
156 |
* Currently unused.
|
157 |
*
|
158 |
* @since 1.6.0
|
159 |
+
*
|
160 |
*/
|
161 |
function bp_delete_options() {
|
162 |
|
181 |
/**
|
182 |
* Add filters to each BP option, allowing them to be overloaded from inside the $bp->options array.
|
183 |
*
|
184 |
+
* Currently unused.
|
185 |
+
*
|
186 |
* @since 1.6.0
|
187 |
+
*
|
188 |
*/
|
189 |
function bp_setup_option_filters() {
|
190 |
|
209 |
/**
|
210 |
* Filter default options and allow them to be overloaded from inside the $bp->options array.
|
211 |
*
|
212 |
+
* Currently unused.
|
213 |
+
*
|
214 |
* @since 1.6.0
|
215 |
*
|
216 |
* @param bool $value Optional. Default value false.
|
219 |
function bp_pre_get_option( $value = false ) {
|
220 |
$bp = buddypress();
|
221 |
|
222 |
+
// Get the name of the current filter so we can manipulate it.
|
223 |
+
$filter = current_filter();
|
224 |
+
|
225 |
// Remove the filter prefix.
|
226 |
+
$option = str_replace( 'pre_option_', '', $filter );
|
227 |
|
228 |
// Check the options global for preset value.
|
229 |
if ( ! empty( $bp->options[ $option ] ) ) {
|
242 |
*
|
243 |
* The 'bp_get_option' filter is primarily for backward-compatibility.
|
244 |
*
|
245 |
+
* @since 1.2.0
|
246 |
*
|
247 |
* @param string $option_name The option to be retrieved.
|
248 |
* @param string $default Optional. Default value to be returned if the option
|
255 |
/**
|
256 |
* Filters the option value for the requested option.
|
257 |
*
|
258 |
+
* @since 1.2.0
|
259 |
*
|
260 |
* @param mixed $value The value for the option.
|
261 |
*/
|
288 |
* @since 1.5.0
|
289 |
*
|
290 |
* @param string $option_name The option key to be set.
|
291 |
+
* @param string $value The value to be set.
|
292 |
* @return bool True on success, false on failure.
|
293 |
*/
|
294 |
function bp_update_option( $option_name, $value ) {
|
411 |
$root_blog_options_meta = array_merge( $root_blog_options_meta, $network_options_meta );
|
412 |
}
|
413 |
|
414 |
+
// Missing some options, so do some one-time fixing.
|
415 |
+
if ( empty( $root_blog_options_meta ) || ( count( $root_blog_options_meta ) < count( $root_blog_option_keys ) ) ) {
|
416 |
+
|
417 |
+
// Get a list of the keys that are already populated.
|
418 |
+
$existing_options = array();
|
419 |
+
foreach( $root_blog_options_meta as $already_option ) {
|
420 |
+
$existing_options[$already_option->name] = $already_option->value;
|
421 |
+
}
|
422 |
|
423 |
+
// Unset the query - We'll be resetting it soon.
|
424 |
+
unset( $root_blog_options_meta );
|
425 |
|
426 |
+
// Loop through options.
|
427 |
+
foreach ( $root_blog_options as $old_meta_key => $old_meta_default ) {
|
428 |
+
|
429 |
+
if ( isset( $existing_options[$old_meta_key] ) ) {
|
430 |
+
continue;
|
431 |
+
}
|
432 |
+
|
433 |
+
// Get old site option.
|
434 |
+
if ( is_multisite() ) {
|
435 |
+
$old_meta_value = get_site_option( $old_meta_key );
|
436 |
+
}
|
437 |
+
|
438 |
+
// No site option so look in root blog.
|
439 |
+
if ( empty( $old_meta_value ) ) {
|
440 |
+
$old_meta_value = bp_get_option( $old_meta_key, $old_meta_default );
|
441 |
+
}
|
442 |
+
|
443 |
+
// Update the root blog option.
|
444 |
+
bp_update_option( $old_meta_key, $old_meta_value );
|
445 |
+
|
446 |
+
// Update the global array.
|
447 |
+
$root_blog_options_meta[$old_meta_key] = $old_meta_value;
|
448 |
+
|
449 |
+
// Clear out the value for the next time around.
|
450 |
+
unset( $old_meta_value );
|
451 |
+
}
|
452 |
+
|
453 |
+
$root_blog_options_meta = array_merge( $root_blog_options_meta, $existing_options );
|
454 |
+
unset( $existing_options );
|
455 |
+
|
456 |
+
// We're all matched up.
|
457 |
+
} else {
|
458 |
+
// Loop through our results and make them usable.
|
459 |
+
foreach ( $root_blog_options_meta as $root_blog_option ) {
|
460 |
+
$root_blog_options[$root_blog_option->name] = $root_blog_option->value;
|
461 |
+
}
|
462 |
+
|
463 |
+
// Copy the options no the return val.
|
464 |
+
$root_blog_options_meta = $root_blog_options;
|
465 |
+
|
466 |
+
// Clean up our temporary copy.
|
467 |
+
unset( $root_blog_options );
|
468 |
+
}
|
469 |
|
470 |
wp_cache_set( 'root_blog_options', $root_blog_options_meta, 'bp' );
|
471 |
}
|
489 |
*
|
490 |
* @since 2.3.0
|
491 |
*
|
492 |
+
* @param string $option Name of the option key.
|
493 |
* @return mixed Value, if found.
|
494 |
*/
|
495 |
function bp_core_get_root_option( $option ) {
|
754 |
*
|
755 |
* @since 1.6.0
|
756 |
*
|
757 |
+
*
|
758 |
* @param bool|string $default Optional. Default: '0'.
|
759 |
* @return int The ID of the group forums root forum.
|
760 |
*/
|
@@ -21,7 +21,7 @@ defined( 'ABSPATH' ) || exit;
|
|
21 |
*/
|
22 |
function bp_register_default_taxonomies() {
|
23 |
// Member Type.
|
24 |
-
register_taxonomy(
|
25 |
'public' => false,
|
26 |
) );
|
27 |
|
@@ -51,7 +51,6 @@ add_action( 'bp_register_taxonomies', 'bp_register_default_taxonomies' );
|
|
51 |
*
|
52 |
* @since 2.6.0
|
53 |
*
|
54 |
-
* @param string $taxonomy Taxonomy slug to check for.
|
55 |
* @return int
|
56 |
*/
|
57 |
function bp_get_taxonomy_term_site_id( $taxonomy = '' ) {
|
@@ -62,8 +61,8 @@ function bp_get_taxonomy_term_site_id( $taxonomy = '' ) {
|
|
62 |
*
|
63 |
* @since 2.6.0
|
64 |
*
|
65 |
-
* @param int $site_id
|
66 |
-
* @param string $taxonomy
|
67 |
*/
|
68 |
return (int) apply_filters( 'bp_get_taxonomy_term_site_id', $site_id, $taxonomy );
|
69 |
}
|
@@ -91,25 +90,13 @@ function bp_set_object_terms( $object_id, $terms, $taxonomy, $append = false ) {
|
|
91 |
$switched = true;
|
92 |
}
|
93 |
|
94 |
-
$
|
95 |
|
96 |
-
if ( $switched ) {
|
97 |
restore_current_blog();
|
98 |
}
|
99 |
|
100 |
-
|
101 |
-
* Fires when taxonomy terms have been set on BuddyPress objects.
|
102 |
-
*
|
103 |
-
* @since 2.7.0
|
104 |
-
*
|
105 |
-
* @param int $object_id Object ID.
|
106 |
-
* @param array $terms Term or terms to remove.
|
107 |
-
* @param array $tt_ids Array of term taxonomy IDs.
|
108 |
-
* @param string $taxonomy Taxonomy name.
|
109 |
-
*/
|
110 |
-
do_action( 'bp_set_object_terms', $object_id, $terms, $tt_ids, $taxonomy );
|
111 |
-
|
112 |
-
return $tt_ids;
|
113 |
}
|
114 |
|
115 |
/**
|
@@ -144,7 +131,7 @@ function bp_get_object_terms( $object_ids, $taxonomies, $args = array() ) {
|
|
144 |
$site_terms = wp_get_object_terms( $object_ids, $site_taxonomies, $args );
|
145 |
$retval = array_merge( $retval, $site_terms );
|
146 |
|
147 |
-
if ( $switched ) {
|
148 |
restore_current_blog();
|
149 |
}
|
150 |
}
|
@@ -176,104 +163,9 @@ function bp_remove_object_terms( $object_id, $terms, $taxonomy ) {
|
|
176 |
|
177 |
$retval = wp_remove_object_terms( $object_id, $terms, $taxonomy );
|
178 |
|
179 |
-
if ( $switched ) {
|
180 |
restore_current_blog();
|
181 |
}
|
182 |
|
183 |
-
/**
|
184 |
-
* Fires when taxonomy terms have been removed from BuddyPress objects.
|
185 |
-
*
|
186 |
-
* @since 2.7.0
|
187 |
-
*
|
188 |
-
* @param int $object_id Object ID.
|
189 |
-
* @param array $terms Term or terms to remove.
|
190 |
-
* @param string $taxonomy Taxonomy name.
|
191 |
-
*/
|
192 |
-
do_action( 'bp_remove_object_terms', $object_id, $terms, $taxonomy );
|
193 |
-
|
194 |
return $retval;
|
195 |
}
|
196 |
-
|
197 |
-
/**
|
198 |
-
* Retrieve IDs of objects in valid taxonomies and terms for BuddyPress-related taxonomies.
|
199 |
-
*
|
200 |
-
* Note that object IDs are from the `bp_get_taxonomy_term_site_id()`, which on some
|
201 |
-
* multisite configurations may not be the same as the current site.
|
202 |
-
*
|
203 |
-
* @since 2.7.0
|
204 |
-
*
|
205 |
-
* @see get_objects_in_term() for a full description of function and parameters.
|
206 |
-
*
|
207 |
-
* @param int|array $term_ids Term id or array of term ids of terms that will be used.
|
208 |
-
* @param string|array $taxonomies String of taxonomy name or Array of string values of taxonomy names.
|
209 |
-
* @param array|string $args Change the order of the object_ids, either ASC or DESC.
|
210 |
-
*
|
211 |
-
* @return WP_Error|array If the taxonomy does not exist, then WP_Error will be returned. On success,
|
212 |
-
* the array can be empty, meaning that there are no $object_ids found. When
|
213 |
-
* object IDs are found, an array of those IDs will be returned.
|
214 |
-
*/
|
215 |
-
function bp_get_objects_in_term( $term_ids, $taxonomies, $args = array() ) {
|
216 |
-
// Different taxonomies may be stored on different sites.
|
217 |
-
$taxonomy_site_map = array();
|
218 |
-
foreach ( (array) $taxonomies as $taxonomy ) {
|
219 |
-
$taxonomy_site_id = bp_get_taxonomy_term_site_id( $taxonomy );
|
220 |
-
$taxonomy_site_map[ $taxonomy_site_id ][] = $taxonomy;
|
221 |
-
}
|
222 |
-
|
223 |
-
$retval = array();
|
224 |
-
foreach ( $taxonomy_site_map as $taxonomy_site_id => $site_taxonomies ) {
|
225 |
-
$switched = false;
|
226 |
-
if ( $taxonomy_site_id !== get_current_blog_id() ) {
|
227 |
-
switch_to_blog( $taxonomy_site_id );
|
228 |
-
bp_register_taxonomies();
|
229 |
-
$switched = true;
|
230 |
-
}
|
231 |
-
|
232 |
-
$site_objects = get_objects_in_term( $term_ids, $site_taxonomies, $args );
|
233 |
-
$retval = array_merge( $retval, $site_objects );
|
234 |
-
|
235 |
-
if ( $switched ) {
|
236 |
-
restore_current_blog();
|
237 |
-
}
|
238 |
-
}
|
239 |
-
|
240 |
-
return $retval;
|
241 |
-
}
|
242 |
-
|
243 |
-
/**
|
244 |
-
* Get term data for terms in BuddyPress taxonomies.
|
245 |
-
*
|
246 |
-
* Note that term data is from the `bp_get_taxonomy_term_site_id()`, which on some
|
247 |
-
* multisite configurations may not be the same as the current site.
|
248 |
-
*
|
249 |
-
* @since 2.7.0
|
250 |
-
*
|
251 |
-
* @see get_term_by() for a full description of function and parameters.
|
252 |
-
*
|
253 |
-
* @param string $field Either 'slug', 'name', 'id' (term_id), or 'term_taxonomy_id'
|
254 |
-
* @param string|int $value Search for this term value
|
255 |
-
* @param string $taxonomy Taxonomy name. Optional, if `$field` is 'term_taxonomy_id'.
|
256 |
-
* @param string $output Constant OBJECT, ARRAY_A, or ARRAY_N
|
257 |
-
* @param string $filter Optional, default is raw or no WordPress defined filter will applied.
|
258 |
-
*
|
259 |
-
* @return WP_Term|bool WP_Term instance on success. Will return false if `$taxonomy` does not exist
|
260 |
-
* or `$term` was not found.
|
261 |
-
*/
|
262 |
-
function bp_get_term_by( $field, $value, $taxonomy = '', $output = OBJECT, $filter = 'raw' ) {
|
263 |
-
$site_id = bp_get_taxonomy_term_site_id( $taxonomy );
|
264 |
-
|
265 |
-
$switched = false;
|
266 |
-
if ( $site_id !== get_current_blog_id() ) {
|
267 |
-
switch_to_blog( $site_id );
|
268 |
-
bp_register_taxonomies();
|
269 |
-
$switched = true;
|
270 |
-
}
|
271 |
-
|
272 |
-
$term = get_term_by( $field, $value, $taxonomy, $output, $filter );
|
273 |
-
|
274 |
-
if ( $switched ) {
|
275 |
-
restore_current_blog();
|
276 |
-
}
|
277 |
-
|
278 |
-
return $term;
|
279 |
-
}
|
21 |
*/
|
22 |
function bp_register_default_taxonomies() {
|
23 |
// Member Type.
|
24 |
+
register_taxonomy( 'bp_member_type', 'user', array(
|
25 |
'public' => false,
|
26 |
) );
|
27 |
|
51 |
*
|
52 |
* @since 2.6.0
|
53 |
*
|
|
|
54 |
* @return int
|
55 |
*/
|
56 |
function bp_get_taxonomy_term_site_id( $taxonomy = '' ) {
|
61 |
*
|
62 |
* @since 2.6.0
|
63 |
*
|
64 |
+
* @param int $site_id
|
65 |
+
* @param string $taxonomy
|
66 |
*/
|
67 |
return (int) apply_filters( 'bp_get_taxonomy_term_site_id', $site_id, $taxonomy );
|
68 |
}
|
90 |
$switched = true;
|
91 |
}
|
92 |
|
93 |
+
$retval = wp_set_object_terms( $object_id, $terms, $taxonomy, $append );
|
94 |
|
95 |
+
if ( ! $switched ) {
|
96 |
restore_current_blog();
|
97 |
}
|
98 |
|
99 |
+
return $retval;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
101 |
|
102 |
/**
|
131 |
$site_terms = wp_get_object_terms( $object_ids, $site_taxonomies, $args );
|
132 |
$retval = array_merge( $retval, $site_terms );
|
133 |
|
134 |
+
if ( ! $switched ) {
|
135 |
restore_current_blog();
|
136 |
}
|
137 |
}
|
163 |
|
164 |
$retval = wp_remove_object_terms( $object_id, $terms, $taxonomy );
|
165 |
|
166 |
+
if ( ! $switched ) {
|
167 |
restore_current_blog();
|
168 |
}
|
169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
return $retval;
|
171 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -23,7 +23,7 @@ defined( 'ABSPATH' ) || exit;
|
|
23 |
* eg 'friends' for 'friends.php'.
|
24 |
* @param string|null $name Optional. Template part name. Used to generate
|
25 |
* secondary filenames, eg 'personal' for 'activity-personal.php'.
|
26 |
-
* @return
|
27 |
*/
|
28 |
function bp_get_template_part( $slug, $name = null ) {
|
29 |
|
@@ -70,10 +70,6 @@ function bp_get_template_part( $slug, $name = null ) {
|
|
70 |
* @since 2.6.0
|
71 |
*
|
72 |
* @see bp_get_template_part() for full documentation.
|
73 |
-
*
|
74 |
-
* @param string $slug Template slug.
|
75 |
-
* @param string|null $name Template name.
|
76 |
-
* @return false|string
|
77 |
*/
|
78 |
function bp_get_asset_template_part( $slug, $name = null ) {
|
79 |
return bp_get_template_part( "assets/{$slug}", $name );
|
@@ -97,11 +93,6 @@ function bp_get_asset_template_part( $slug, $name = null ) {
|
|
97 |
*/
|
98 |
function bp_locate_template( $template_names, $load = false, $require_once = true ) {
|
99 |
|
100 |
-
// Bail when there are no templates to locate
|
101 |
-
if ( empty( $template_names ) ) {
|
102 |
-
return false;
|
103 |
-
}
|
104 |
-
|
105 |
// No file found yet.
|
106 |
$located = false;
|
107 |
$template_locations = bp_get_template_stack();
|
@@ -165,9 +156,9 @@ function bp_locate_template( $template_names, $load = false, $require_once = tru
|
|
165 |
*
|
166 |
* @since 2.6.0
|
167 |
*
|
168 |
-
* @param
|
169 |
-
* @return
|
170 |
-
*
|
171 |
*/
|
172 |
function bp_locate_template_asset( $filename ) {
|
173 |
// Ensure assets can be located when running from /src/.
|
@@ -187,12 +178,12 @@ function bp_locate_template_asset( $filename ) {
|
|
187 |
|
188 |
$find = array(
|
189 |
get_theme_root(),
|
190 |
-
|
191 |
);
|
192 |
|
193 |
$replace = array(
|
194 |
get_theme_root_uri(),
|
195 |
-
|
196 |
);
|
197 |
|
198 |
// Make sure URI path is relative to site URL.
|
@@ -605,7 +596,7 @@ function bp_load_theme_functions() {
|
|
605 |
* @since 1.7.0
|
606 |
* @since 2.4.0 Added singular.php to stack
|
607 |
*
|
608 |
-
* @return
|
609 |
*/
|
610 |
function bp_get_theme_compat_templates() {
|
611 |
return bp_get_query_template( 'buddypress', array(
|
23 |
* eg 'friends' for 'friends.php'.
|
24 |
* @param string|null $name Optional. Template part name. Used to generate
|
25 |
* secondary filenames, eg 'personal' for 'activity-personal.php'.
|
26 |
+
* @return string Path to located template. See {@link bp_locate_template()}.
|
27 |
*/
|
28 |
function bp_get_template_part( $slug, $name = null ) {
|
29 |
|
70 |
* @since 2.6.0
|
71 |
*
|
72 |
* @see bp_get_template_part() for full documentation.
|
|
|
|
|
|
|
|
|
73 |
*/
|
74 |
function bp_get_asset_template_part( $slug, $name = null ) {
|
75 |
return bp_get_template_part( "assets/{$slug}", $name );
|
93 |
*/
|
94 |
function bp_locate_template( $template_names, $load = false, $require_once = true ) {
|
95 |
|
|
|
|
|
|
|
|
|
|
|
96 |
// No file found yet.
|
97 |
$located = false;
|
98 |
$template_locations = bp_get_template_stack();
|
156 |
*
|
157 |
* @since 2.6.0
|
158 |
*
|
159 |
+
* @param string Relative filename to search for.
|
160 |
+
* @return array|bool Array of asset data if one is located (includes absolute filepath and URI).
|
161 |
+
* Boolean false on failure.
|
162 |
*/
|
163 |
function bp_locate_template_asset( $filename ) {
|
164 |
// Ensure assets can be located when running from /src/.
|
178 |
|
179 |
$find = array(
|
180 |
get_theme_root(),
|
181 |
+
buddypress()->plugin_dir
|
182 |
);
|
183 |
|
184 |
$replace = array(
|
185 |
get_theme_root_uri(),
|
186 |
+
buddypress()->plugin_url
|
187 |
);
|
188 |
|
189 |
// Make sure URI path is relative to site URL.
|
596 |
* @since 1.7.0
|
597 |
* @since 2.4.0 Added singular.php to stack
|
598 |
*
|
599 |
+
* @return array Array of possible root level wrapper template files.
|
600 |
*/
|
601 |
function bp_get_theme_compat_templates() {
|
602 |
return bp_get_query_template( 'buddypress', array(
|
@@ -584,71 +584,6 @@ function bp_search_form_type_select() {
|
|
584 |
return apply_filters( 'bp_search_form_type_select', $selection_box );
|
585 |
}
|
586 |
|
587 |
-
/**
|
588 |
-
* Output the 'name' attribute for search form input element.
|
589 |
-
*
|
590 |
-
* @since 2.7.0
|
591 |
-
*
|
592 |
-
* @param string $component See bp_get_search_input_name().
|
593 |
-
*/
|
594 |
-
function bp_search_input_name( $component = '' ) {
|
595 |
-
echo esc_attr( bp_get_search_input_name( $component ) );
|
596 |
-
}
|
597 |
-
|
598 |
-
/**
|
599 |
-
* Get the 'name' attribute for the search form input element.
|
600 |
-
*
|
601 |
-
* @since 2.7.0
|
602 |
-
*
|
603 |
-
* @param string $component Component name. Defaults to current component.
|
604 |
-
* @return string Text for the 'name' attribute.
|
605 |
-
*/
|
606 |
-
function bp_get_search_input_name( $component = '' ) {
|
607 |
-
if ( ! $component ) {
|
608 |
-
$component = bp_current_component();
|
609 |
-
}
|
610 |
-
|
611 |
-
$bp = buddypress();
|
612 |
-
|
613 |
-
$name = '';
|
614 |
-
if ( isset( $bp->{$component}->id ) ) {
|
615 |
-
$name = $bp->{$component}->id . '_search';
|
616 |
-
}
|
617 |
-
|
618 |
-
return $name;
|
619 |
-
}
|
620 |
-
|
621 |
-
/**
|
622 |
-
* Output the placeholder text for the search box for a given component.
|
623 |
-
*
|
624 |
-
* @since 2.7.0
|
625 |
-
*
|
626 |
-
* @param string $component See bp_get_search_placeholder().
|
627 |
-
*/
|
628 |
-
function bp_search_placeholder( $component = '' ) {
|
629 |
-
echo esc_attr( bp_get_search_placeholder( $component ) );
|
630 |
-
}
|
631 |
-
|
632 |
-
/**
|
633 |
-
* Get the placeholder text for the search box for a given component.
|
634 |
-
*
|
635 |
-
* @since 2.7.0
|
636 |
-
*
|
637 |
-
* @param string $component Component name. Defaults to current component.
|
638 |
-
* @return string Placeholder text for the search field.
|
639 |
-
*/
|
640 |
-
function bp_get_search_placeholder( $component = '' ) {
|
641 |
-
$query_arg = bp_core_get_component_search_query_arg( $component );
|
642 |
-
|
643 |
-
if ( $query_arg && ! empty( $_REQUEST[ $query_arg ] ) ) {
|
644 |
-
$placeholder = wp_unslash( $_REQUEST[ $query_arg ] );
|
645 |
-
} else {
|
646 |
-
$placeholder = bp_get_search_default_text( $component );
|
647 |
-
}
|
648 |
-
|
649 |
-
return $placeholder;
|
650 |
-
}
|
651 |
-
|
652 |
/**
|
653 |
* Output the default text for the search box for a given component.
|
654 |
*
|
@@ -2464,7 +2399,7 @@ function bp_is_user_change_avatar() {
|
|
2464 |
*
|
2465 |
* Eg http://example.com/members/joe/profile/change-cover-image/ (or a subpage thereof).
|
2466 |
*
|
2467 |
-
* @since
|
2468 |
*
|
2469 |
* @return bool True if the current page is a user's profile edit cover image page.
|
2470 |
*/
|
@@ -2683,10 +2618,10 @@ function bp_is_user_settings_profile() {
|
|
2683 |
*
|
2684 |
* @since 2.0.0
|
2685 |
*
|
2686 |
-
* @return
|
2687 |
*/
|
2688 |
function bp_is_groups_directory() {
|
2689 |
-
if ( bp_is_groups_component() && !
|
2690 |
return true;
|
2691 |
}
|
2692 |
|
@@ -2785,7 +2720,7 @@ function bp_is_group_forum() {
|
|
2785 |
*
|
2786 |
* @since 1.2.1
|
2787 |
*
|
2788 |
-
* @return
|
2789 |
*/
|
2790 |
function bp_is_group_activity() {
|
2791 |
$retval = false;
|
@@ -2930,7 +2865,7 @@ function bp_is_create_blog() {
|
|
2930 |
*
|
2931 |
* @since 2.0.0
|
2932 |
*
|
2933 |
-
* @return
|
2934 |
*/
|
2935 |
function bp_is_blogs_directory() {
|
2936 |
if ( is_multisite() && bp_is_blogs_component() && ! bp_current_action() ) {
|
@@ -3219,7 +3154,7 @@ function bp_get_title_parts( $seplocation = 'right' ) {
|
|
3219 |
*
|
3220 |
* @since 2.4.3
|
3221 |
*
|
3222 |
-
* @param
|
3223 |
* @return array
|
3224 |
*/
|
3225 |
return (array) apply_filters( 'bp_get_title_parts', $bp_title_parts );
|
@@ -3298,13 +3233,6 @@ function bp_the_body_class() {
|
|
3298 |
|
3299 |
if ( bp_is_user() ) {
|
3300 |
$bp_classes[] = 'bp-user';
|
3301 |
-
|
3302 |
-
// Add current user member types.
|
3303 |
-
if ( $member_types = bp_get_member_type( bp_displayed_user_id(), false ) ) {
|
3304 |
-
foreach( $member_types as $member_type ) {
|
3305 |
-
$bp_classes[] = sprintf( 'member-type-%s', esc_attr( $member_type ) );
|
3306 |
-
}
|
3307 |
-
}
|
3308 |
}
|
3309 |
|
3310 |
if ( ! bp_is_directory() ) {
|
@@ -3319,10 +3247,6 @@ function bp_the_body_class() {
|
|
3319 |
if ( bp_is_user_activity() ) {
|
3320 |
$bp_classes[] = 'my-activity';
|
3321 |
}
|
3322 |
-
} else {
|
3323 |
-
if ( bp_get_current_member_type() ) {
|
3324 |
-
$bp_classes[] = 'type';
|
3325 |
-
}
|
3326 |
}
|
3327 |
|
3328 |
if ( bp_is_my_profile() ) {
|
@@ -3395,13 +3319,6 @@ function bp_the_body_class() {
|
|
3395 |
|
3396 |
if ( bp_is_group() ) {
|
3397 |
$bp_classes[] = 'group-' . groups_get_current_group()->slug;
|
3398 |
-
|
3399 |
-
// Add current group types.
|
3400 |
-
if ( $group_types = bp_groups_get_group_type( bp_get_current_group_id(), false ) ) {
|
3401 |
-
foreach ( $group_types as $group_type ) {
|
3402 |
-
$bp_classes[] = sprintf( 'group-type-%s', esc_attr( $group_type ) );
|
3403 |
-
}
|
3404 |
-
}
|
3405 |
}
|
3406 |
|
3407 |
if ( bp_is_group_leave() ) {
|
@@ -3470,9 +3387,6 @@ function bp_the_body_class() {
|
|
3470 |
$bp_classes[] = 'buddypress';
|
3471 |
}
|
3472 |
|
3473 |
-
// Add the theme name/id to the body classes
|
3474 |
-
$bp_classes[] = 'bp-' . bp_get_theme_compat_id();
|
3475 |
-
|
3476 |
// Merge WP classes with BuddyPress classes and remove any duplicates.
|
3477 |
$classes = array_unique( array_merge( (array) $bp_classes, (array) $wp_classes ) );
|
3478 |
|
@@ -3595,7 +3509,7 @@ function bp_get_nav_menu_items( $component = 'members' ) {
|
|
3595 |
$menu = new stdClass;
|
3596 |
$menu->class = array( 'menu-parent' );
|
3597 |
$menu->css_id = $nav_menu->css_id;
|
3598 |
-
$menu->link = $link;
|
3599 |
$menu->name = $nav_menu->name;
|
3600 |
$menu->parent = 0;
|
3601 |
|
@@ -3611,7 +3525,7 @@ function bp_get_nav_menu_items( $component = 'members' ) {
|
|
3611 |
$submenu->parent = $nav_menu->slug;
|
3612 |
|
3613 |
// If we're viewing this item's screen, record that we need to mark its parent menu to be selected.
|
3614 |
-
if (
|
3615 |
$menu->class[] = 'current-menu-parent';
|
3616 |
$submenu->class[] = 'current-menu-item';
|
3617 |
}
|
@@ -3810,9 +3724,9 @@ function bp_nav_menu( $args = array() ) {
|
|
3810 |
/**
|
3811 |
* Prints the Recipient Salutation.
|
3812 |
*
|
3813 |
-
* @since
|
3814 |
*
|
3815 |
-
* @param
|
3816 |
*/
|
3817 |
function bp_email_the_salutation( $settings = array() ) {
|
3818 |
echo bp_email_get_salutation( $settings );
|
@@ -3821,9 +3735,9 @@ function bp_email_the_salutation( $settings = array() ) {
|
|
3821 |
/**
|
3822 |
* Gets the Recipient Salutation.
|
3823 |
*
|
3824 |
-
* @since
|
3825 |
*
|
3826 |
-
* @param
|
3827 |
* @return string The Recipient Salutation.
|
3828 |
*/
|
3829 |
function bp_email_get_salutation( $settings = array() ) {
|
@@ -3832,7 +3746,7 @@ function bp_email_the_salutation( $settings = array() ) {
|
|
3832 |
/**
|
3833 |
* Filters The Recipient Salutation inside the Email Template.
|
3834 |
*
|
3835 |
-
* @since
|
3836 |
*
|
3837 |
* @param string $value The Recipient Salutation.
|
3838 |
* @param array $settings Email Settings.
|
584 |
return apply_filters( 'bp_search_form_type_select', $selection_box );
|
585 |
}
|
586 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
587 |
/**
|
588 |
* Output the default text for the search box for a given component.
|
589 |
*
|
2399 |
*
|
2400 |
* Eg http://example.com/members/joe/profile/change-cover-image/ (or a subpage thereof).
|
2401 |
*
|
2402 |
+
* @since 2.4.0
|
2403 |
*
|
2404 |
* @return bool True if the current page is a user's profile edit cover image page.
|
2405 |
*/
|
2618 |
*
|
2619 |
* @since 2.0.0
|
2620 |
*
|
2621 |
+
* @return True if the current page is the groups directory.
|
2622 |
*/
|
2623 |
function bp_is_groups_directory() {
|
2624 |
+
if ( bp_is_groups_component() && ! bp_current_action() && ! bp_current_item() ) {
|
2625 |
return true;
|
2626 |
}
|
2627 |
|
2720 |
*
|
2721 |
* @since 1.2.1
|
2722 |
*
|
2723 |
+
* @return True if the current page is a group's activity page.
|
2724 |
*/
|
2725 |
function bp_is_group_activity() {
|
2726 |
$retval = false;
|
2865 |
*
|
2866 |
* @since 2.0.0
|
2867 |
*
|
2868 |
+
* @return True if the current page is the blogs directory.
|
2869 |
*/
|
2870 |
function bp_is_blogs_directory() {
|
2871 |
if ( is_multisite() && bp_is_blogs_component() && ! bp_current_action() ) {
|
3154 |
*
|
3155 |
* @since 2.4.3
|
3156 |
*
|
3157 |
+
* @param array $bp_title_parts Current BuddyPress title parts
|
3158 |
* @return array
|
3159 |
*/
|
3160 |
return (array) apply_filters( 'bp_get_title_parts', $bp_title_parts );
|
3233 |
|
3234 |
if ( bp_is_user() ) {
|
3235 |
$bp_classes[] = 'bp-user';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3236 |
}
|
3237 |
|
3238 |
if ( ! bp_is_directory() ) {
|
3247 |
if ( bp_is_user_activity() ) {
|
3248 |
$bp_classes[] = 'my-activity';
|
3249 |
}
|
|
|
|
|
|
|
|
|
3250 |
}
|
3251 |
|
3252 |
if ( bp_is_my_profile() ) {
|
3319 |
|
3320 |
if ( bp_is_group() ) {
|
3321 |
$bp_classes[] = 'group-' . groups_get_current_group()->slug;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3322 |
}
|
3323 |
|
3324 |
if ( bp_is_group_leave() ) {
|
3387 |
$bp_classes[] = 'buddypress';
|
3388 |
}
|
3389 |
|
|
|
|
|
|
|
3390 |
// Merge WP classes with BuddyPress classes and remove any duplicates.
|
3391 |
$classes = array_unique( array_merge( (array) $bp_classes, (array) $wp_classes ) );
|
3392 |
|
3509 |
$menu = new stdClass;
|
3510 |
$menu->class = array( 'menu-parent' );
|
3511 |
$menu->css_id = $nav_menu->css_id;
|
3512 |
+
$menu->link = $nav_menu->link;
|
3513 |
$menu->name = $nav_menu->name;
|
3514 |
$menu->parent = 0;
|
3515 |
|
3525 |
$submenu->parent = $nav_menu->slug;
|
3526 |
|
3527 |
// If we're viewing this item's screen, record that we need to mark its parent menu to be selected.
|
3528 |
+
if ( $sub_menu->slug == bp_current_action() ) {
|
3529 |
$menu->class[] = 'current-menu-parent';
|
3530 |
$submenu->class[] = 'current-menu-item';
|
3531 |
}
|
3724 |
/**
|
3725 |
* Prints the Recipient Salutation.
|
3726 |
*
|
3727 |
+
* @since 2.5.0
|
3728 |
*
|
3729 |
+
* @param array $settings Email Settings.
|
3730 |
*/
|
3731 |
function bp_email_the_salutation( $settings = array() ) {
|
3732 |
echo bp_email_get_salutation( $settings );
|
3735 |
/**
|
3736 |
* Gets the Recipient Salutation.
|
3737 |
*
|
3738 |
+
* @since 2.5.0
|
3739 |
*
|
3740 |
+
* @param array $settings Email Settings.
|
3741 |
* @return string The Recipient Salutation.
|
3742 |
*/
|
3743 |
function bp_email_get_salutation( $settings = array() ) {
|
3746 |
/**
|
3747 |
* Filters The Recipient Salutation inside the Email Template.
|
3748 |
*
|
3749 |
+
* @since 2.5.0
|
3750 |
*
|
3751 |
* @param string $value The Recipient Salutation.
|
3752 |
* @param array $settings Email Settings.
|
@@ -22,6 +22,12 @@ defined( 'ABSPATH' ) || exit;
|
|
22 |
* Don't try anything you're about to witness here, at home. Ever.
|
23 |
*/
|
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
/** Functions *****************************************************************/
|
26 |
|
27 |
/**
|
@@ -313,8 +319,8 @@ function bp_set_theme_compat_original_template( $template = '' ) {
|
|
313 |
*
|
314 |
* @since 2.4.0
|
315 |
*
|
316 |
-
* @param
|
317 |
-
* @param
|
318 |
*/
|
319 |
function bp_set_theme_compat_feature( $theme_id, $feature = array() ) {
|
320 |
if ( empty( $theme_id ) || empty( $feature['name'] ) ) {
|
@@ -373,8 +379,8 @@ function bp_set_theme_compat_feature( $theme_id, $feature = array() ) {
|
|
373 |
*
|
374 |
* @since 2.4.0
|
375 |
*
|
376 |
-
* @param
|
377 |
-
* @return object
|
378 |
*/
|
379 |
function bp_get_theme_compat_feature( $feature = '' ) {
|
380 |
// Get current theme compat theme.
|
@@ -391,7 +397,7 @@ function bp_get_theme_compat_feature( $feature = '' ) {
|
|
391 |
}
|
392 |
|
393 |
/**
|
394 |
-
* Setup the theme's features
|
395 |
*
|
396 |
* Note: BP Legacy's buddypress-functions.php is not loaded in WP Administration
|
397 |
* as it's loaded using bp_locate_template(). That's why this function is here.
|
@@ -640,7 +646,7 @@ function bp_theme_compat_reset_post( $args = array() ) {
|
|
640 |
unset( $dummy );
|
641 |
|
642 |
/**
|
643 |
-
* Force the header back to 200 status if not a deliberate 404
|
644 |
*
|
645 |
* @see https://bbpress.trac.wordpress.org/ticket/1973
|
646 |
*/
|
@@ -951,12 +957,10 @@ function bp_comments_open( $open, $post_id = 0 ) {
|
|
951 |
function bp_theme_compat_toggle_is_page( $retval = '' ) {
|
952 |
global $wp_query;
|
953 |
|
954 |
-
|
955 |
-
$wp_query->is_page = false;
|
956 |
|
957 |
-
|
958 |
-
|
959 |
-
}
|
960 |
|
961 |
return $retval;
|
962 |
}
|
22 |
* Don't try anything you're about to witness here, at home. Ever.
|
23 |
*/
|
24 |
|
25 |
+
/** Base Class ****************************************************************/
|
26 |
+
|
27 |
+
if ( ! buddypress()->do_autoload ) {
|
28 |
+
require dirname( __FILE__ ) . '/classes/class-bp-theme-compat.php';
|
29 |
+
}
|
30 |
+
|
31 |
/** Functions *****************************************************************/
|
32 |
|
33 |
/**
|
319 |
*
|
320 |
* @since 2.4.0
|
321 |
*
|
322 |
+
* @param string $theme_id The theme id (eg: legacy).
|
323 |
+
* @param array $feature An associative array (eg: array( name => 'feature_name', 'settings' => array() )).
|
324 |
*/
|
325 |
function bp_set_theme_compat_feature( $theme_id, $feature = array() ) {
|
326 |
if ( empty( $theme_id ) || empty( $feature['name'] ) ) {
|
379 |
*
|
380 |
* @since 2.4.0
|
381 |
*
|
382 |
+
* @param string $feature The feature (eg: cover_image).
|
383 |
+
* @return object The feature settings.
|
384 |
*/
|
385 |
function bp_get_theme_compat_feature( $feature = '' ) {
|
386 |
// Get current theme compat theme.
|
397 |
}
|
398 |
|
399 |
/**
|
400 |
+
* Setup the theme's features
|
401 |
*
|
402 |
* Note: BP Legacy's buddypress-functions.php is not loaded in WP Administration
|
403 |
* as it's loaded using bp_locate_template(). That's why this function is here.
|
646 |
unset( $dummy );
|
647 |
|
648 |
/**
|
649 |
+
* Force the header back to 200 status if not a deliberate 404
|
650 |
*
|
651 |
* @see https://bbpress.trac.wordpress.org/ticket/1973
|
652 |
*/
|
957 |
function bp_theme_compat_toggle_is_page( $retval = '' ) {
|
958 |
global $wp_query;
|
959 |
|
960 |
+
$wp_query->is_page = false;
|
|
|
961 |
|
962 |
+
// Set a switch so we know that we've toggled these WP_Query properties.
|
963 |
+
buddypress()->theme_compat->is_page_toggled = true;
|
|
|
964 |
|
965 |
return $retval;
|
966 |
}
|
@@ -139,6 +139,7 @@ function bp_is_deactivation( $basename = '' ) {
|
|
139 |
* Update the BP version stored in the database to the current version.
|
140 |
*
|
141 |
* @since 1.6.0
|
|
|
142 |
*/
|
143 |
function bp_version_bump() {
|
144 |
bp_update_option( '_bp_db_version', bp_get_db_version() );
|
@@ -191,11 +192,10 @@ function bp_version_updater() {
|
|
191 |
'notifications' => 1,
|
192 |
) );
|
193 |
|
194 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
195 |
require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
|
196 |
$switched_to_root_blog = false;
|
197 |
|
198 |
-
// Make sure the current blog is set to the root blog
|
199 |
if ( ! bp_is_root_blog() ) {
|
200 |
switch_to_blog( bp_get_root_blog_id() );
|
201 |
bp_register_taxonomies();
|
@@ -218,56 +218,51 @@ function bp_version_updater() {
|
|
218 |
// Run the schema install to update tables.
|
219 |
bp_core_install();
|
220 |
|
221 |
-
//
|
222 |
if ( $raw_db_version < 1801 ) {
|
223 |
bp_update_to_1_5();
|
224 |
bp_core_add_page_mappings( $default_components, 'delete' );
|
225 |
}
|
226 |
|
227 |
-
//
|
228 |
if ( $raw_db_version < 6067 ) {
|
229 |
bp_update_to_1_6();
|
230 |
}
|
231 |
|
232 |
-
//
|
233 |
if ( $raw_db_version < 7553 ) {
|
234 |
bp_update_to_1_9();
|
235 |
}
|
236 |
|
237 |
-
//
|
238 |
if ( $raw_db_version < 7731 ) {
|
239 |
bp_update_to_1_9_2();
|
240 |
}
|
241 |
|
242 |
-
//
|
243 |
if ( $raw_db_version < 7892 ) {
|
244 |
bp_update_to_2_0();
|
245 |
}
|
246 |
|
247 |
-
//
|
248 |
if ( $raw_db_version < 8311 ) {
|
249 |
bp_update_to_2_0_1();
|
250 |
}
|
251 |
|
252 |
-
//
|
253 |
if ( $raw_db_version < 9181 ) {
|
254 |
bp_update_to_2_2();
|
255 |
}
|
256 |
|
257 |
-
//
|
258 |
if ( $raw_db_version < 9615 ) {
|
259 |
bp_update_to_2_3();
|
260 |
}
|
261 |
|
262 |
-
//
|
263 |
if ( $raw_db_version < 10440 ) {
|
264 |
bp_update_to_2_5();
|
265 |
}
|
266 |
-
|
267 |
-
// Version 2.7.0.
|
268 |
-
if ( $raw_db_version < 11105 ) {
|
269 |
-
bp_update_to_2_7();
|
270 |
-
}
|
271 |
}
|
272 |
|
273 |
/* All done! *************************************************************/
|
@@ -336,7 +331,7 @@ function bp_update_to_1_5() {
|
|
336 |
}
|
337 |
|
338 |
/**
|
339 |
-
* Remove unused metadata from database when upgrading from < 1.6.
|
340 |
*
|
341 |
* Database update methods based on version numbers.
|
342 |
*
|
@@ -385,7 +380,7 @@ function bp_update_to_1_9() {
|
|
385 |
}
|
386 |
|
387 |
/**
|
388 |
-
* Perform database updates for BP 1.9.2
|
389 |
*
|
390 |
* In 1.9, BuddyPress stopped registering its theme directory when it detected
|
391 |
* that bp-default (or a child theme) was not currently being used, in effect
|
@@ -394,7 +389,6 @@ function bp_update_to_1_9() {
|
|
394 |
* bp-default would no longer be available, with no obvious way (outside of
|
395 |
* a manual filter) to restore it. In 1.9.2, we add an option that flags
|
396 |
* whether bp-default or a child theme is active at the time of upgrade; if so,
|
397 |
-
*
|
398 |
* the theme directory will continue to be registered even if the theme is
|
399 |
* deactivated temporarily. Thus, new installations will not see bp-default,
|
400 |
* but legacy installations using the theme will continue to see it.
|
@@ -446,6 +440,8 @@ function bp_update_to_2_0() {
|
|
446 |
* 2.0.1 database upgrade routine.
|
447 |
*
|
448 |
* @since 2.0.1
|
|
|
|
|
449 |
*/
|
450 |
function bp_update_to_2_0_1() {
|
451 |
|
@@ -505,43 +501,6 @@ function bp_update_to_2_5() {
|
|
505 |
bp_core_install_emails();
|
506 |
}
|
507 |
|
508 |
-
/**
|
509 |
-
* 2.7.0 update routine.
|
510 |
-
*
|
511 |
-
* - Add email unsubscribe salt.
|
512 |
-
* - Save legacy directory titles to the corresponding WP pages.
|
513 |
-
* - Add ignore deprecated code option (false for updates).
|
514 |
-
*
|
515 |
-
* @since 2.7.0
|
516 |
-
*/
|
517 |
-
function bp_update_to_2_7() {
|
518 |
-
bp_add_option( 'bp-emails-unsubscribe-salt', base64_encode( wp_generate_password( 64, true, true ) ) );
|
519 |
-
|
520 |
-
// Update post_titles
|
521 |
-
bp_migrate_directory_page_titles();
|
522 |
-
|
523 |
-
/*
|
524 |
-
* Add `parent_id` column to groups table.
|
525 |
-
* Also handled by `bp_core_install()`.
|
526 |
-
*/
|
527 |
-
if ( bp_is_active( 'groups' ) ) {
|
528 |
-
bp_core_install_groups();
|
529 |
-
|
530 |
-
// Invalidate all cached group objects.
|
531 |
-
global $wpdb;
|
532 |
-
$bp = buddypress();
|
533 |
-
|
534 |
-
$group_ids = $wpdb->get_col( "SELECT id FROM {$bp->groups->table_name}" );
|
535 |
-
|
536 |
-
foreach ( $group_ids as $group_id ) {
|
537 |
-
wp_cache_delete( $group_id, 'bp_groups' );
|
538 |
-
}
|
539 |
-
}
|
540 |
-
|
541 |
-
// Do not ignore deprecated code for existing installs.
|
542 |
-
bp_add_option( '_bp_ignore_deprecated_code', false );
|
543 |
-
}
|
544 |
-
|
545 |
/**
|
546 |
* Updates the component field for new_members type.
|
547 |
*
|
@@ -580,6 +539,7 @@ function bp_migrate_new_member_activity_component() {
|
|
580 |
* Remove all hidden friendship activities.
|
581 |
*
|
582 |
* @since 2.2.0
|
|
|
583 |
*/
|
584 |
function bp_cleanup_friendship_activities() {
|
585 |
bp_activity_delete( array(
|
@@ -589,61 +549,13 @@ function bp_cleanup_friendship_activities() {
|
|
589 |
) );
|
590 |
}
|
591 |
|
592 |
-
/**
|
593 |
-
* Update WP pages so that their post_title matches the legacy component directory title.
|
594 |
-
*
|
595 |
-
* As of 2.7.0, component directory titles come from the `post_title` attribute of the corresponding WP post object,
|
596 |
-
* instead of being hardcoded. To ensure that directory titles don't change for existing installations, we update these
|
597 |
-
* WP posts with the formerly hardcoded titles.
|
598 |
-
*
|
599 |
-
* @since 2.7.0
|
600 |
-
*/
|
601 |
-
function bp_migrate_directory_page_titles() {
|
602 |
-
$bp_pages = bp_core_get_directory_page_ids( 'all' );
|
603 |
-
|
604 |
-
$default_titles = bp_core_get_directory_page_default_titles();
|
605 |
-
|
606 |
-
$legacy_titles = array(
|
607 |
-
'activity' => _x( 'Site-Wide Activity', 'component directory title', 'buddypress' ),
|
608 |
-
'blogs' => _x( 'Sites', 'component directory title', 'buddypress' ),
|
609 |
-
'groups' => _x( 'Groups', 'component directory title', 'buddypress' ),
|
610 |
-
'members' => _x( 'Members', 'component directory title', 'buddypress' ),
|
611 |
-
);
|
612 |
-
|
613 |
-
foreach ( $bp_pages as $component => $page_id ) {
|
614 |
-
if ( ! isset( $legacy_titles[ $component ] ) ) {
|
615 |
-
continue;
|
616 |
-
}
|
617 |
-
|
618 |
-
$page = get_post( $page_id );
|
619 |
-
if ( ! $page ) {
|
620 |
-
continue;
|
621 |
-
}
|
622 |
-
|
623 |
-
// If the admin has changed the default title, don't touch it.
|
624 |
-
if ( isset( $default_titles[ $component ] ) && $default_titles[ $component ] !== $page->post_title ) {
|
625 |
-
continue;
|
626 |
-
}
|
627 |
-
|
628 |
-
// If the saved page title is the same as the legacy title, there's nothing to do.
|
629 |
-
if ( $legacy_titles[ $component ] == $page->post_title ) {
|
630 |
-
continue;
|
631 |
-
}
|
632 |
-
|
633 |
-
// Update the page with the legacy title.
|
634 |
-
wp_update_post( array(
|
635 |
-
'ID' => $page_id,
|
636 |
-
'post_title' => $legacy_titles[ $component ],
|
637 |
-
) );
|
638 |
-
}
|
639 |
-
}
|
640 |
-
|
641 |
/**
|
642 |
* Redirect user to BP's What's New page on first page load after activation.
|
643 |
*
|
644 |
* @since 1.7.0
|
645 |
*
|
646 |
* @internal Used internally to redirect BuddyPress to the about page on activation.
|
|
|
647 |
*/
|
648 |
function bp_add_activation_redirect() {
|
649 |
|
@@ -712,6 +624,7 @@ function bp_core_maybe_install_signups() {
|
|
712 |
* Runs on BuddyPress activation.
|
713 |
*
|
714 |
* @since 1.6.0
|
|
|
715 |
*/
|
716 |
function bp_activation() {
|
717 |
|
@@ -724,13 +637,13 @@ function bp_activation() {
|
|
724 |
/**
|
725 |
* Fires during the activation of BuddyPress.
|
726 |
*
|
727 |
-
* Use as of 1.6.0
|
728 |
*
|
729 |
* @since 1.6.0
|
730 |
*/
|
731 |
do_action( 'bp_activation' );
|
732 |
|
733 |
-
// @deprecated as of 1.6
|
734 |
do_action( 'bp_loader_activate' );
|
735 |
}
|
736 |
|
@@ -740,6 +653,7 @@ function bp_activation() {
|
|
740 |
* Runs on BuddyPress deactivation.
|
741 |
*
|
742 |
* @since 1.6.0
|
|
|
743 |
*/
|
744 |
function bp_deactivation() {
|
745 |
|
@@ -757,13 +671,13 @@ function bp_deactivation() {
|
|
757 |
/**
|
758 |
* Fires during the deactivation of BuddyPress.
|
759 |
*
|
760 |
-
* Use as of 1.6.0
|
761 |
*
|
762 |
* @since 1.6.0
|
763 |
*/
|
764 |
do_action( 'bp_deactivation' );
|
765 |
|
766 |
-
// @deprecated as of 1.6
|
767 |
do_action( 'bp_loader_deactivate' );
|
768 |
}
|
769 |
|
@@ -773,6 +687,7 @@ function bp_deactivation() {
|
|
773 |
* Runs when uninstalling BuddyPress.
|
774 |
*
|
775 |
* @since 1.6.0
|
|
|
776 |
*/
|
777 |
function bp_uninstall() {
|
778 |
|
139 |
* Update the BP version stored in the database to the current version.
|
140 |
*
|
141 |
* @since 1.6.0
|
142 |
+
*
|
143 |
*/
|
144 |
function bp_version_bump() {
|
145 |
bp_update_option( '_bp_db_version', bp_get_db_version() );
|
192 |
'notifications' => 1,
|
193 |
) );
|
194 |
|
|
|
195 |
require_once( buddypress()->plugin_dir . '/bp-core/admin/bp-core-admin-schema.php' );
|
196 |
$switched_to_root_blog = false;
|
197 |
|
198 |
+
// Make sure the current blog is set to the root blog
|
199 |
if ( ! bp_is_root_blog() ) {
|
200 |
switch_to_blog( bp_get_root_blog_id() );
|
201 |
bp_register_taxonomies();
|
218 |
// Run the schema install to update tables.
|
219 |
bp_core_install();
|
220 |
|
221 |
+
// 1.5.0
|
222 |
if ( $raw_db_version < 1801 ) {
|
223 |
bp_update_to_1_5();
|
224 |
bp_core_add_page_mappings( $default_components, 'delete' );
|
225 |
}
|
226 |
|
227 |
+
// 1.6.0
|
228 |
if ( $raw_db_version < 6067 ) {
|
229 |
bp_update_to_1_6();
|
230 |
}
|
231 |
|
232 |
+
// 1.9.0
|
233 |
if ( $raw_db_version < 7553 ) {
|
234 |
bp_update_to_1_9();
|
235 |
}
|
236 |
|
237 |
+
// 1.9.2
|
238 |
if ( $raw_db_version < 7731 ) {
|
239 |
bp_update_to_1_9_2();
|
240 |
}
|
241 |
|
242 |
+
// 2.0.0
|
243 |
if ( $raw_db_version < 7892 ) {
|
244 |
bp_update_to_2_0();
|
245 |
}
|
246 |
|
247 |
+
// 2.0.1
|
248 |
if ( $raw_db_version < 8311 ) {
|
249 |
bp_update_to_2_0_1();
|
250 |
}
|
251 |
|
252 |
+
// 2.2.0
|
253 |
if ( $raw_db_version < 9181 ) {
|
254 |
bp_update_to_2_2();
|
255 |
}
|
256 |
|
257 |
+
// 2.3.0
|
258 |
if ( $raw_db_version < 9615 ) {
|
259 |
bp_update_to_2_3();
|
260 |
}
|
261 |
|
262 |
+
// 2.5.0
|
263 |
if ( $raw_db_version < 10440 ) {
|
264 |
bp_update_to_2_5();
|
265 |
}
|
|
|
|
|
|
|
|
|
|
|
266 |
}
|
267 |
|
268 |
/* All done! *************************************************************/
|
331 |
}
|
332 |
|
333 |
/**
|
334 |
+
* Remove unused metadata from database when upgrading from < 1.6.
|
335 |
*
|
336 |
* Database update methods based on version numbers.
|
337 |
*
|
380 |
}
|
381 |
|
382 |
/**
|
383 |
+
* Perform database updates for BP 1.9.2
|
384 |
*
|
385 |
* In 1.9, BuddyPress stopped registering its theme directory when it detected
|
386 |
* that bp-default (or a child theme) was not currently being used, in effect
|
389 |
* bp-default would no longer be available, with no obvious way (outside of
|
390 |
* a manual filter) to restore it. In 1.9.2, we add an option that flags
|
391 |
* whether bp-default or a child theme is active at the time of upgrade; if so,
|
|
|
392 |
* the theme directory will continue to be registered even if the theme is
|
393 |
* deactivated temporarily. Thus, new installations will not see bp-default,
|
394 |
* but legacy installations using the theme will continue to see it.
|
440 |
* 2.0.1 database upgrade routine.
|
441 |
*
|
442 |
* @since 2.0.1
|
443 |
+
*
|
444 |
+
* @return void
|
445 |
*/
|
446 |
function bp_update_to_2_0_1() {
|
447 |
|
501 |
bp_core_install_emails();
|
502 |
}
|
503 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
/**
|
505 |
* Updates the component field for new_members type.
|
506 |
*
|
539 |
* Remove all hidden friendship activities.
|
540 |
*
|
541 |
* @since 2.2.0
|
542 |
+
*
|
543 |
*/
|
544 |
function bp_cleanup_friendship_activities() {
|
545 |
bp_activity_delete( array(
|
549 |
) );
|
550 |
}
|
551 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
/**
|
553 |
* Redirect user to BP's What's New page on first page load after activation.
|
554 |
*
|
555 |
* @since 1.7.0
|
556 |
*
|
557 |
* @internal Used internally to redirect BuddyPress to the about page on activation.
|
558 |
+
*
|
559 |
*/
|
560 |
function bp_add_activation_redirect() {
|
561 |
|
624 |
* Runs on BuddyPress activation.
|
625 |
*
|
626 |
* @since 1.6.0
|
627 |
+
*
|
628 |
*/
|
629 |
function bp_activation() {
|
630 |
|
637 |
/**
|
638 |
* Fires during the activation of BuddyPress.
|
639 |
*
|
640 |
+
* Use as of (1.6.0)
|
641 |
*
|
642 |
* @since 1.6.0
|
643 |
*/
|
644 |
do_action( 'bp_activation' );
|
645 |
|
646 |
+
// @deprecated as of (1.6)
|
647 |
do_action( 'bp_loader_activate' );
|
648 |
}
|
649 |
|
653 |
* Runs on BuddyPress deactivation.
|
654 |
*
|
655 |
* @since 1.6.0
|
656 |
+
*
|
657 |
*/
|
658 |
function bp_deactivation() {
|
659 |
|
671 |
/**
|
672 |
* Fires during the deactivation of BuddyPress.
|
673 |
*
|
674 |
+
* Use as of (1.6.0)
|
675 |
*
|
676 |
* @since 1.6.0
|
677 |
*/
|
678 |
do_action( 'bp_deactivation' );
|
679 |
|
680 |
+
// @deprecated as of (1.6)
|
681 |
do_action( 'bp_loader_deactivate' );
|
682 |
}
|
683 |
|
687 |
* Runs when uninstalling BuddyPress.
|
688 |
*
|
689 |
* @since 1.6.0
|
690 |
+
*
|
691 |
*/
|
692 |
function bp_uninstall() {
|
693 |
|
@@ -10,12 +10,16 @@
|
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
|
|
|
|
|
|
|
|
13 |
/**
|
14 |
* Register bp-core widgets.
|
15 |
*
|
16 |
* @since 1.0.0
|
17 |
*/
|
18 |
function bp_core_register_widgets() {
|
19 |
-
add_action(
|
20 |
}
|
21 |
add_action( 'bp_register_widgets', 'bp_core_register_widgets' );
|
10 |
// Exit if accessed directly.
|
11 |
defined( 'ABSPATH' ) || exit;
|
12 |
|
13 |
+
if ( ! buddypress()->do_autoload ) {
|
14 |
+
require dirname( __FILE__ ) . '/classes/class-bp-core-login-widget.php';
|
15 |
+
}
|
16 |
+
|
17 |
/**
|
18 |
* Register bp-core widgets.
|
19 |
*
|
20 |
* @since 1.0.0
|
21 |
*/
|
22 |
function bp_core_register_widgets() {
|
23 |
+
add_action('widgets_init', create_function('', 'return register_widget("BP_Core_Login_Widget");') );
|
24 |
}
|
25 |
add_action( 'bp_register_widgets', 'bp_core_register_widgets' );
|
@@ -23,7 +23,7 @@ defined( 'ABSPATH' ) || exit;
|
|
23 |
*
|
24 |
* @global string $wp_version
|
25 |
*
|
26 |
-
* @return
|
27 |
*/
|
28 |
function bp_get_major_wp_version() {
|
29 |
global $wp_version;
|
@@ -52,6 +52,7 @@ if ( !is_multisite() ) {
|
|
52 |
* @param int $blog_id Blog ID to fetch for. Not used.
|
53 |
* @param string $option_name Option name to fetch.
|
54 |
* @param bool $default Whether or not default.
|
|
|
55 |
* @return mixed
|
56 |
*/
|
57 |
function get_blog_option( $blog_id, $option_name, $default = false ) {
|
@@ -71,6 +72,7 @@ if ( !is_multisite() ) {
|
|
71 |
* @param int $blog_id Blog ID to add for. Not used.
|
72 |
* @param string $option_name Option name to add.
|
73 |
* @param mixed $option_value Option value to add.
|
|
|
74 |
* @return mixed
|
75 |
*/
|
76 |
function add_blog_option( $blog_id, $option_name, $option_value ) {
|
@@ -90,6 +92,7 @@ if ( !is_multisite() ) {
|
|
90 |
* @param int $blog_id Blog ID to update for. Not used.
|
91 |
* @param string $option_name Option name to update.
|
92 |
* @param mixed $value Option value to update.
|
|
|
93 |
* @return mixed
|
94 |
*/
|
95 |
function update_blog_option( $blog_id, $option_name, $value ) {
|
@@ -108,6 +111,7 @@ if ( !is_multisite() ) {
|
|
108 |
*
|
109 |
* @param int $blog_id Blog ID to delete for. Not used.
|
110 |
* @param string $option_name Option name to delete.
|
|
|
111 |
* @return mixed
|
112 |
*/
|
113 |
function delete_blog_option( $blog_id, $option_name ) {
|
@@ -126,6 +130,7 @@ if ( !is_multisite() ) {
|
|
126 |
*
|
127 |
* @param mixed $new_blog New blog to switch to. Not used.
|
128 |
* @param null $deprecated Whether or not deprecated. Not used.
|
|
|
129 |
* @return int
|
130 |
*/
|
131 |
function switch_to_blog( $new_blog, $deprecated = null ) {
|
@@ -160,7 +165,8 @@ if ( !is_multisite() ) {
|
|
160 |
*
|
161 |
* @param int $user_id ID of the user. Not used.
|
162 |
* @param bool $all Whether or not to return all. Not used.
|
163 |
-
*
|
|
|
164 |
*/
|
165 |
function get_blogs_of_user( $user_id, $all = false ) {
|
166 |
return false;
|
@@ -180,7 +186,8 @@ if ( !is_multisite() ) {
|
|
180 |
* @param mixed $pref Preference. Not used.
|
181 |
* @param string $value Value. Not used.
|
182 |
* @param null $deprecated Whether or not deprecated. Not used.
|
183 |
-
*
|
|
|
184 |
*/
|
185 |
function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {
|
186 |
return true;
|
@@ -266,7 +273,7 @@ if ( !function_exists( 'mb_strpos' ) ) {
|
|
266 |
* @param string $needle String to search for.
|
267 |
* @param int $offset Optional. Start position for the search. Default: 0.
|
268 |
* @param string $encoding Optional. Encoding type. Ignored.
|
269 |
-
* @return int|
|
270 |
*/
|
271 |
function mb_strpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
272 |
$needle = preg_quote( $needle, '/' );
|
@@ -291,7 +298,7 @@ if ( !function_exists( 'mb_strrpos' ) ) {
|
|
291 |
* @param string $needle String to search for.
|
292 |
* @param int $offset Optional. Start position for the search. Default: 0.
|
293 |
* @param string $encoding Optional. Encoding type. Ignored.
|
294 |
-
* @return
|
295 |
*/
|
296 |
function mb_strrpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
297 |
$needle = preg_quote( $needle, '/' );
|
23 |
*
|
24 |
* @global string $wp_version
|
25 |
*
|
26 |
+
* @return string $wp_version
|
27 |
*/
|
28 |
function bp_get_major_wp_version() {
|
29 |
global $wp_version;
|
52 |
* @param int $blog_id Blog ID to fetch for. Not used.
|
53 |
* @param string $option_name Option name to fetch.
|
54 |
* @param bool $default Whether or not default.
|
55 |
+
*
|
56 |
* @return mixed
|
57 |
*/
|
58 |
function get_blog_option( $blog_id, $option_name, $default = false ) {
|
72 |
* @param int $blog_id Blog ID to add for. Not used.
|
73 |
* @param string $option_name Option name to add.
|
74 |
* @param mixed $option_value Option value to add.
|
75 |
+
*
|
76 |
* @return mixed
|
77 |
*/
|
78 |
function add_blog_option( $blog_id, $option_name, $option_value ) {
|
92 |
* @param int $blog_id Blog ID to update for. Not used.
|
93 |
* @param string $option_name Option name to update.
|
94 |
* @param mixed $value Option value to update.
|
95 |
+
*
|
96 |
* @return mixed
|
97 |
*/
|
98 |
function update_blog_option( $blog_id, $option_name, $value ) {
|
111 |
*
|
112 |
* @param int $blog_id Blog ID to delete for. Not used.
|
113 |
* @param string $option_name Option name to delete.
|
114 |
+
*
|
115 |
* @return mixed
|
116 |
*/
|
117 |
function delete_blog_option( $blog_id, $option_name ) {
|
130 |
*
|
131 |
* @param mixed $new_blog New blog to switch to. Not used.
|
132 |
* @param null $deprecated Whether or not deprecated. Not used.
|
133 |
+
*
|
134 |
* @return int
|
135 |
*/
|
136 |
function switch_to_blog( $new_blog, $deprecated = null ) {
|
165 |
*
|
166 |
* @param int $user_id ID of the user. Not used.
|
167 |
* @param bool $all Whether or not to return all. Not used.
|
168 |
+
*
|
169 |
+
* @return false
|
170 |
*/
|
171 |
function get_blogs_of_user( $user_id, $all = false ) {
|
172 |
return false;
|
186 |
* @param mixed $pref Preference. Not used.
|
187 |
* @param string $value Value. Not used.
|
188 |
* @param null $deprecated Whether or not deprecated. Not used.
|
189 |
+
*
|
190 |
+
* @return true
|
191 |
*/
|
192 |
function update_blog_status( $blog_id, $pref, $value, $deprecated = null ) {
|
193 |
return true;
|
273 |
* @param string $needle String to search for.
|
274 |
* @param int $offset Optional. Start position for the search. Default: 0.
|
275 |
* @param string $encoding Optional. Encoding type. Ignored.
|
276 |
+
* @return int|bool Position of needle in haystack if found, else false.
|
277 |
*/
|
278 |
function mb_strpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
279 |
$needle = preg_quote( $needle, '/' );
|
298 |
* @param string $needle String to search for.
|
299 |
* @param int $offset Optional. Start position for the search. Default: 0.
|
300 |
* @param string $encoding Optional. Encoding type. Ignored.
|
301 |
+
* @return int Position of last needle in haystack if found, else false.
|
302 |
*/
|
303 |
function mb_strrpos( $haystack, $needle, $offset = 0, $encoding = '' ) {
|
304 |
$needle = preg_quote( $needle, '/' );
|
@@ -117,6 +117,10 @@ class BP_Admin {
|
|
117 |
* @since 1.6.0
|
118 |
*/
|
119 |
private function includes() {
|
|
|
|
|
|
|
|
|
120 |
require( $this->admin_dir . 'bp-core-admin-actions.php' );
|
121 |
require( $this->admin_dir . 'bp-core-admin-settings.php' );
|
122 |
require( $this->admin_dir . 'bp-core-admin-functions.php' );
|
@@ -189,6 +193,8 @@ class BP_Admin {
|
|
189 |
* Contextually hooked to site or network-admin depending on current configuration.
|
190 |
*
|
191 |
* @since 1.6.0
|
|
|
|
|
192 |
*/
|
193 |
public function admin_menus() {
|
194 |
|
@@ -382,11 +388,6 @@ class BP_Admin {
|
|
382 |
|
383 |
// Only show 'switch to Toolbar' option if the user chose to retain the BuddyBar during the 1.6 upgrade.
|
384 |
if ( (bool) bp_get_option( '_bp_force_buddybar', false ) ) {
|
385 |
-
// Load deprecated code if not available.
|
386 |
-
if ( ! function_exists( 'bp_admin_setting_callback_force_buddybar' ) ) {
|
387 |
-
require buddypress()->plugin_dir . 'bp-core/deprecated/2.1.php';
|
388 |
-
}
|
389 |
-
|
390 |
add_settings_field( '_bp_force_buddybar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_force_buddybar', 'buddypress', 'bp_main' );
|
391 |
register_setting( 'buddypress', '_bp_force_buddybar', 'bp_admin_sanitize_callback_force_buddybar' );
|
392 |
}
|
@@ -395,10 +396,6 @@ class BP_Admin {
|
|
395 |
add_settings_field( 'bp-disable-account-deletion', __( 'Account Deletion', 'buddypress' ), 'bp_admin_setting_callback_account_deletion', 'buddypress', 'bp_main' );
|
396 |
register_setting( 'buddypress', 'bp-disable-account-deletion', 'intval' );
|
397 |
|
398 |
-
// Template pack picker.
|
399 |
-
add_settings_field( '_bp_theme_package_id', __( 'Template Pack', 'buddypress' ), 'bp_admin_setting_callback_theme_package_id', 'buddypress', 'bp_main' );
|
400 |
-
register_setting( 'buddypress', '_bp_theme_package_id', 'sanitize_text_field' );
|
401 |
-
|
402 |
/* XProfile Section **************************************************/
|
403 |
|
404 |
if ( bp_is_active( 'xprofile' ) ) {
|
@@ -567,7 +564,7 @@ class BP_Admin {
|
|
567 |
|
568 |
<div id="welcome-panel" class="welcome-panel">
|
569 |
<div class="welcome-panel-content">
|
570 |
-
<h3 style="margin:0
|
571 |
<div class="welcome-panel-column-container">
|
572 |
<div class="welcome-panel-column">
|
573 |
<h4><?php _e( 'Configure BuddyPress', 'buddypress' ); ?></h4>
|
@@ -612,88 +609,76 @@ class BP_Admin {
|
|
612 |
|
613 |
<?php endif; ?>
|
614 |
|
615 |
-
<div class="
|
616 |
-
|
617 |
-
<h3 class="headline-title"><?php esc_html_e( 'For Developers & Site Builders', 'buddypress' ); ?></h3>
|
618 |
-
|
619 |
-
<div class="bp-feature">
|
620 |
-
<span class="dashicons dashicons-groups" aria-hidden="true"></span>
|
621 |
-
<h4 class="feature-title"><?php esc_html_e( 'Edit Group Slug', 'buddypress' ); ?></h4>
|
622 |
-
<p><?php esc_html_e( 'Allow administrators to change group names and permalinks. Navigate to the Groups screen in the wp-admin dashboard, click on the Edit link under the Group name, and adjust as needed.', 'buddypress' ); ?></p>
|
623 |
-
</div>
|
624 |
-
|
625 |
-
<div class="bp-feature opposite">
|
626 |
-
<span class="dashicons dashicons-admin-users" aria-hidden="true"></span>
|
627 |
-
<h4 class="feature-title"><?php esc_html_e( 'Improve accessibility of Extended Profile Fields', 'buddypress' ); ?></h4>
|
628 |
-
<p><?php esc_html_e( 'Related form fields are grouped together in fieldsets and all interactive form controls are associated with necessary ARIA states and properties.', 'buddypress' ); ?></p>
|
629 |
-
</div>
|
630 |
|
631 |
-
<div class="
|
632 |
-
<
|
633 |
-
<h4 class="feature-title"><?php esc_html_e( 'Send group invitation only once per user', 'buddypress' ); ?></h4>
|
634 |
-
<p><?php esc_html_e( 'Prevent duplicate group invitations from being sent to a user by double-checking if a group invitation has already been sent to that user.', 'buddypress' ); ?></p>
|
635 |
</div>
|
636 |
|
637 |
-
<
|
638 |
-
|
639 |
-
<h4 class="feature-title"><?php esc_html_e( 'Tooltips Usable for All Devices', 'buddypress' ); ?></h4>
|
640 |
-
|
641 |
-
<p><?php esc_html_e( 'Replaced HTML title attributes with tooltips which provide additional information and visual cues where needed on mouse hover and keyboard focus events.', 'buddypress' );
|
642 |
-
?></p>
|
643 |
-
</div>
|
644 |
|
|
|
645 |
</div>
|
646 |
|
647 |
-
<
|
|
|
|
|
648 |
|
649 |
-
<
|
650 |
-
|
651 |
-
|
652 |
-
<
|
653 |
-
<p><?php esc_html_e( '
|
654 |
</div>
|
655 |
-
<div class="
|
656 |
-
<
|
657 |
-
<
|
|
|
658 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
659 |
|
660 |
-
|
661 |
-
|
662 |
-
<
|
|
|
|
|
663 |
</div>
|
664 |
</div>
|
665 |
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
?></
|
674 |
-
|
675 |
-
|
676 |
-
<
|
677 |
-
<p><?php esc_html_e( 'Register your new BuddyPress theme package and allow the user to select which template pack to use.', 'buddypress' ); ?></p>
|
678 |
</div>
|
679 |
|
680 |
-
<div class="
|
681 |
-
<h4 class="title"><?php
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
?></h4>
|
686 |
-
<p><?php esc_html_e( 'Output a group name as a text hyperlink where appropriate.', 'buddypress' ); ?></p>
|
687 |
</div>
|
688 |
</div>
|
689 |
|
690 |
</div>
|
691 |
|
692 |
-
<
|
693 |
-
<p><?php _ex( 'Learn more:', 'About screen, website links', 'buddypress' ); ?> <a href="https://buddypress.org/blog/"><?php _ex( 'News', 'About screen, link to project blog', 'buddypress' ); ?></a> • <a href="https://buddypress.org/support/"><?php _ex( 'Support', 'About screen, link to support site', 'buddypress' ); ?></a> • <a href="https://codex.buddypress.org/"><?php _ex( 'Documentation', 'About screen, link to documentation', 'buddypress' ); ?></a> • <a href="https://bpdevel.wordpress.com/"><?php _ex( 'Development Blog', 'About screen, link to development blog', 'buddypress' ); ?></a></p>
|
694 |
|
695 |
-
|
696 |
-
</div>
|
697 |
|
698 |
</div>
|
699 |
|
@@ -722,7 +707,7 @@ class BP_Admin {
|
|
722 |
<h3 class="wp-people-group"><?php _e( 'Project Leaders', 'buddypress' ); ?></h3>
|
723 |
<ul class="wp-people-group " id="wp-people-group-project-leaders">
|
724 |
<li class="wp-person" id="wp-person-johnjamesjacoby">
|
725 |
-
<a class="web" href="https://profiles.wordpress.org/johnjamesjacoby"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/
|
726 |
John James Jacoby</a>
|
727 |
<span class="title"><?php _e( 'Project Lead', 'buddypress' ); ?></span>
|
728 |
</li>
|
@@ -738,13 +723,8 @@ class BP_Admin {
|
|
738 |
</li>
|
739 |
</ul>
|
740 |
|
741 |
-
<h3 class="wp-people-group"><?php _e( '
|
742 |
<ul class="wp-people-group " id="wp-people-group-core-team">
|
743 |
-
<li class="wp-person" id="wp-person-hnla">
|
744 |
-
<a class="web" href="https://profiles.wordpress.org/hnla"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/3860c955aa3f79f13b92826ae47d07fe?s=60">
|
745 |
-
Hugo Ashmore</a>
|
746 |
-
<span class="title"><?php _e( '2.9 Release Lead', 'buddypress' ); ?></span>
|
747 |
-
</li>
|
748 |
<li class="wp-person" id="wp-person-r-a-y">
|
749 |
<a class="web" href="https://profiles.wordpress.org/r-a-y"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/3bfa556a62b5bfac1012b6ba5f42ebfa?s=60">
|
750 |
Ray</a>
|
@@ -770,106 +750,74 @@ class BP_Admin {
|
|
770 |
Michael Beckwith</a>
|
771 |
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
|
772 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
773 |
<li class="wp-person" id="wp-person-henry-wright">
|
774 |
<a class="web" href="https://profiles.wordpress.org/henry.wright"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/0da2f1a9340d6af196b870f6c107a248?s=60">
|
775 |
Henry Wright</a>
|
776 |
-
<span class="title"><?php _e( 'Community Support', 'buddypress' ); ?></span>
|
777 |
</li>
|
778 |
<li class="wp-person" id="wp-person-danbp">
|
779 |
<a class="web" href="https://profiles.wordpress.org/danbp"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/0deae2e7003027fbf153500cd3fa5501?s=60">
|
780 |
danbp</a>
|
781 |
-
<span class="title"><?php _e( 'Community Support', 'buddypress' ); ?></span>
|
782 |
</li>
|
783 |
<li class="wp-person" id="wp-person-shanebp">
|
784 |
<a class="web" href="https://profiles.wordpress.org/shanebp"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/ffd294ab5833ba14aaf175f9acc71cc4?s=60">
|
785 |
shanebp</a>
|
786 |
-
<span class="title"><?php _e( 'Community Support', 'buddypress' ); ?></span>
|
787 |
-
</li>
|
788 |
-
<li class="wp-person" id="wp-person-slaffik">
|
789 |
-
<a class="web" href="https://profiles.wordpress.org/r-a-y"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/61fb07ede3247b63f19015f200b3eb2c?s=60">
|
790 |
-
Slava Abakumov</a>
|
791 |
-
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
|
792 |
-
</li>
|
793 |
-
<li class="wp-person" id="wp-person-offereins">
|
794 |
-
<a class="web" href="https://profiles.wordpress.org/Offereins"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/2404ed0a35bb41aedefd42b0a7be61c1?s=60">
|
795 |
-
Laurens Offereins</a>
|
796 |
-
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
|
797 |
</li>
|
798 |
<li class="wp-person" id="wp-person-netweb">
|
799 |
<a class="web" href="https://profiles.wordpress.org/netweb"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/97e1620b501da675315ba7cfb740e80f?s=60">
|
800 |
Stephen Edgar</a>
|
801 |
-
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
|
802 |
</li>
|
803 |
-
</ul>
|
804 |
-
|
805 |
-
<h3 class="wp-people-group"><?php _e( '🌟Recent Rockstars🌟', 'buddypress' ); ?></h3>
|
806 |
-
<ul class="wp-people-group " id="wp-people-group-rockstars">
|
807 |
<li class="wp-person" id="wp-person-dimensionmedia">
|
808 |
<a class="web" href="https://profiles.wordpress.org/dimensionmedia"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7735aada1ec39d0c1118bd92ed4551f1?s=60">
|
809 |
David Bisset</a>
|
810 |
</li>
|
811 |
-
|
812 |
-
<a class="web" href="https://profiles.wordpress.org/garrett-eclipse"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7f68f24441c61514d5d0e1451bb5bc9d?s=60">
|
813 |
-
Garrett Hyder</a>
|
814 |
-
</li>
|
815 |
-
<li class="wp-person" id="wp-person-thebrandonallen">
|
816 |
-
<a class="web" href="https://profiles.wordpress.org/thebrandonallen"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/6d3f77bf3c9ca94c406dea401b566950?s=60">
|
817 |
-
Brandon Allen</a>
|
818 |
-
</li>
|
819 |
-
<li class="wp-person" id="wp-person-ramiy">
|
820 |
-
<a class="web" href="https://profiles.wordpress.org/ramiy"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/ce2a269e424156d79cb0c4e1d4d82db1?s=60">
|
821 |
-
Rami Yushuvaev</a>
|
822 |
-
</li>
|
823 |
</ul>
|
824 |
|
825 |
<h3 class="wp-people-group"><?php printf( esc_html__( 'Contributors to BuddyPress %s', 'buddypress' ), self::display_version() ); ?></h3>
|
826 |
<p class="wp-credits-list">
|
827 |
-
<a href="https://profiles.wordpress.org/55don/">55don</a>,
|
828 |
-
<a href="https://profiles.wordpress.org/aaronoftomorrow/">AaronOfTomorrow</a>,
|
829 |
-
<a href="https://profiles.wordpress.org/allianse/">allianse</a>,
|
830 |
-
<a href="https://profiles.wordpress.org/antonioeatgoat/">Antonio Mangiacapra (antonioeatgoat)</a>,
|
831 |
-
<a href="https://profiles.wordpress.org/benjlipchak/">Benj (benjlipchak)</a>,
|
832 |
<a href="https://profiles.wordpress.org/boonebgorges/">Boone B Gorges (boonebgorges)</a>,
|
833 |
-
<a href="https://profiles.wordpress.org/bhargavbhandari90/">Bunty (bhargavbhandari90)</a>,
|
834 |
<a href="https://profiles.wordpress.org/sbrajesh/">Brajesh Singh (sbrajesh)</a>,
|
|
|
835 |
<a href="https://profiles.wordpress.org/needle/">Christian Wach (needle)</a>,
|
836 |
-
<a href="https://profiles.wordpress.org/
|
837 |
-
<a href="https://profiles.wordpress.org/
|
838 |
<a href="https://profiles.wordpress.org/dcavins/">David Cavins (dcavins)</a>,
|
839 |
-
<a href="https://profiles.wordpress.org/
|
840 |
-
<a href="https://profiles.wordpress.org/
|
841 |
-
<a href="https://profiles.wordpress.org/
|
842 |
-
<a href="https://profiles.wordpress.org/
|
|
|
843 |
<a href="https://profiles.wordpress.org/hnla/">Hugo (hnla)</a>,
|
844 |
-
<a href="https://profiles.wordpress.org/
|
845 |
-
<a href="https://profiles.wordpress.org/uscore713/">Jay (uscore713)</a>,
|
846 |
-
<a href="https://profiles.wordpress.org/johnbillion/">John Blackbourn (johnbillion)</a>,
|
847 |
<a href="https://profiles.wordpress.org/johnjamesjacoby/">John James Jacoby (johnjamesjacoby)</a>,
|
848 |
-
<a href="https://profiles.wordpress.org/
|
849 |
-
<a href="https://profiles.wordpress.org/
|
|
|
|
|
850 |
<a href="https://profiles.wordpress.org/Offereins">Laurens Offereins (Offereins)</a>,
|
851 |
-
<a href="https://profiles.wordpress.org/
|
852 |
-
<a href="https://profiles.wordpress.org/lenasterg/">lenasterg</a>,
|
853 |
-
<a href="https://profiles.wordpress.org/maniou/">Maniou</a>,
|
854 |
<a href="https://profiles.wordpress.org/imath/">Mathieu Viet (imath)</a>,
|
855 |
<a href="https://profiles.wordpress.org/mercime/">mercime</a>,
|
856 |
<a href="https://profiles.wordpress.org/tw2113/">Michael Beckwith (tw2113)</a>,
|
857 |
-
<a href="https://profiles.wordpress.org/mikegillihan/">Mike Gillihan (MikeGillihan)</a>,
|
858 |
-
<a href="https://profiles.wordpress.org/milindmore22/">Milind More (milindmore22)</a>,
|
859 |
<a href="https://profiles.wordpress.org/modemlooper/">modemlooper</a>,
|
860 |
-
<a href="https://profiles.wordpress.org/mrjarbenne/">mrjarbenne</a>,
|
861 |
-
<a href="https://profiles.wordpress.org/nicolaskulka/">Nicolas Kulka (NicolasKulka)</a>,
|
862 |
-
<a href="https://profiles.wordpress.org/oelita/">Oelita</a>,
|
863 |
<a href="https://profiles.wordpress.org/DJPaul/">Paul Gibbs (DJPaul)</a>,
|
864 |
-
<a href="https://profiles.wordpress.org/
|
865 |
<a href="https://profiles.wordpress.org/r-a-y/">r-a-y</a>,
|
866 |
-
<a href="https://profiles.wordpress.org/
|
867 |
-
<a href="https://profiles.wordpress.org/
|
868 |
-
<a href="https://profiles.wordpress.org/
|
869 |
-
<a href="https://profiles.wordpress.org/seventhqueen/">seventhqueen</a>,
|
870 |
-
<a href="https://profiles.wordpress.org/slaffik/">Slava Abakumov (slaffik)</a>,
|
871 |
<a href="https://profiles.wordpress.org/netweb/">Stephen Edgar (netweb)</a>,
|
872 |
-
<a href="https://profiles.wordpress.org/
|
|
|
873 |
</p>
|
874 |
|
875 |
<h3 class="wp-people-group"><?php _e( '💖With our thanks to these Open Source projects💖', 'buddypress' ); ?></h3>
|
@@ -877,12 +825,10 @@ class BP_Admin {
|
|
877 |
<a href="https://github.com/ichord/At.js">At.js</a>,
|
878 |
<a href="https://bbpress.org">bbPress</a>,
|
879 |
<a href="https://github.com/ichord/Caret.js">Caret.js</a>,
|
880 |
-
<a href="
|
881 |
-
<a href="
|
882 |
<a href="https://github.com/carhartl/jquery-cookie">jquery.cookie</a>,
|
883 |
-
<a href="https://mattbradley.github.io/livestampjs/">Livestamp.js</a>,
|
884 |
<a href="https://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>,
|
885 |
-
<a href="http://momentjs.com/">Moment.js</a>,
|
886 |
<a href="https://wordpress.org">WordPress</a>.
|
887 |
</p>
|
888 |
|
@@ -900,8 +846,8 @@ class BP_Admin {
|
|
900 |
|
901 |
// Switch welcome text based on whether this is a new installation or not.
|
902 |
$welcome_text = ( self::is_new_install() )
|
903 |
-
? __( 'Thank you for installing BuddyPress! BuddyPress
|
904 |
-
: __( 'Thank you for updating! BuddyPress %s has many new
|
905 |
|
906 |
?>
|
907 |
|
@@ -950,7 +896,7 @@ class BP_Admin {
|
|
950 |
*
|
951 |
* @since 2.6.0
|
952 |
*
|
953 |
-
* @param
|
954 |
* @return array
|
955 |
*/
|
956 |
public function emails_register_situation_column( $columns = array() ) {
|
117 |
* @since 1.6.0
|
118 |
*/
|
119 |
private function includes() {
|
120 |
+
if ( ! buddypress()->do_autoload ) {
|
121 |
+
require( $this->admin_dir . 'bp-core-admin-classes.php' );
|
122 |
+
}
|
123 |
+
|
124 |
require( $this->admin_dir . 'bp-core-admin-actions.php' );
|
125 |
require( $this->admin_dir . 'bp-core-admin-settings.php' );
|
126 |
require( $this->admin_dir . 'bp-core-admin-functions.php' );
|
193 |
* Contextually hooked to site or network-admin depending on current configuration.
|
194 |
*
|
195 |
* @since 1.6.0
|
196 |
+
*
|
197 |
+
* section.
|
198 |
*/
|
199 |
public function admin_menus() {
|
200 |
|
388 |
|
389 |
// Only show 'switch to Toolbar' option if the user chose to retain the BuddyBar during the 1.6 upgrade.
|
390 |
if ( (bool) bp_get_option( '_bp_force_buddybar', false ) ) {
|
|
|
|
|
|
|
|
|
|
|
391 |
add_settings_field( '_bp_force_buddybar', __( 'Toolbar', 'buddypress' ), 'bp_admin_setting_callback_force_buddybar', 'buddypress', 'bp_main' );
|
392 |
register_setting( 'buddypress', '_bp_force_buddybar', 'bp_admin_sanitize_callback_force_buddybar' );
|
393 |
}
|
396 |
add_settings_field( 'bp-disable-account-deletion', __( 'Account Deletion', 'buddypress' ), 'bp_admin_setting_callback_account_deletion', 'buddypress', 'bp_main' );
|
397 |
register_setting( 'buddypress', 'bp-disable-account-deletion', 'intval' );
|
398 |
|
|
|
|
|
|
|
|
|
399 |
/* XProfile Section **************************************************/
|
400 |
|
401 |
if ( bp_is_active( 'xprofile' ) ) {
|
564 |
|
565 |
<div id="welcome-panel" class="welcome-panel">
|
566 |
<div class="welcome-panel-content">
|
567 |
+
<h3 style="margin:0"><?php _e( 'Getting Started with BuddyPress', 'buddypress' ); ?></h3>
|
568 |
<div class="welcome-panel-column-container">
|
569 |
<div class="welcome-panel-column">
|
570 |
<h4><?php _e( 'Configure BuddyPress', 'buddypress' ); ?></h4>
|
609 |
|
610 |
<?php endif; ?>
|
611 |
|
612 |
+
<div class="headline-feature">
|
613 |
+
<h3 class="headline-title"><?php esc_html_e( 'Customizable BuddyPress Emails', 'buddypress' ); ?></h3>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
614 |
|
615 |
+
<div class="featured-image">
|
616 |
+
<img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/bp-emails-feature.png' ); ?>" alt="<?php esc_html_e( 'Change colors of the email template using the Customizer.', 'buddypress' ); ?>">
|
|
|
|
|
617 |
</div>
|
618 |
|
619 |
+
<p class="introduction"><?php _e( 'Keep your users coming back with beautiful and flexible email notifications.', 'buddypress' ); ?> </p>
|
620 |
+
<p><?php _e( 'Edit the content of your emails, create new email templates, or change the design of the template in the Customizer. These are just a few of the customizations you can make to engage your users and increase their participation in your community with the new email features.', 'buddypress' ); ?> <a href="https://codex.buddypress.org/emails/"><?php esc_html_e( 'Learn more →', 'buddypress' ); ?></a></p>
|
|
|
|
|
|
|
|
|
|
|
621 |
|
622 |
+
<div class="clear"></div>
|
623 |
</div>
|
624 |
|
625 |
+
<hr />
|
626 |
+
|
627 |
+
<div class="bp-features-section">
|
628 |
|
629 |
+
<div class="feature-section two-col">
|
630 |
+
<div>
|
631 |
+
<h3 class="feature-title"><?php esc_html_e( 'Post Type Comments Tracking', 'buddypress' ); ?></h3>
|
632 |
+
<img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/post-type.png' ); ?>" alt="<?php esc_attr_e( 'Registered post types', 'buddypress' ); ?>">
|
633 |
+
<p><?php esc_html_e( 'New Activity functions help you track post type comments in sync with the Blogs component when activated.', 'buddypress' ); ?></p>
|
634 |
</div>
|
635 |
+
<div class="last-feature">
|
636 |
+
<h3 class="feature-title"><?php esc_html_e( 'Twenty Twelve Companion Stylesheet', 'buddypress' ); ?></h3>
|
637 |
+
<img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/twentytwelve.png' ); ?>" alt="<?php esc_attr_e( 'BuddyPress styles Twenty Twelve', 'buddypress' ); ?>">
|
638 |
+
<p><?php esc_html_e( 'BuddyPress components never looked so fine as they do now in the Twenty Twelve theme.', 'buddypress' ); ?></p>
|
639 |
</div>
|
640 |
+
</div>
|
641 |
+
|
642 |
+
<div class="feature-section two-col">
|
643 |
+
<div>
|
644 |
+
<h3 class="feature-title"><?php esc_html_e( 'Support for emoji', 'buddypress' ); ?></h3>
|
645 |
+
<img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/emoji-feature.png' ); ?>" alt="<?php esc_attr_e( 'Fun with emoji', 'buddypress' ); ?>">
|
646 |
+
<p><?php esc_html_e( 'Have fun and be merry! You can now use emoji in activity updates, messages, and group descriptions.', 'buddypress' ); ?></p>
|
647 |
|
648 |
+
</div>
|
649 |
+
<div class="last-feature">
|
650 |
+
<h3 class="feature-title"><?php esc_html_e( 'Autolink Settings for Profile Fields', 'buddypress' ); ?></h3>
|
651 |
+
<img src="<?php echo esc_url( buddypress()->plugin_url . 'bp-core/admin/images/autolink-feature.png' ); ?>" alt="<?php esc_attr_e( 'Autolink settings in the profile fields panel', 'buddypress' ); ?>">
|
652 |
+
<p><?php _e( 'Administrators can enable or disable autolink settings for each new profile field type.', 'buddypress' ); ?></p>
|
653 |
</div>
|
654 |
</div>
|
655 |
|
656 |
+
</div>
|
657 |
+
|
658 |
+
<div class="changelog">
|
659 |
+
<h3 class="changelog-title"><?php esc_html_e( 'Under The Hood', 'buddypress' ); ?></h3>
|
660 |
+
|
661 |
+
<div class="feature-section col two-col">
|
662 |
+
<div>
|
663 |
+
<h4 class="title"><?php esc_html_e( 'Localization Improvements', 'buddypress' ); ?></h4>
|
664 |
+
<p><?php esc_html_e( 'We continue to improve on localization for translation editors so that BuddyPress will be available for everyone in their own language.', 'buddypress' ); ?></p>
|
665 |
+
<h4 class="title"><?php esc_html_e( 'Accessibility Upgrades', 'buddypress' ); ?></h4>
|
666 |
+
<p><?php esc_html_e( 'Continued improvements in the frontend and backend to make BuddyPress usable for everyone.', 'buddypress' ); ?></p>
|
|
|
667 |
</div>
|
668 |
|
669 |
+
<div class="last-feature">
|
670 |
+
<h4 class="title"><?php esc_html_e( 'Enhanced Multisite Support', 'buddypress' ); ?></h4>
|
671 |
+
<p><?php esc_html_e( 'BuddyPress is already primed for all multisite configurations available. We just made it better.', 'buddypress' ); ?></p>
|
672 |
+
<h4 class="title"><?php esc_html_e( 'Developer Reference', 'buddypress' ); ?></h4>
|
673 |
+
<p><?php esc_html_e( 'Regular updates to inline code documentation make it easier for developers to understand how BuddyPress works.', 'buddypress' ); ?></p>
|
|
|
|
|
674 |
</div>
|
675 |
</div>
|
676 |
|
677 |
</div>
|
678 |
|
679 |
+
<p><?php _ex( 'Learn more:', 'About screen, website links', 'buddypress' ); ?> <a href="https://buddypress.org/blog/"><?php _ex( 'News', 'About screen, link to project blog', 'buddypress' ); ?></a> • <a href="https://buddypress.org/support/"><?php _ex( 'Support', 'About screen, link to support site', 'buddypress' ); ?></a> • <a href="https://codex.buddypress.org/"><?php _ex( 'Documentation', 'About screen, link to documentation', 'buddypress' ); ?></a> • <a href="https://bpdevel.wordpress.com/"><?php _ex( 'Development Blog', 'About screen, link to development blog', 'buddypress' ); ?></a></p>
|
|
|
680 |
|
681 |
+
<p><?php _ex( 'Twitter:', 'official Twitter accounts:', 'buddypress' ); ?> <a href="https://twitter.com/buddypress/"><?php _ex( 'BuddyPress', '@buddypress twitter account name', 'buddypress' ); ?></a> • <a href="https://twitter.com/bptrac/"><?php _ex( 'Trac', '@bptrac twitter account name', 'buddypress' ); ?></a> • <a href="https://twitter.com/buddypressdev/"><?php _ex( 'Development', '@buddypressdev twitter account name', 'buddypress' ); ?></a></p>
|
|
|
682 |
|
683 |
</div>
|
684 |
|
707 |
<h3 class="wp-people-group"><?php _e( 'Project Leaders', 'buddypress' ); ?></h3>
|
708 |
<ul class="wp-people-group " id="wp-people-group-project-leaders">
|
709 |
<li class="wp-person" id="wp-person-johnjamesjacoby">
|
710 |
+
<a class="web" href="https://profiles.wordpress.org/johnjamesjacoby"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/81ec16063d89b162d55efe72165c105f?s=60">
|
711 |
John James Jacoby</a>
|
712 |
<span class="title"><?php _e( 'Project Lead', 'buddypress' ); ?></span>
|
713 |
</li>
|
723 |
</li>
|
724 |
</ul>
|
725 |
|
726 |
+
<h3 class="wp-people-group"><?php _e( 'Core Team', 'buddypress' ); ?></h3>
|
727 |
<ul class="wp-people-group " id="wp-people-group-core-team">
|
|
|
|
|
|
|
|
|
|
|
728 |
<li class="wp-person" id="wp-person-r-a-y">
|
729 |
<a class="web" href="https://profiles.wordpress.org/r-a-y"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/3bfa556a62b5bfac1012b6ba5f42ebfa?s=60">
|
730 |
Ray</a>
|
750 |
Michael Beckwith</a>
|
751 |
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
|
752 |
</li>
|
753 |
+
<li class="wp-person" id="wp-person-hnla">
|
754 |
+
<a class="web" href="https://profiles.wordpress.org/hnla"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/3860c955aa3f79f13b92826ae47d07fe?s=60">
|
755 |
+
Hugo</a>
|
756 |
+
<span class="title"><?php _e( 'Core Developer', 'buddypress' ); ?></span>
|
757 |
+
</li>
|
758 |
+
</ul>
|
759 |
+
|
760 |
+
<h3 class="wp-people-group"><?php _e( '🌟Recent Rockstars🌟', 'buddypress' ); ?></h3>
|
761 |
+
<ul class="wp-people-group " id="wp-people-group-rockstars">
|
762 |
<li class="wp-person" id="wp-person-henry-wright">
|
763 |
<a class="web" href="https://profiles.wordpress.org/henry.wright"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/0da2f1a9340d6af196b870f6c107a248?s=60">
|
764 |
Henry Wright</a>
|
|
|
765 |
</li>
|
766 |
<li class="wp-person" id="wp-person-danbp">
|
767 |
<a class="web" href="https://profiles.wordpress.org/danbp"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/0deae2e7003027fbf153500cd3fa5501?s=60">
|
768 |
danbp</a>
|
|
|
769 |
</li>
|
770 |
<li class="wp-person" id="wp-person-shanebp">
|
771 |
<a class="web" href="https://profiles.wordpress.org/shanebp"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/ffd294ab5833ba14aaf175f9acc71cc4?s=60">
|
772 |
shanebp</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
773 |
</li>
|
774 |
<li class="wp-person" id="wp-person-netweb">
|
775 |
<a class="web" href="https://profiles.wordpress.org/netweb"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/97e1620b501da675315ba7cfb740e80f?s=60">
|
776 |
Stephen Edgar</a>
|
|
|
777 |
</li>
|
|
|
|
|
|
|
|
|
778 |
<li class="wp-person" id="wp-person-dimensionmedia">
|
779 |
<a class="web" href="https://profiles.wordpress.org/dimensionmedia"><img alt="" class="gravatar" src="//www.gravatar.com/avatar/7735aada1ec39d0c1118bd92ed4551f1?s=60">
|
780 |
David Bisset</a>
|
781 |
</li>
|
782 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
783 |
</ul>
|
784 |
|
785 |
<h3 class="wp-people-group"><?php printf( esc_html__( 'Contributors to BuddyPress %s', 'buddypress' ), self::display_version() ); ?></h3>
|
786 |
<p class="wp-credits-list">
|
|
|
|
|
|
|
|
|
|
|
787 |
<a href="https://profiles.wordpress.org/boonebgorges/">Boone B Gorges (boonebgorges)</a>,
|
|
|
788 |
<a href="https://profiles.wordpress.org/sbrajesh/">Brajesh Singh (sbrajesh)</a>,
|
789 |
+
<a href="https://profiles.wordpress.org/thebrandonallen/">Brandon Allen (thebrandonallen)</a>,
|
790 |
<a href="https://profiles.wordpress.org/needle/">Christian Wach (needle)</a>,
|
791 |
+
<a href="https://profiles.wordpress.org/timersys/">Damian (timersys)</a>,
|
792 |
+
<a href="https://profiles.wordpress.org/danbrellis/">danbrellis</a>,
|
793 |
<a href="https://profiles.wordpress.org/dcavins/">David Cavins (dcavins)</a>,
|
794 |
+
<a href="https://profiles.wordpress.org/wpdennis/">Dennis (wpdennis)</a>,
|
795 |
+
<a href="https://profiles.wordpress.org/wdfee/">Fee (wdfee)</a>,
|
796 |
+
<a href="https://profiles.wordpress.org/garrett-eclipse/">Garrett Hyder (garrett-eclipse)</a>,
|
797 |
+
<a href="https://profiles.wordpress.org/Mamaduka/">George Mamadashvili (Mamaduka)</a>,
|
798 |
+
<a href="https://profiles.wordpress.org/henrywright/">Henry Wright (henry.wright)</a>,
|
799 |
<a href="https://profiles.wordpress.org/hnla/">Hugo (hnla)</a>,
|
800 |
+
<a href="https://profiles.wordpress.org/jeffsayre/">Jeff Sayre (jeffsayre)</a>,
|
|
|
|
|
801 |
<a href="https://profiles.wordpress.org/johnjamesjacoby/">John James Jacoby (johnjamesjacoby)</a>,
|
802 |
+
<a href="https://profiles.wordpress.org/Jonnyauk/">Jonnyauk</a>,
|
803 |
+
<a href="https://profiles.wordpress.org/joost-abrahams/">Joost Abrahams (joost-abrahams)</a>,
|
804 |
+
<a href="https://profiles.wordpress.org/kennibc/">kennibc</a>,
|
805 |
+
<a href="https://profiles.wordpress.org/sooskriszta/">OC2PS (sooskriszta)</a>,
|
806 |
<a href="https://profiles.wordpress.org/Offereins">Laurens Offereins (Offereins)</a>,
|
807 |
+
<a href="https://profiles.wordpress.org/LenLay/">LenLay</a>,
|
|
|
|
|
808 |
<a href="https://profiles.wordpress.org/imath/">Mathieu Viet (imath)</a>,
|
809 |
<a href="https://profiles.wordpress.org/mercime/">mercime</a>,
|
810 |
<a href="https://profiles.wordpress.org/tw2113/">Michael Beckwith (tw2113)</a>,
|
|
|
|
|
811 |
<a href="https://profiles.wordpress.org/modemlooper/">modemlooper</a>,
|
|
|
|
|
|
|
812 |
<a href="https://profiles.wordpress.org/DJPaul/">Paul Gibbs (DJPaul)</a>,
|
813 |
+
<a href="https://profiles.wordpress.org/ramiy/">Rami Yushuvaev (ramiy)</a>,
|
814 |
<a href="https://profiles.wordpress.org/r-a-y/">r-a-y</a>,
|
815 |
+
<a href="https://profiles.wordpress.org/shanebp/">shanebp</a>,
|
816 |
+
<a href="https://profiles.wordpress.org/slaffik/">Slava UA (slaffik)</a>,
|
817 |
+
<a href="https://profiles.wordpress.org/jozik/">Srdjan (jozik)</a>,
|
|
|
|
|
818 |
<a href="https://profiles.wordpress.org/netweb/">Stephen Edgar (netweb)</a>,
|
819 |
+
<a href="https://profiles.wordpress.org/timeuser/">timeuser</a>,
|
820 |
+
<a href="https://profiles.wordpress.org/vnd/">vnd</a>.
|
821 |
</p>
|
822 |
|
823 |
<h3 class="wp-people-group"><?php _e( '💖With our thanks to these Open Source projects💖', 'buddypress' ); ?></h3>
|
825 |
<a href="https://github.com/ichord/At.js">At.js</a>,
|
826 |
<a href="https://bbpress.org">bbPress</a>,
|
827 |
<a href="https://github.com/ichord/Caret.js">Caret.js</a>,
|
828 |
+
<a href="http://tedgoas.github.io/Cerberus/">Cerberus</a>,
|
829 |
+
<a href="http://ionicons.com/">Ionicons</a>,
|
830 |
<a href="https://github.com/carhartl/jquery-cookie">jquery.cookie</a>,
|
|
|
831 |
<a href="https://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>,
|
|
|
832 |
<a href="https://wordpress.org">WordPress</a>.
|
833 |
</p>
|
834 |
|
846 |
|
847 |
// Switch welcome text based on whether this is a new installation or not.
|
848 |
$welcome_text = ( self::is_new_install() )
|
849 |
+
? __( 'Thank you for installing BuddyPress! BuddyPress helps you build any type of community website using WordPress, with member profiles, activity streams, user groups, messaging, and more.', 'buddypress' )
|
850 |
+
: __( 'Thank you for updating! BuddyPress %s has many new features that you will enjoy.', 'buddypress' );
|
851 |
|
852 |
?>
|
853 |
|
896 |
*
|
897 |
* @since 2.6.0
|
898 |
*
|
899 |
+
* @param array $columns Current column data.
|
900 |
* @return array
|
901 |
*/
|
902 |
public function emails_register_situation_column( $columns = array() ) {
|
@@ -61,6 +61,7 @@ class BP_Attachment_Avatar extends BP_Attachment {
|
|
61 |
* Set Upload Dir data for avatars.
|
62 |
*
|
63 |
* @since 2.3.0
|
|
|
64 |
*/
|
65 |
public function set_upload_dir() {
|
66 |
if ( bp_core_avatar_upload_path() && bp_core_avatar_url() ) {
|
@@ -80,7 +81,8 @@ class BP_Attachment_Avatar extends BP_Attachment {
|
|
80 |
*
|
81 |
* @since 2.3.0
|
82 |
*
|
83 |
-
*
|
|
|
84 |
* @return array the file with extra errors if needed.
|
85 |
*/
|
86 |
public function validate_upload( $file = array() ) {
|
@@ -108,9 +110,10 @@ class BP_Attachment_Avatar extends BP_Attachment {
|
|
108 |
* @since 2.3.0
|
109 |
* @since 2.4.0 Add the $ui_available_width parameter, to inform about the Avatar UI width.
|
110 |
*
|
|
|
111 |
* @param string $file The absolute path to the file.
|
112 |
* @param int $ui_available_width Available width for the UI.
|
113 |
-
* @return
|
114 |
*/
|
115 |
public static function shrink( $file = '', $ui_available_width = 0 ) {
|
116 |
// Get image size.
|
@@ -204,23 +207,11 @@ class BP_Attachment_Avatar extends BP_Attachment {
|
|
204 |
return false;
|
205 |
}
|
206 |
|
207 |
-
if ( ! bp_attachments_current_user_can( 'edit_avatar', $args ) ) {
|
208 |
-
return false;
|
209 |
-
}
|
210 |
-
|
211 |
-
if ( 'user' === $args['object'] ) {
|
212 |
-
$avatar_dir = 'avatars';
|
213 |
-
} else {
|
214 |
-
$avatar_dir = sanitize_key( $args['object'] ) . '-avatars';
|
215 |
-
}
|
216 |
-
|
217 |
-
$args['item_id'] = (int) $args['item_id'];
|
218 |
-
|
219 |
/**
|
220 |
* Original file is a relative path to the image
|
221 |
* eg: /avatars/1/avatar.jpg
|
222 |
*/
|
223 |
-
$relative_path =
|
224 |
$absolute_path = $this->upload_path . $relative_path;
|
225 |
|
226 |
// Bail if the avatar is not available.
|
61 |
* Set Upload Dir data for avatars.
|
62 |
*
|
63 |
* @since 2.3.0
|
64 |
+
*
|
65 |
*/
|
66 |
public function set_upload_dir() {
|
67 |
if ( bp_core_avatar_upload_path() && bp_core_avatar_url() ) {
|
81 |
*
|
82 |
* @since 2.3.0
|
83 |
*
|
84 |
+
*
|
85 |
+
* @param array $file the temporary file attributes (before it has been moved).
|
86 |
* @return array the file with extra errors if needed.
|
87 |
*/
|
88 |
public function validate_upload( $file = array() ) {
|
110 |
* @since 2.3.0
|
111 |
* @since 2.4.0 Add the $ui_available_width parameter, to inform about the Avatar UI width.
|
112 |
*
|
113 |
+
*
|
114 |
* @param string $file The absolute path to the file.
|
115 |
* @param int $ui_available_width Available width for the UI.
|
116 |
+
* @return mixed
|
117 |
*/
|
118 |
public static function shrink( $file = '', $ui_available_width = 0 ) {
|
119 |
// Get image size.
|
207 |
return false;
|
208 |
}
|
209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
/**
|
211 |
* Original file is a relative path to the image
|
212 |
* eg: /avatars/1/avatar.jpg
|
213 |
*/
|
214 |
+
$relative_path = $args['original_file'];
|
215 |
$absolute_path = $this->upload_path . $relative_path;
|
216 |
|
217 |
// Bail if the avatar is not available.
|
@@ -201,7 +201,7 @@ class BP_Attachment_Cover_Image extends BP_Attachment {
|
|
201 |
* @since 2.4.0
|
202 |
*
|
203 |
* @param string $file The absolute path to the file.
|
204 |
-
* @return
|
205 |
*/
|
206 |
public function generate_filename( $file = '' ) {
|
207 |
if ( empty( $file ) || ! file_exists( $file ) ) {
|
201 |
* @since 2.4.0
|
202 |
*
|
203 |
* @param string $file The absolute path to the file.
|
204 |
+
* @return string $value The absolute path to the new file name.
|
205 |
*/
|
206 |
public function generate_filename( $file = '' ) {
|
207 |
if ( empty( $file ) || ! file_exists( $file ) ) {
|
@@ -197,17 +197,17 @@ abstract class BP_Attachment {
|
|
197 |
*
|
198 |
* @since 2.3.0
|
199 |
*
|
200 |
-
*
|
201 |
-
* @param
|
202 |
-
* @param
|
|
|
203 |
* @return array On success, returns an associative array of file attributes.
|
204 |
* On failure, returns an array containing the error message
|
205 |
* (eg: array( 'error' => $message ) )
|
206 |
*/
|
207 |
public function upload( $file, $upload_dir_filter = '', $time = null ) {
|
208 |
/**
|
209 |
-
* Upload action and the file input name are required parameters
|
210 |
-
*
|
211 |
* @see BP_Attachment:__construct()
|
212 |
*/
|
213 |
if ( empty( $this->action ) || empty( $this->file_input ) ) {
|
@@ -219,6 +219,13 @@ abstract class BP_Attachment {
|
|
219 |
*/
|
220 |
add_filter( "{$this->action}_prefilter", array( $this, 'validate_upload' ), 10, 1 );
|
221 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
222 |
// Set Default overrides.
|
223 |
$overrides = array(
|
224 |
'action' => $this->action,
|
@@ -261,50 +268,21 @@ abstract class BP_Attachment {
|
|
261 |
add_filter( 'upload_dir', $upload_dir_filter, 10, $this->upload_dir_filter_args );
|
262 |
}
|
263 |
|
264 |
-
// Helper for utf-8 filenames.
|
265 |
-
add_filter( 'sanitize_file_name', array( $this, 'sanitize_utf8_filename' ) );
|
266 |
-
|
267 |
// Upload the attachment.
|
268 |
$this->attachment = wp_handle_upload( $file[ $this->file_input ], $overrides, $time );
|
269 |
|
270 |
-
remove_filter( 'sanitize_file_name', array( $this, 'sanitize_utf8_filename' ) );
|
271 |
-
|
272 |
// Restore WordPress Uploads data.
|
273 |
if ( ! empty( $upload_dir_filter ) ) {
|
274 |
-
remove_filter( 'upload_dir', $upload_dir_filter, 10 );
|
275 |
}
|
276 |
|
|
|
|
|
|
|
277 |
// Finally return the uploaded file or the error.
|
278 |
return $this->attachment;
|
279 |
}
|
280 |
|
281 |
-
/**
|
282 |
-
* Helper to convert utf-8 characters in filenames to their ASCII equivalent.
|
283 |
-
*
|
284 |
-
* @since 2.9.0
|
285 |
-
*
|
286 |
-
* @param string $retval Filename.
|
287 |
-
* @return string
|
288 |
-
*/
|
289 |
-
public function sanitize_utf8_filename( $retval ) {
|
290 |
-
// PHP 5.4+ or with PECL intl 2.0+
|
291 |
-
if ( function_exists( 'transliterator_transliterate' ) && seems_utf8( $retval ) ) {
|
292 |
-
$retval = transliterator_transliterate( 'Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove', $retval );
|
293 |
-
|
294 |
-
// Older.
|
295 |
-
} else {
|
296 |
-
// Use WP's built-in function to convert accents to their ASCII equivalent.
|
297 |
-
$retval = remove_accents( $retval );
|
298 |
-
|
299 |
-
// Still here? use iconv().
|
300 |
-
if ( function_exists( 'iconv' ) && seems_utf8( $retval ) ) {
|
301 |
-
$retval = iconv( 'UTF-8', 'ASCII//TRANSLIT//IGNORE', $retval );
|
302 |
-
}
|
303 |
-
}
|
304 |
-
|
305 |
-
return $retval;
|
306 |
-
}
|
307 |
-
|
308 |
/**
|
309 |
* Validate the allowed mime types using WordPress allowed mime types.
|
310 |
*
|
@@ -342,7 +320,7 @@ abstract class BP_Attachment {
|
|
342 |
*
|
343 |
* @since 2.3.0
|
344 |
*
|
345 |
-
* @param
|
346 |
* @return array The file.
|
347 |
*/
|
348 |
public function validate_upload( $file = array() ) {
|
@@ -367,7 +345,7 @@ abstract class BP_Attachment {
|
|
367 |
*
|
368 |
* regarding to context
|
369 |
*
|
370 |
-
* @param
|
371 |
* @return array The upload directory data.
|
372 |
*/
|
373 |
public function upload_dir_filter( $upload_dir = array() ) {
|
@@ -544,9 +522,9 @@ abstract class BP_Attachment {
|
|
544 |
/**
|
545 |
* Get full data for an image
|
546 |
*
|
547 |
-
* @since
|
548 |
*
|
549 |
-
* @param
|
550 |
* @return bool|array An associate array containing the width, height and metadatas.
|
551 |
* False in case an important image attribute is missing.
|
552 |
*/
|
@@ -575,16 +553,30 @@ abstract class BP_Attachment {
|
|
575 |
|
576 |
// Now try to get image's meta data.
|
577 |
$meta = wp_read_image_metadata( $file );
|
|
|
578 |
if ( ! empty( $meta ) ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
$image_data['meta'] = $meta;
|
580 |
}
|
581 |
|
582 |
/**
|
583 |
* Filter here to add/remove/edit data to the image full data
|
584 |
*
|
585 |
-
* @since
|
586 |
*
|
587 |
-
* @param
|
588 |
*/
|
589 |
return apply_filters( 'bp_attachments_get_image_data', $image_data );
|
590 |
}
|
@@ -592,7 +584,7 @@ abstract class BP_Attachment {
|
|
592 |
/**
|
593 |
* Edit an image file to resize it or rotate it
|
594 |
*
|
595 |
-
* @since
|
596 |
*
|
597 |
* @param string $attachment_type The attachment type (eg: avatar or cover_image). Required.
|
598 |
* @param array $args {
|
197 |
*
|
198 |
* @since 2.3.0
|
199 |
*
|
200 |
+
*
|
201 |
+
* @param array $file The appropriate entry the from $_FILES superglobal.
|
202 |
+
* @param string $upload_dir_filter A specific filter to be applied to 'upload_dir' (optional).
|
203 |
+
* @param string|null $time Optional. Time formatted in 'yyyy/mm'. Default null.
|
204 |
* @return array On success, returns an associative array of file attributes.
|
205 |
* On failure, returns an array containing the error message
|
206 |
* (eg: array( 'error' => $message ) )
|
207 |
*/
|
208 |
public function upload( $file, $upload_dir_filter = '', $time = null ) {
|
209 |
/**
|
210 |
+
* Upload action and the file input name are required parameters
|
|
|
211 |
* @see BP_Attachment:__construct()
|
212 |
*/
|
213 |
if ( empty( $this->action ) || empty( $this->file_input ) ) {
|
219 |
*/
|
220 |
add_filter( "{$this->action}_prefilter", array( $this, 'validate_upload' ), 10, 1 );
|
221 |
|
222 |
+
/**
|
223 |
+
* The above dynamic filter was introduced in WordPress 4.0, as we support WordPress
|
224 |
+
* back to 3.6, we need to also use the pre 4.0 static filter and remove it after
|
225 |
+
* the upload was processed.
|
226 |
+
*/
|
227 |
+
add_filter( 'wp_handle_upload_prefilter', array( $this, 'validate_upload' ), 10, 1 );
|
228 |
+
|
229 |
// Set Default overrides.
|
230 |
$overrides = array(
|
231 |
'action' => $this->action,
|
268 |
add_filter( 'upload_dir', $upload_dir_filter, 10, $this->upload_dir_filter_args );
|
269 |
}
|
270 |
|
|
|
|
|
|
|
271 |
// Upload the attachment.
|
272 |
$this->attachment = wp_handle_upload( $file[ $this->file_input ], $overrides, $time );
|
273 |
|
|
|
|
|
274 |
// Restore WordPress Uploads data.
|
275 |
if ( ! empty( $upload_dir_filter ) ) {
|
276 |
+
remove_filter( 'upload_dir', $upload_dir_filter, 10, $this->upload_dir_filter_args );
|
277 |
}
|
278 |
|
279 |
+
// Remove the pre WordPress 4.0 static filter.
|
280 |
+
remove_filter( 'wp_handle_upload_prefilter', array( $this, 'validate_upload' ), 10, 1 );
|
281 |
+
|
282 |
// Finally return the uploaded file or the error.
|
283 |
return $this->attachment;
|
284 |
}
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
/**
|
287 |
* Validate the allowed mime types using WordPress allowed mime types.
|
288 |
*
|
320 |
*
|
321 |
* @since 2.3.0
|
322 |
*
|
323 |
+
* @param array $file The temporary file attributes (before it has been moved).
|
324 |
* @return array The file.
|
325 |
*/
|
326 |
public function validate_upload( $file = array() ) {
|
345 |
*
|
346 |
* regarding to context
|
347 |
*
|
348 |
+
* @param array $upload_dir The original Uploads dir.
|
349 |
* @return array The upload directory data.
|
350 |
*/
|
351 |
public function upload_dir_filter( $upload_dir = array() ) {
|
522 |
/**
|
523 |
* Get full data for an image
|
524 |
*
|
525 |
+
* @since 2.4.0
|
526 |
*
|
527 |
+
* @param string $file Absolute path to the uploaded image.
|
528 |
* @return bool|array An associate array containing the width, height and metadatas.
|
529 |
* False in case an important image attribute is missing.
|
530 |
*/
|
553 |
|
554 |
// Now try to get image's meta data.
|
555 |
$meta = wp_read_image_metadata( $file );
|
556 |
+
|
557 |
if ( ! empty( $meta ) ) {
|
558 |
+
// Before 4.0 the Orientation wasn't included.
|
559 |
+
if ( ! isset( $meta['orientation'] ) &&
|
560 |
+
is_callable( 'exif_read_data' ) &&
|
561 |
+
in_array( $sourceImageType, apply_filters( 'wp_read_image_metadata_types', array( IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM ) ) )
|
562 |
+
) {
|
563 |
+
$exif = exif_read_data( $file );
|
564 |
+
|
565 |
+
if ( ! empty( $exif['Orientation'] ) ) {
|
566 |
+
$meta['orientation'] = $exif['Orientation'];
|
567 |
+
}
|
568 |
+
}
|
569 |
+
|
570 |
+
// Now add the metas to image data.
|
571 |
$image_data['meta'] = $meta;
|
572 |
}
|
573 |
|
574 |
/**
|
575 |
* Filter here to add/remove/edit data to the image full data
|
576 |
*
|
577 |
+
* @since 2.4.0
|
578 |
*
|
579 |
+
* @param array $image_data An associate array containing the width, height and metadatas.
|
580 |
*/
|
581 |
return apply_filters( 'bp_attachments_get_image_data', $image_data );
|
582 |
}
|
584 |
/**
|
585 |
* Edit an image file to resize it or rotate it
|
586 |
*
|
587 |
+
* @since 2.4.0
|
588 |
*
|
589 |
* @param string $attachment_type The attachment type (eg: avatar or cover_image). Required.
|
590 |
* @param array $args {
|
@@ -14,35 +14,35 @@ defined( 'ABSPATH' ) || exit;
|
|
14 |
* API to create BuddyPress buttons.
|
15 |
*
|
16 |
* @since 1.2.6
|
17 |
-
* @since 2.7.0 Introduced $parent_element, $parent_attr, $button_element, $button_attr as
|
18 |
-
* $args parameters.
|
19 |
-
* Deprecated $wrapper, $wrapper_id, $wrapper_class, $link_href, $link_class,
|
20 |
-
* $link_id, $link_rel, $link_title as $args params.
|
21 |
*
|
22 |
* @param array $args {
|
23 |
* Array of arguments.
|
24 |
*
|
25 |
* @type string $id String describing the button type.
|
26 |
-
* @type string $component The name of the component the button belongs to.
|
27 |
-
*
|
28 |
-
*
|
29 |
-
*
|
30 |
-
*
|
31 |
-
*
|
32 |
-
*
|
33 |
-
*
|
34 |
-
*
|
35 |
-
*
|
36 |
-
*
|
37 |
-
*
|
38 |
-
* @type string
|
39 |
-
*
|
40 |
-
* @type string $
|
41 |
-
*
|
42 |
-
* @type string $link_class
|
43 |
-
* @type string $link_id
|
44 |
-
* @type string $link_rel
|
45 |
-
*
|
|
|
|
|
|
|
|
|
46 |
* }
|
47 |
*/
|
48 |
class BP_Button {
|
@@ -52,8 +52,6 @@ class BP_Button {
|
|
52 |
/**
|
53 |
* The button ID.
|
54 |
*
|
55 |
-
* @since 1.2.6
|
56 |
-
*
|
57 |
* @var string
|
58 |
*/
|
59 |
public $id = '';
|
@@ -61,8 +59,6 @@ class BP_Button {
|
|
61 |
/**
|
62 |
* The name of the component that the button belongs to.
|
63 |
*
|
64 |
-
* @since 1.2.6
|
65 |
-
*
|
66 |
* @var string
|
67 |
*/
|
68 |
public $component = 'core';
|
@@ -70,8 +66,6 @@ class BP_Button {
|
|
70 |
/**
|
71 |
* Does the user need to be logged in to see this button?
|
72 |
*
|
73 |
-
* @since 1.2.6
|
74 |
-
*
|
75 |
* @var bool
|
76 |
*/
|
77 |
public $must_be_logged_in = true;
|
@@ -79,88 +73,22 @@ class BP_Button {
|
|
79 |
/**
|
80 |
* Whether the button should be hidden when viewing your own profile.
|
81 |
*
|
82 |
-
* @since 1.2.6
|
83 |
-
*
|
84 |
* @var bool
|
85 |
*/
|
86 |
public $block_self = true;
|
87 |
|
88 |
/** Wrapper ***************************************************************/
|
89 |
|
90 |
-
/**
|
91 |
-
* Parent element to wrap button around.
|
92 |
-
*
|
93 |
-
* @since 2.7.0
|
94 |
-
*
|
95 |
-
* @var string Default: 'div'.
|
96 |
-
*/
|
97 |
-
public $parent_element = '';
|
98 |
-
|
99 |
-
/**
|
100 |
-
* Element attributes for parent element.
|
101 |
-
*
|
102 |
-
* @since 2.7.0
|
103 |
-
*
|
104 |
-
* @var array Set whatever attributes like 'id', 'class' as array key.
|
105 |
-
*/
|
106 |
-
public $parent_attr = array();
|
107 |
-
|
108 |
-
/** Button ****************************************************************/
|
109 |
-
|
110 |
-
/**
|
111 |
-
* Button element.
|
112 |
-
*
|
113 |
-
* @since 2.7.0
|
114 |
-
*
|
115 |
-
* @var string Default: 'a'.
|
116 |
-
*/
|
117 |
-
public $button_element = 'a';
|
118 |
-
|
119 |
-
/**
|
120 |
-
* Button attributes.
|
121 |
-
*
|
122 |
-
* @since 2.7.0
|
123 |
-
*
|
124 |
-
* @var array Set whatever attributes like 'id', 'href' as array key.
|
125 |
-
*/
|
126 |
-
public $button_attr = array();
|
127 |
-
|
128 |
-
/**
|
129 |
-
* The contents of the button link.
|
130 |
-
*
|
131 |
-
* @since 1.2.6
|
132 |
-
*
|
133 |
-
* @var string
|
134 |
-
*/
|
135 |
-
public $link_text = '';
|
136 |
-
|
137 |
-
/**
|
138 |
-
* HTML result.
|
139 |
-
*
|
140 |
-
* @since 1.2.6
|
141 |
-
*
|
142 |
-
* @var string
|
143 |
-
*/
|
144 |
-
public $contents = '';
|
145 |
-
|
146 |
-
/** Deprecated ***********************************************************/
|
147 |
-
|
148 |
/**
|
149 |
* The type of DOM element to use for a wrapper.
|
150 |
*
|
151 |
-
* @
|
152 |
-
* @deprecated 2.7.0 Use $parent_element instead.
|
153 |
-
*
|
154 |
-
* @var string|bool
|
155 |
*/
|
156 |
public $wrapper = 'div';
|
157 |
|
158 |
/**
|
159 |
* The DOM class of the button wrapper.
|
160 |
*
|
161 |
-
* @since 1.2.6
|
162 |
-
* @deprecated 2.7.0 Set 'class' key in $parent_attr instead.
|
163 |
-
*
|
164 |
* @var string
|
165 |
*/
|
166 |
public $wrapper_class = '';
|
@@ -168,19 +96,15 @@ class BP_Button {
|
|
168 |
/**
|
169 |
* The DOM ID of the button wrapper.
|
170 |
*
|
171 |
-
* @since 1.2.6
|
172 |
-
* @deprecated 2.7.0 Set 'id' key in $parent_attr instead.
|
173 |
-
*
|
174 |
* @var string
|
175 |
*/
|
176 |
public $wrapper_id = '';
|
177 |
|
|
|
|
|
178 |
/**
|
179 |
* The destination link of the button.
|
180 |
*
|
181 |
-
* @since 1.2.6
|
182 |
-
* @deprecated 2.7.0 Set 'href' key in $button_attr instead.
|
183 |
-
*
|
184 |
* @var string
|
185 |
*/
|
186 |
public $link_href = '';
|
@@ -188,9 +112,6 @@ class BP_Button {
|
|
188 |
/**
|
189 |
* The DOM class of the button link.
|
190 |
*
|
191 |
-
* @since 1.2.6
|
192 |
-
* @deprecated 2.7.0 Set 'class' key in $button_attr instead.
|
193 |
-
*
|
194 |
* @var string
|
195 |
*/
|
196 |
public $link_class = '';
|
@@ -198,9 +119,6 @@ class BP_Button {
|
|
198 |
/**
|
199 |
* The DOM ID of the button link.
|
200 |
*
|
201 |
-
* @since 1.2.6
|
202 |
-
* @deprecated 2.7.0 Set 'id' key in $button_attr instead.
|
203 |
-
*
|
204 |
* @var string
|
205 |
*/
|
206 |
public $link_id = '';
|
@@ -208,9 +126,6 @@ class BP_Button {
|
|
208 |
/**
|
209 |
* The DOM rel value of the button link.
|
210 |
*
|
211 |
-
* @since 1.2.6
|
212 |
-
* @deprecated 2.7.0 Set 'rel' key in $button_attr instead.
|
213 |
-
*
|
214 |
* @var string
|
215 |
*/
|
216 |
public $link_rel = '';
|
@@ -218,13 +133,23 @@ class BP_Button {
|
|
218 |
/**
|
219 |
* Title of the button link.
|
220 |
*
|
221 |
-
* @since 1.2.6
|
222 |
-
* @deprecated 2.7.0 Set 'title' key in $button_attr instead.
|
223 |
-
*
|
224 |
* @var string
|
225 |
*/
|
226 |
public $link_title = '';
|
227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
/** Methods ***************************************************************/
|
229 |
|
230 |
/**
|
@@ -238,102 +163,76 @@ class BP_Button {
|
|
238 |
|
239 |
$r = wp_parse_args( $args, get_class_vars( __CLASS__ ) );
|
240 |
|
241 |
-
// Backward compatibility with deprecated parameters.
|
242 |
-
$r = $this->backward_compatibility_args( $r );
|
243 |
-
|
244 |
-
// Deprecated. Subject to removal in a future release.
|
245 |
-
$this->wrapper = $r['wrapper'];
|
246 |
-
if ( !empty( $r['link_id'] ) ) $this->link_id = ' id="' . $r['link_id'] . '"';
|
247 |
-
if ( !empty( $r['link_href'] ) ) $this->link_href = ' href="' . $r['link_href'] . '"';
|
248 |
-
if ( !empty( $r['link_title'] ) ) $this->link_title = ' title="' . $r['link_title'] . '"';
|
249 |
-
if ( !empty( $r['link_rel'] ) ) $this->link_rel = ' rel="' . $r['link_rel'] . '"';
|
250 |
-
if ( !empty( $r['link_class'] ) ) $this->link_class = ' class="' . $r['link_class'] . '"';
|
251 |
-
if ( !empty( $r['link_text'] ) ) $this->link_text = $r['link_text'];
|
252 |
-
|
253 |
// Required button properties.
|
254 |
$this->id = $r['id'];
|
255 |
$this->component = $r['component'];
|
256 |
$this->must_be_logged_in = (bool) $r['must_be_logged_in'];
|
257 |
$this->block_self = (bool) $r['block_self'];
|
|
|
258 |
|
259 |
-
// $id and $component are required
|
260 |
-
if ( empty( $r['id'] ) || empty( $r['component'] )
|
|
|
|
|
|
|
|
|
261 |
return false;
|
262 |
-
}
|
263 |
|
264 |
// No button for guests if must be logged in.
|
265 |
-
if ( true == $this->must_be_logged_in && ! is_user_logged_in() )
|
266 |
return false;
|
267 |
-
}
|
268 |
|
269 |
// The block_self property.
|
270 |
if ( true == $this->block_self ) {
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
* This condition takes precedence, because members loops can be found on user
|
275 |
-
* profiles.
|
276 |
-
*/
|
277 |
if ( bp_get_member_user_id() ) {
|
278 |
if ( is_user_logged_in() && bp_loggedin_user_id() == bp_get_member_user_id() ) {
|
279 |
return false;
|
280 |
}
|
281 |
|
282 |
-
// No button if viewing your own profile (and not in
|
|
|
283 |
} elseif ( bp_is_my_profile() ) {
|
284 |
return false;
|
285 |
}
|
286 |
}
|
287 |
|
288 |
-
//
|
289 |
-
if (
|
290 |
-
if ( ! isset( $r['parent_attr']['class'] ) ) {
|
291 |
-
$r['parent_attr']['class'] = '';
|
292 |
-
}
|
293 |
|
294 |
-
//
|
295 |
-
if (
|
296 |
-
|
297 |
-
$r['parent_attr'] = array();
|
298 |
-
}
|
299 |
-
if ( ! empty( $r['parent_attr']['class'] ) ) {
|
300 |
-
$r['parent_attr']['class'] .= ' ';
|
301 |
-
}
|
302 |
-
$r['parent_attr']['class'] .= 'generic-button';
|
303 |
}
|
304 |
|
305 |
-
//
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
'element' => $r['parent_element'],
|
312 |
-
'attr' => $r['parent_attr']
|
313 |
-
) );
|
314 |
|
315 |
// Set before and after.
|
316 |
-
$before = $
|
317 |
-
$after = $
|
318 |
|
319 |
-
// No
|
320 |
} else {
|
321 |
$before = $after = '';
|
322 |
}
|
323 |
|
324 |
-
//
|
325 |
-
$
|
326 |
-
if ( !
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
) );
|
332 |
-
$button = $button->contents();
|
333 |
-
}
|
334 |
|
335 |
// Build the button.
|
336 |
-
$this->contents = $before . $
|
337 |
|
338 |
/**
|
339 |
* Filters the button based on class parameters.
|
@@ -342,76 +241,15 @@ class BP_Button {
|
|
342 |
* allows button to be manipulated externally.
|
343 |
*
|
344 |
* @since 1.2.6
|
345 |
-
* @since 2.7.0 Added $r as a parameter.
|
346 |
*
|
347 |
* @param string $contents HTML being used for the button.
|
348 |
* @param BP_Button $this Current BP_Button instance.
|
349 |
* @param string $before HTML appended before the actual button.
|
350 |
* @param string $after HTML appended after the actual button.
|
351 |
-
* @param array $r Parsed button arguments.
|
352 |
*/
|
353 |
-
$this->contents = apply_filters( 'bp_button_' . $this->component . '_' . $this->id, $this->contents, $this, $before, $after
|
354 |
}
|
355 |
|
356 |
-
|
357 |
-
/**
|
358 |
-
* Provide backward compatibility for deprecated button arguments.
|
359 |
-
*
|
360 |
-
* @since 2.7.0.
|
361 |
-
*
|
362 |
-
* @param array $r See {@link BP_Button} class for full documentation.
|
363 |
-
* @return array
|
364 |
-
*/
|
365 |
-
protected function backward_compatibility_args( $r = array() ) {
|
366 |
-
// Array of deprecated arguments.
|
367 |
-
$backpat_args = array(
|
368 |
-
'wrapper', 'wrapper_class', 'wrapper_id',
|
369 |
-
'link_href', 'link_class', 'link_id', 'link_rel', 'link_title'
|
370 |
-
);
|
371 |
-
|
372 |
-
foreach ( $backpat_args as $prop ) {
|
373 |
-
if ( empty( $r[ $prop ] ) ) {
|
374 |
-
continue;
|
375 |
-
}
|
376 |
-
|
377 |
-
$parent = $child = false;
|
378 |
-
$sep = strpos( $prop, '_' );
|
379 |
-
|
380 |
-
// Check if this is an attribute.
|
381 |
-
if ( false !== $sep ) {
|
382 |
-
$child = true;
|
383 |
-
$parent = substr( $prop, 0, $sep );
|
384 |
-
} else {
|
385 |
-
$parent = $prop;
|
386 |
-
}
|
387 |
-
|
388 |
-
if ( 'wrapper' === $parent ) {
|
389 |
-
$parent = 'parent';
|
390 |
-
} else {
|
391 |
-
$parent = 'button';
|
392 |
-
}
|
393 |
-
|
394 |
-
// Set element.
|
395 |
-
if ( false === $child && empty( $r[ "{$parent}_element" ] ) ) {
|
396 |
-
$r[ "{$parent}_element" ] = $r[ $prop ];
|
397 |
-
|
398 |
-
// Set attributes.
|
399 |
-
} elseif ( true === $child ) {
|
400 |
-
$new_prop = substr( $prop, strpos( $prop, '_' ) +1 );
|
401 |
-
if ( empty( $r[ "{$parent}_attr" ] ) ) {
|
402 |
-
$r[ "{$parent}_attr" ] = array();
|
403 |
-
}
|
404 |
-
|
405 |
-
if ( empty( $r[ "{$parent}_attr" ][ $new_prop ] ) ) {
|
406 |
-
$r[ "{$parent}_attr" ][ $new_prop ] = $r[ $prop ];
|
407 |
-
}
|
408 |
-
}
|
409 |
-
}
|
410 |
-
|
411 |
-
return $r;
|
412 |
-
}
|
413 |
-
|
414 |
-
|
415 |
/**
|
416 |
* Return the markup for the generated button.
|
417 |
*
|
14 |
* API to create BuddyPress buttons.
|
15 |
*
|
16 |
* @since 1.2.6
|
|
|
|
|
|
|
|
|
17 |
*
|
18 |
* @param array $args {
|
19 |
* Array of arguments.
|
20 |
*
|
21 |
* @type string $id String describing the button type.
|
22 |
+
* @type string $component The name of the component the button belongs to.
|
23 |
+
* Default: 'core'.
|
24 |
+
* @type bool $must_be_logged_in Optional. Does the user need to be logged
|
25 |
+
* in to see this button? Default: true.
|
26 |
+
* @type bool $block_self Optional. True if the button should be hidden
|
27 |
+
* when a user is viewing his own profile.
|
28 |
+
* Default: true.
|
29 |
+
* @type string|bool $wrapper Optional. HTML element type that should wrap
|
30 |
+
* the button: 'div', 'span', 'p', or 'li'.
|
31 |
+
* False for no wrapper at all. Default: 'div'.
|
32 |
+
* @type string $wrapper_id Optional. DOM ID of the button wrapper element.
|
33 |
+
* Default: ''.
|
34 |
+
* @type string $wrapper_class Optional. DOM class of the button wrapper
|
35 |
+
* element. Default: ''.
|
36 |
+
* @type string $link_href Optional. Destination link of the button.
|
37 |
+
* Default: ''.
|
38 |
+
* @type string $link_class Optional. DOM class of the button. Default: ''.
|
39 |
+
* @type string $link_id Optional. DOM ID of the button. Default: ''.
|
40 |
+
* @type string $link_rel Optional. DOM 'rel' attribute of the button.
|
41 |
+
* Default: ''.
|
42 |
+
* @type string $link_title Optional. Title attribute of the button.
|
43 |
+
* Default: ''.
|
44 |
+
* @type string $link_text Optional. Text to appear on the button.
|
45 |
+
* Default: ''.
|
46 |
* }
|
47 |
*/
|
48 |
class BP_Button {
|
52 |
/**
|
53 |
* The button ID.
|
54 |
*
|
|
|
|
|
55 |
* @var string
|
56 |
*/
|
57 |
public $id = '';
|
59 |
/**
|
60 |
* The name of the component that the button belongs to.
|
61 |
*
|
|
|
|
|
62 |
* @var string
|
63 |
*/
|
64 |
public $component = 'core';
|
66 |
/**
|
67 |
* Does the user need to be logged in to see this button?
|
68 |
*
|
|
|
|
|
69 |
* @var bool
|
70 |
*/
|
71 |
public $must_be_logged_in = true;
|
73 |
/**
|
74 |
* Whether the button should be hidden when viewing your own profile.
|
75 |
*
|
|
|
|
|
76 |
* @var bool
|
77 |
*/
|
78 |
public $block_self = true;
|
79 |
|
80 |
/** Wrapper ***************************************************************/
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
/**
|
83 |
* The type of DOM element to use for a wrapper.
|
84 |
*
|
85 |
+
* @var string|bool 'div', 'span', 'p', 'li', or false for no wrapper.
|
|
|
|
|
|
|
86 |
*/
|
87 |
public $wrapper = 'div';
|
88 |
|
89 |
/**
|
90 |
* The DOM class of the button wrapper.
|
91 |
*
|
|
|
|
|
|
|
92 |
* @var string
|
93 |
*/
|
94 |
public $wrapper_class = '';
|
96 |
/**
|
97 |
* The DOM ID of the button wrapper.
|
98 |
*
|
|
|
|
|
|
|
99 |
* @var string
|
100 |
*/
|
101 |
public $wrapper_id = '';
|
102 |
|
103 |
+
/** Button ****************************************************************/
|
104 |
+
|
105 |
/**
|
106 |
* The destination link of the button.
|
107 |
*
|
|
|
|
|
|
|
108 |
* @var string
|
109 |
*/
|
110 |
public $link_href = '';
|
112 |
/**
|
113 |
* The DOM class of the button link.
|
114 |
*
|
|
|
|
|
|
|
115 |
* @var string
|
116 |
*/
|
117 |
public $link_class = '';
|
119 |
/**
|
120 |
* The DOM ID of the button link.
|
121 |
*
|
|
|
|
|
|
|
122 |
* @var string
|
123 |
*/
|
124 |
public $link_id = '';
|
126 |
/**
|
127 |
* The DOM rel value of the button link.
|
128 |
*
|
|
|
|
|
|
|
129 |
* @var string
|
130 |
*/
|
131 |
public $link_rel = '';
|
133 |
/**
|
134 |
* Title of the button link.
|
135 |
*
|
|
|
|
|
|
|
136 |
* @var string
|
137 |
*/
|
138 |
public $link_title = '';
|
139 |
|
140 |
+
/**
|
141 |
+
* The contents of the button link.
|
142 |
+
*
|
143 |
+
* @var string
|
144 |
+
*/
|
145 |
+
public $link_text = '';
|
146 |
+
|
147 |
+
/** HTML result
|
148 |
+
*
|
149 |
+
* @var string
|
150 |
+
*/
|
151 |
+
public $contents = '';
|
152 |
+
|
153 |
/** Methods ***************************************************************/
|
154 |
|
155 |
/**
|
163 |
|
164 |
$r = wp_parse_args( $args, get_class_vars( __CLASS__ ) );
|
165 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
// Required button properties.
|
167 |
$this->id = $r['id'];
|
168 |
$this->component = $r['component'];
|
169 |
$this->must_be_logged_in = (bool) $r['must_be_logged_in'];
|
170 |
$this->block_self = (bool) $r['block_self'];
|
171 |
+
$this->wrapper = $r['wrapper'];
|
172 |
|
173 |
+
// $id and $component are required
|
174 |
+
if ( empty( $r['id'] ) || empty( $r['component'] ) )
|
175 |
+
return false;
|
176 |
+
|
177 |
+
// No button if component is not active.
|
178 |
+
if ( ! bp_is_active( $this->component ) )
|
179 |
return false;
|
|
|
180 |
|
181 |
// No button for guests if must be logged in.
|
182 |
+
if ( true == $this->must_be_logged_in && ! is_user_logged_in() )
|
183 |
return false;
|
|
|
184 |
|
185 |
// The block_self property.
|
186 |
if ( true == $this->block_self ) {
|
187 |
+
// No button if you are the current user in a members loop
|
188 |
+
// This condition takes precedence, because members loops
|
189 |
+
// can be found on user profiles.
|
|
|
|
|
|
|
190 |
if ( bp_get_member_user_id() ) {
|
191 |
if ( is_user_logged_in() && bp_loggedin_user_id() == bp_get_member_user_id() ) {
|
192 |
return false;
|
193 |
}
|
194 |
|
195 |
+
// No button if viewing your own profile (and not in
|
196 |
+
// a members loop).
|
197 |
} elseif ( bp_is_my_profile() ) {
|
198 |
return false;
|
199 |
}
|
200 |
}
|
201 |
|
202 |
+
// Wrapper properties.
|
203 |
+
if ( false !== $this->wrapper ) {
|
|
|
|
|
|
|
204 |
|
205 |
+
// Wrapper ID.
|
206 |
+
if ( !empty( $r['wrapper_id'] ) ) {
|
207 |
+
$this->wrapper_id = ' id="' . $r['wrapper_id'] . '"';
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
}
|
209 |
|
210 |
+
// Wrapper class.
|
211 |
+
if ( !empty( $r['wrapper_class'] ) ) {
|
212 |
+
$this->wrapper_class = ' class="generic-button ' . $r['wrapper_class'] . '"';
|
213 |
+
} else {
|
214 |
+
$this->wrapper_class = ' class="generic-button"';
|
215 |
+
}
|
|
|
|
|
|
|
216 |
|
217 |
// Set before and after.
|
218 |
+
$before = '<' . $r['wrapper'] . $this->wrapper_class . $this->wrapper_id . '>';
|
219 |
+
$after = '</' . $r['wrapper'] . '>';
|
220 |
|
221 |
+
// No wrapper.
|
222 |
} else {
|
223 |
$before = $after = '';
|
224 |
}
|
225 |
|
226 |
+
// Link properties.
|
227 |
+
if ( !empty( $r['link_id'] ) ) $this->link_id = ' id="' . $r['link_id'] . '"';
|
228 |
+
if ( !empty( $r['link_href'] ) ) $this->link_href = ' href="' . $r['link_href'] . '"';
|
229 |
+
if ( !empty( $r['link_title'] ) ) $this->link_title = ' title="' . $r['link_title'] . '"';
|
230 |
+
if ( !empty( $r['link_rel'] ) ) $this->link_rel = ' rel="' . $r['link_rel'] . '"';
|
231 |
+
if ( !empty( $r['link_class'] ) ) $this->link_class = ' class="' . $r['link_class'] . '"';
|
232 |
+
if ( !empty( $r['link_text'] ) ) $this->link_text = $r['link_text'];
|
|
|
|
|
|
|
233 |
|
234 |
// Build the button.
|
235 |
+
$this->contents = $before . '<a'. $this->link_href . $this->link_title . $this->link_id . $this->link_rel . $this->link_class . '>' . $this->link_text . '</a>' . $after;
|
236 |
|
237 |
/**
|
238 |
* Filters the button based on class parameters.
|
241 |
* allows button to be manipulated externally.
|
242 |
*
|
243 |
* @since 1.2.6
|
|
|
244 |
*
|
245 |
* @param string $contents HTML being used for the button.
|
246 |
* @param BP_Button $this Current BP_Button instance.
|
247 |
* @param string $before HTML appended before the actual button.
|
248 |
* @param string $after HTML appended after the actual button.
|
|
|
249 |
*/
|
250 |
+
$this->contents = apply_filters( 'bp_button_' . $this->component . '_' . $this->id, $this->contents, $this, $before, $after );
|
251 |
}
|
252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
/**
|
254 |
* Return the markup for the generated button.
|
255 |
*
|
@@ -180,7 +180,7 @@ class BP_Core_BP_Nav_BackCompat implements ArrayAccess {
|
|
180 |
* @since 2.6.0
|
181 |
*
|
182 |
* @param mixed $offset Array offset.
|
183 |
-
* @return string
|
184 |
*/
|
185 |
public function get_component( $offset = '' ) {
|
186 |
if ( ! isset( $this->component ) ) {
|
180 |
* @since 2.6.0
|
181 |
*
|
182 |
* @param mixed $offset Array offset.
|
183 |
+
* @return string
|
184 |
*/
|
185 |
public function get_component( $offset = '' ) {
|
186 |
if ( ! isset( $this->component ) ) {
|
@@ -1,127 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Core component classes.
|
4 |
-
*
|
5 |
-
* @package BuddyPress
|
6 |
-
* @subpackage Core
|
7 |
-
* @since 2.7.0
|
8 |
-
*/
|
9 |
-
|
10 |
-
/**
|
11 |
-
* Generate markup for an HTML element.
|
12 |
-
*
|
13 |
-
* @since 2.7.0
|
14 |
-
*/
|
15 |
-
class BP_Core_HTML_Element {
|
16 |
-
/**
|
17 |
-
* Open tag for an element.
|
18 |
-
*
|
19 |
-
* This would include attributes if applicable. eg. '<a href="" class="">'
|
20 |
-
*
|
21 |
-
* @since 2.7.0
|
22 |
-
*
|
23 |
-
* @var string
|
24 |
-
*/
|
25 |
-
public $open_tag = '';
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Inner HTML for an element.
|
29 |
-
*
|
30 |
-
* For example, this could be anchor text within an <a> element.
|
31 |
-
*
|
32 |
-
* @since 2.7.0
|
33 |
-
*
|
34 |
-
* @var string
|
35 |
-
*/
|
36 |
-
public $inner_html = '';
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Closing tag for an element.
|
40 |
-
*
|
41 |
-
* For example, "</a>".
|
42 |
-
*
|
43 |
-
* @since 2.7.0
|
44 |
-
*
|
45 |
-
* @var string
|
46 |
-
*/
|
47 |
-
public $close_tag = '';
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Constructor.
|
51 |
-
*
|
52 |
-
* @since 2.7.0
|
53 |
-
*
|
54 |
-
* @param array $r {
|
55 |
-
* An array of arguments.
|
56 |
-
* @type string $element The element to render. eg. 'a' for the anchor element.
|
57 |
-
* @type array $attr Optional. The element's attributes set as key/value pairs. eg.
|
58 |
-
* array( 'href' => 'http://example.com', 'class' => 'my-class' )
|
59 |
-
* @type string $inner_html Optional. The inner HTML for the element if applicable. Please note that
|
60 |
-
* this isn't sanitized, so you should use your own sanitization routine
|
61 |
-
* before using this parameter.
|
62 |
-
* }
|
63 |
-
*/
|
64 |
-
public function __construct( $r = array() ) {
|
65 |
-
$elem = sanitize_html_class( $r['element'] );
|
66 |
-
if ( empty( $elem ) ) {
|
67 |
-
return;
|
68 |
-
}
|
69 |
-
|
70 |
-
// Render attributes.
|
71 |
-
$attributes = '';
|
72 |
-
foreach( (array) $r['attr'] as $attr => $val ) {
|
73 |
-
// If attribute is empty, skip.
|
74 |
-
if ( empty( $val ) ) {
|
75 |
-
continue;
|
76 |
-
}
|
77 |
-
|
78 |
-
if ( 'href' === $attr || 'formaction' === $attr || 'src' === $attr ) {
|
79 |
-
$val = esc_url( $val );
|
80 |
-
} elseif ( 'id' === $attr ) {
|
81 |
-
$val = sanitize_html_class( $val );
|
82 |
-
} else {
|
83 |
-
$val = esc_attr( $val );
|
84 |
-
}
|
85 |
-
|
86 |
-
$attributes .= sprintf( '%s="%s" ', sanitize_html_class( $attr ), $val );
|
87 |
-
}
|
88 |
-
|
89 |
-
// <input> / <img> is self-closing.
|
90 |
-
if ( 'input' === $elem || 'img' === $elem ) {
|
91 |
-
$this->open_tag = sprintf( '<%1$s %2$s />', $elem, $attributes );
|
92 |
-
|
93 |
-
// All other elements.
|
94 |
-
} else {
|
95 |
-
$this->open_tag = sprintf( '<%1$s %2$s>', $elem, $attributes );
|
96 |
-
$this->inner_html = ! empty( $r['inner_html'] ) ? $r['inner_html'] : '';
|
97 |
-
$this->close_tag = sprintf( '</%1$s>', $elem );
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
/**
|
102 |
-
* Returns a property from this class.
|
103 |
-
*
|
104 |
-
* @since 2.7.0
|
105 |
-
*
|
106 |
-
* @param string $prop Property name. Either 'open_tag', 'inner_html', 'close_tag'.
|
107 |
-
* @return string
|
108 |
-
*/
|
109 |
-
public function get( $prop = '' ) {
|
110 |
-
if ( ! isset( $this->{$prop} ) ) {
|
111 |
-
return '';
|
112 |
-
}
|
113 |
-
|
114 |
-
return $this->{$prop};
|
115 |
-
}
|
116 |
-
|
117 |
-
/**
|
118 |
-
* Returns full contents of HTML element.
|
119 |
-
*
|
120 |
-
* @since 2.7.0
|
121 |
-
*
|
122 |
-
* @return string
|
123 |
-
*/
|
124 |
-
public function contents() {
|
125 |
-
return $this->open_tag . $this->inner_html . $this->close_tag;
|
126 |
-
}
|
127 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -117,7 +117,7 @@ class BP_Core_Login_Widget extends WP_Widget {
|
|
117 |
|
118 |
<?php if ( bp_get_signup_allowed() ) : ?>
|
119 |
|
120 |
-
<span class="bp-login-widget-register-link"><a href="<?php echo esc_url( bp_get_signup_page() ); ?>"><?php _e( 'Register', 'buddypress' ); ?></a></span>
|
121 |
|
122 |
<?php endif; ?>
|
123 |
|
117 |
|
118 |
<?php if ( bp_get_signup_allowed() ) : ?>
|
119 |
|
120 |
+
<span class="bp-login-widget-register-link"><a href="<?php echo esc_url( bp_get_signup_page() ); ?>" title="<?php esc_attr_e( 'Register for a new account', 'buddypress' ); ?>"><?php _e( 'Register', 'buddypress' ); ?></a></span>
|
121 |
|
122 |
<?php endif; ?>
|
123 |
|
@@ -3,6 +3,8 @@
|
|
3 |
// Exit if accessed directly.
|
4 |
defined( 'ABSPATH' ) || exit;
|
5 |
|
|
|
|
|
6 |
/**
|
7 |
* Navigation item.
|
8 |
*
|
@@ -13,3 +15,20 @@ class BP_Core_Nav_Item extends ArrayObject {
|
|
13 |
parent::__construct( $data, ArrayObject::ARRAY_AS_PROPS );
|
14 |
}
|
15 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
// Exit if accessed directly.
|
4 |
defined( 'ABSPATH' ) || exit;
|
5 |
|
6 |
+
if ( class_exists( 'ArrayObject' ) ) :
|
7 |
+
|
8 |
/**
|
9 |
* Navigation item.
|
10 |
*
|
15 |
parent::__construct( $data, ArrayObject::ARRAY_AS_PROPS );
|
16 |
}
|
17 |
}
|
18 |
+
|
19 |
+
else :
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Navigation item.
|
23 |
+
*
|
24 |
+
* @since 2.6.0
|
25 |
+
*/
|
26 |
+
class BP_Core_Nav_Item {
|
27 |
+
public function __construct( $data ) {
|
28 |
+
foreach ( $data as $key => $value ) {
|
29 |
+
$this->key = $value;
|
30 |
+
}
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
endif;
|
@@ -4,7 +4,7 @@
|
|
4 |
*
|
5 |
* @package BuddyPress
|
6 |
* @subpackage Core
|
7 |
-
* @since
|
8 |
*/
|
9 |
|
10 |
// Exit if accessed directly.
|
@@ -56,7 +56,7 @@ class BP_Core_Nav {
|
|
56 |
*
|
57 |
* @since 2.6.0
|
58 |
*
|
59 |
-
* @param
|
60 |
* @return bool True if the nav item is set, false otherwise.
|
61 |
*/
|
62 |
public function __isset( $key ) {
|
@@ -68,7 +68,7 @@ class BP_Core_Nav {
|
|
68 |
*
|
69 |
* @since 2.6.0
|
70 |
*
|
71 |
-
* @param
|
72 |
* @return mixed The value corresponding to the requested nav item.
|
73 |
*/
|
74 |
public function __get( $key ) {
|
@@ -84,8 +84,8 @@ class BP_Core_Nav {
|
|
84 |
*
|
85 |
* @since 2.6.0
|
86 |
*
|
87 |
-
* @param
|
88 |
-
* @param
|
89 |
*/
|
90 |
public function __set( $key, $value ) {
|
91 |
if ( is_array( $value ) ) {
|
@@ -100,7 +100,7 @@ class BP_Core_Nav {
|
|
100 |
*
|
101 |
* @since 2.6.0
|
102 |
*
|
103 |
-
* @param
|
104 |
* @return mixed An array of nav item, a single nav item, or null if none found.
|
105 |
*/
|
106 |
public function get( $key = '' ) {
|
@@ -210,13 +210,11 @@ class BP_Core_Nav {
|
|
210 |
*
|
211 |
* @since 2.6.0
|
212 |
*
|
213 |
-
* @param string $
|
214 |
-
* @param string $
|
215 |
-
* @return
|
216 |
*/
|
217 |
-
public function delete_nav( $slug
|
218 |
-
|
219 |
-
// Bail if slug is empty
|
220 |
if ( empty( $slug ) ) {
|
221 |
return false;
|
222 |
}
|
@@ -276,7 +274,7 @@ class BP_Core_Nav {
|
|
276 |
unset( $this->nav[ $this->object_id ][ $nav_item->slug ] );
|
277 |
|
278 |
// Return the deleted item's screen functions.
|
279 |
-
return $screen_functions;
|
280 |
}
|
281 |
}
|
282 |
|
@@ -320,14 +318,14 @@ class BP_Core_Nav {
|
|
320 |
*
|
321 |
* @since 2.6.0
|
322 |
*
|
323 |
-
* @param
|
324 |
-
* @param
|
325 |
* @return array The list of primary objects nav
|
326 |
*/
|
327 |
public function get_primary( $args = array(), $sort = true ) {
|
328 |
$params = wp_parse_args( $args, array( 'primary' => true ) );
|
329 |
|
330 |
-
// This parameter is not overridable
|
331 |
if ( empty( $params['primary'] ) ) {
|
332 |
return false;
|
333 |
}
|
@@ -350,14 +348,14 @@ class BP_Core_Nav {
|
|
350 |
*
|
351 |
* @since 2.6.0
|
352 |
*
|
353 |
-
* @param
|
354 |
-
* @param
|
355 |
* @return array The list of secondary objects nav
|
356 |
*/
|
357 |
public function get_secondary( $args = array(), $sort = true ) {
|
358 |
$params = wp_parse_args( $args, array( 'parent_slug' => '' ) );
|
359 |
|
360 |
-
// No need to search children if the parent is not set
|
361 |
if ( empty( $params['parent_slug'] ) && empty( $params['secondary'] ) ) {
|
362 |
return false;
|
363 |
}
|
@@ -387,11 +385,11 @@ class BP_Core_Nav {
|
|
387 |
|
388 |
if ( $primary_nav_items ) {
|
389 |
foreach( $primary_nav_items as $key_nav => $primary_nav ) {
|
390 |
-
// Try to get the children
|
391 |
$children = $this->get_secondary( array( 'parent_slug' => $primary_nav->slug, 'user_has_access' => true ) );
|
392 |
|
393 |
if ( $children ) {
|
394 |
-
$primary_nav_items[ $key_nav ] = clone $primary_nav;
|
395 |
$primary_nav_items[ $key_nav ]->children = $children;
|
396 |
}
|
397 |
}
|
4 |
*
|
5 |
* @package BuddyPress
|
6 |
* @subpackage Core
|
7 |
+
* @since 2.6.0
|
8 |
*/
|
9 |
|
10 |
// Exit if accessed directly.
|
56 |
*
|
57 |
* @since 2.6.0
|
58 |
*
|
59 |
+
* @param string $key The requested nav slug.
|
60 |
* @return bool True if the nav item is set, false otherwise.
|
61 |
*/
|
62 |
public function __isset( $key ) {
|
68 |
*
|
69 |
* @since 2.6.0
|
70 |
*
|
71 |
+
* @param string $key The requested nav slug.
|
72 |
* @return mixed The value corresponding to the requested nav item.
|
73 |
*/
|
74 |
public function __get( $key ) {
|
84 |
*
|
85 |
* @since 2.6.0
|
86 |
*
|
87 |
+
* @param string $key The requested nav slug.
|
88 |
+
* @param mixed $value The value of the nav item.
|
89 |
*/
|
90 |
public function __set( $key, $value ) {
|
91 |
if ( is_array( $value ) ) {
|
100 |
*
|
101 |
* @since 2.6.0
|
102 |
*
|
103 |
+
* @param string $key The nav item slug to get. Optional.
|
104 |
* @return mixed An array of nav item, a single nav item, or null if none found.
|
105 |
*/
|
106 |
public function get( $key = '' ) {
|
210 |
*
|
211 |
* @since 2.6.0
|
212 |
*
|
213 |
+
* @param string $key The slug of the main item.
|
214 |
+
* @param string $sub_key The slug of the sub item.
|
215 |
+
* @return bool|callable|array False on failure, the screen function(s) on success.
|
216 |
*/
|
217 |
+
public function delete_nav( $slug, $parent_slug = '' ) {
|
|
|
|
|
218 |
if ( empty( $slug ) ) {
|
219 |
return false;
|
220 |
}
|
274 |
unset( $this->nav[ $this->object_id ][ $nav_item->slug ] );
|
275 |
|
276 |
// Return the deleted item's screen functions.
|
277 |
+
return array_unique( $screen_functions );
|
278 |
}
|
279 |
}
|
280 |
|
318 |
*
|
319 |
* @since 2.6.0
|
320 |
*
|
321 |
+
* @param array $args Filters to select the specific primary items. See wp_list_filter().
|
322 |
+
* @param bool $sort True to sort the nav items. False otherwise.
|
323 |
* @return array The list of primary objects nav
|
324 |
*/
|
325 |
public function get_primary( $args = array(), $sort = true ) {
|
326 |
$params = wp_parse_args( $args, array( 'primary' => true ) );
|
327 |
|
328 |
+
// This parameter is not overridable
|
329 |
if ( empty( $params['primary'] ) ) {
|
330 |
return false;
|
331 |
}
|
348 |
*
|
349 |
* @since 2.6.0
|
350 |
*
|
351 |
+
* @param array $args Filters to select the specific secondary items. See wp_list_filter().
|
352 |
+
* @param bool $sort True to sort the nav items. False otherwise.
|
353 |
* @return array The list of secondary objects nav
|
354 |
*/
|
355 |
public function get_secondary( $args = array(), $sort = true ) {
|
356 |
$params = wp_parse_args( $args, array( 'parent_slug' => '' ) );
|
357 |
|
358 |
+
// No need to search children if the parent is not set
|
359 |
if ( empty( $params['parent_slug'] ) && empty( $params['secondary'] ) ) {
|
360 |
return false;
|
361 |
}
|
385 |
|
386 |
if ( $primary_nav_items ) {
|
387 |
foreach( $primary_nav_items as $key_nav => $primary_nav ) {
|
388 |
+
// Try to get the children
|
389 |
$children = $this->get_secondary( array( 'parent_slug' => $primary_nav->slug, 'user_has_access' => true ) );
|
390 |
|
391 |
if ( $children ) {
|
392 |
+
$primary_nav_items[ $key_nav ] = clone( $primary_nav );
|
393 |
$primary_nav_items[ $key_nav ]->children = $children;
|
394 |
}
|
395 |
}
|
@@ -4,7 +4,6 @@
|
|
4 |
*
|
5 |
* @package BuddyPress
|
6 |
* @subpackage Core
|
7 |
-
* @since 2.6.0
|
8 |
*/
|
9 |
|
10 |
// Exit if accessed directly.
|
@@ -53,8 +52,6 @@ abstract class BP_Core_oEmbed_Extension {
|
|
53 |
* Add content for your oEmbed response here.
|
54 |
*
|
55 |
* @since 2.6.0
|
56 |
-
*
|
57 |
-
* @return null
|
58 |
*/
|
59 |
abstract protected function content();
|
60 |
|
@@ -74,7 +71,6 @@ abstract class BP_Core_oEmbed_Extension {
|
|
74 |
*
|
75 |
* @since 2.6.0
|
76 |
*
|
77 |
-
* @param string $url URL to validate.
|
78 |
* @return int Your item ID
|
79 |
*/
|
80 |
abstract protected function validate_url_to_item_id( $url );
|
@@ -84,7 +80,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
84 |
*
|
85 |
* @since 2.6.0
|
86 |
*
|
87 |
-
* @param
|
88 |
* @return array Should contain 'content', 'title', 'author_url', 'author_name' as array
|
89 |
* keys. 'author_url' and 'author_name' is optional; the rest are required.
|
90 |
*/
|
@@ -98,7 +94,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
98 |
*
|
99 |
* @since 2.6.0
|
100 |
*
|
101 |
-
* @param
|
102 |
* @return string Fallback HTML you want to output.
|
103 |
*/
|
104 |
abstract protected function set_fallback_html( $item_id );
|
@@ -126,6 +122,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
126 |
* @since 2.6.0
|
127 |
*
|
128 |
* @param int $item_id The item ID to do checks for.
|
|
|
129 |
*/
|
130 |
protected function set_iframe_title( $item_id ) {}
|
131 |
|
@@ -148,7 +145,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
148 |
protected function set_permalink() {
|
149 |
$url = bp_get_requested_url();
|
150 |
|
151 |
-
// Remove querystring from bp_get_requested_url()
|
152 |
if ( false !== strpos( bp_get_requested_url(), '?' ) ) {
|
153 |
$url = substr( bp_get_requested_url(), 0, strpos( bp_get_requested_url(), '?' ) );
|
154 |
}
|
@@ -242,7 +239,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
242 |
*
|
243 |
* @since 2.6.0
|
244 |
*
|
245 |
-
* @param
|
246 |
* @return string
|
247 |
*/
|
248 |
public function setup_template_parts( $template ) {
|
@@ -266,9 +263,6 @@ abstract class BP_Core_oEmbed_Extension {
|
|
266 |
* and inject our own template for BuddyPress use.
|
267 |
*
|
268 |
* @since 2.6.0
|
269 |
-
*
|
270 |
-
* @param string $slug Template slug.
|
271 |
-
* @param string $name Template name.
|
272 |
*/
|
273 |
public function content_buffer_start( $slug, $name ) {
|
274 |
if ( 'embed' !== $slug || 'content' !== $name ) {
|
@@ -286,8 +280,6 @@ abstract class BP_Core_oEmbed_Extension {
|
|
286 |
* and inject our own template for BuddyPress use.
|
287 |
*
|
288 |
* @since 2.6.0
|
289 |
-
*
|
290 |
-
* @param string $name Template name.
|
291 |
*/
|
292 |
public function content_buffer_end( $name ) {
|
293 |
if ( 'embed' !== $name || is_404() ) {
|
@@ -326,7 +318,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
326 |
*
|
327 |
* @since 2.6.0
|
328 |
*
|
329 |
-
* @param
|
330 |
* @return string
|
331 |
*/
|
332 |
public function add_oembed_discovery_links( $retval ) {
|
@@ -361,8 +353,8 @@ abstract class BP_Core_oEmbed_Extension {
|
|
361 |
*
|
362 |
* @link http://oembed.com/ View the 'Response parameters' section for more details.
|
363 |
*
|
364 |
-
* @param
|
365 |
-
* @param
|
366 |
* @return array
|
367 |
*/
|
368 |
protected function get_oembed_response_data( $item, $width ) {
|
@@ -411,7 +403,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
411 |
*
|
412 |
* @since 2.6.0
|
413 |
*
|
414 |
-
* @param
|
415 |
* @return WP_Error|array oEmbed response data or WP_Error on failure.
|
416 |
*/
|
417 |
public function get_item( $request ) {
|
@@ -516,7 +508,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
516 |
*
|
517 |
* @see bp_activity_embed_rest_route_callback()
|
518 |
*
|
519 |
-
* @param
|
520 |
* @return string
|
521 |
*/
|
522 |
public function filter_embed_url( $retval ) {
|
@@ -528,7 +520,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
528 |
$url = trailingslashit( $url );
|
529 |
|
530 |
// This is for the 'WordPress Embed' block
|
531 |
-
// @see bp_activity_embed_comments_button()
|
532 |
if ( 'the_permalink' !== current_filter() ) {
|
533 |
$url = add_query_arg( 'embed', 'true', trailingslashit( $url ) );
|
534 |
|
@@ -548,7 +540,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
548 |
*
|
549 |
* @since 2.6.0
|
550 |
*
|
551 |
-
* @param
|
552 |
* @return string
|
553 |
*/
|
554 |
public function filter_embed_html( $retval ) {
|
@@ -575,7 +567,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
575 |
$retval = str_replace( '<iframe', '<iframe style="max-width:100%"', $retval );
|
576 |
}
|
577 |
|
578 |
-
// Remove default <blockquote
|
579 |
$retval = substr( $retval, strpos( $retval, '</blockquote>' ) + 13 );
|
580 |
|
581 |
// Set up new fallback HTML
|
@@ -602,7 +594,7 @@ abstract class BP_Core_oEmbed_Extension {
|
|
602 |
*
|
603 |
* @see add_oembed_discovery_links()
|
604 |
*
|
605 |
-
* @param
|
606 |
* @return string
|
607 |
*/
|
608 |
public function filter_rest_url( $retval = '' ) {
|
@@ -621,4 +613,4 @@ abstract class BP_Core_oEmbed_Extension {
|
|
621 |
|
622 |
$this->content();
|
623 |
}
|
624 |
-
}
|
4 |
*
|
5 |
* @package BuddyPress
|
6 |
* @subpackage Core
|
|
|
7 |
*/
|
8 |
|
9 |
// Exit if accessed directly.
|
52 |
* Add content for your oEmbed response here.
|
53 |
*
|
54 |
* @since 2.6.0
|
|
|
|
|
55 |
*/
|
56 |
abstract protected function content();
|
57 |
|
71 |
*
|
72 |
* @since 2.6.0
|
73 |
*
|
|
|
74 |
* @return int Your item ID
|
75 |
*/
|
76 |
abstract protected function validate_url_to_item_id( $url );
|
80 |
*
|
81 |
* @since 2.6.0
|
82 |
*
|
83 |
+
* @param int $item_id Your item ID to do checks against.
|
84 |
* @return array Should contain 'content', 'title', 'author_url', 'author_name' as array
|
85 |
* keys. 'author_url' and 'author_name' is optional; the rest are required.
|
86 |
*/
|
94 |
*
|
95 |
* @since 2.6.0
|
96 |
*
|
97 |
+
* @param int $item_id Your item ID to do checks against.
|
98 |
* @return string Fallback HTML you want to output.
|
99 |
*/
|
100 |
abstract protected function set_fallback_html( $item_id );
|
122 |
* @since 2.6.0
|
123 |
*
|
124 |
* @param int $item_id The item ID to do checks for.
|
125 |
+
* @return string
|
126 |
*/
|
127 |
protected function set_iframe_title( $item_id ) {}
|
128 |
|
145 |
protected function set_permalink() {
|
146 |
$url = bp_get_requested_url();
|
147 |
|
148 |
+
// Remove querystring from bp_get_requested_url()
|
149 |
if ( false !== strpos( bp_get_requested_url(), '?' ) ) {
|
150 |
$url = substr( bp_get_requested_url(), 0, strpos( bp_get_requested_url(), '?' ) );
|
151 |
}
|
239 |
*
|
240 |
* @since 2.6.0
|
241 |
*
|
242 |
+
* @param string $template File path to current embed template.
|
243 |
* @return string
|
244 |
*/
|
245 |
public function setup_template_parts( $template ) {
|
263 |
* and inject our own template for BuddyPress use.
|
264 |
*
|
265 |
* @since 2.6.0
|
|
|
|
|
|
|
266 |
*/
|
267 |
public function content_buffer_start( $slug, $name ) {
|
268 |
if ( 'embed' !== $slug || 'content' !== $name ) {
|
280 |
* and inject our own template for BuddyPress use.
|
281 |
*
|
282 |
* @since 2.6.0
|
|
|
|
|
283 |
*/
|
284 |
public function content_buffer_end( $name ) {
|
285 |
if ( 'embed' !== $name || is_404() ) {
|
318 |
*
|
319 |
* @since 2.6.0
|
320 |
*
|
321 |
+
* @param string $retval Current discovery links.
|
322 |
* @return string
|
323 |
*/
|
324 |
public function add_oembed_discovery_links( $retval ) {
|
353 |
*
|
354 |
* @link http://oembed.com/ View the 'Response parameters' section for more details.
|
355 |
*
|
356 |
+
* @param array $item Custom oEmbed response data.
|
357 |
+
* @param int $width The requested width.
|
358 |
* @return array
|
359 |
*/
|
360 |
protected function get_oembed_response_data( $item, $width ) {
|
403 |
*
|
404 |
* @since 2.6.0
|
405 |
*
|
406 |
+
* @param WP_REST_Request $request Full data about the request.
|
407 |
* @return WP_Error|array oEmbed response data or WP_Error on failure.
|
408 |
*/
|
409 |
public function get_item( $request ) {
|
508 |
*
|
509 |
* @see bp_activity_embed_rest_route_callback()
|
510 |
*
|
511 |
+
* @param string $retval Current embed URL
|
512 |
* @return string
|
513 |
*/
|
514 |
public function filter_embed_url( $retval ) {
|
520 |
$url = trailingslashit( $url );
|
521 |
|
522 |
// This is for the 'WordPress Embed' block
|
523 |
+
// @see bp_activity_embed_comments_button()
|
524 |
if ( 'the_permalink' !== current_filter() ) {
|
525 |
$url = add_query_arg( 'embed', 'true', trailingslashit( $url ) );
|
526 |
|
540 |
*
|
541 |
* @since 2.6.0
|
542 |
*
|
543 |
+
* @param string $retval Current embed HTML
|
544 |
* @return string
|
545 |
*/
|
546 |
public function filter_embed_html( $retval ) {
|
567 |
$retval = str_replace( '<iframe', '<iframe style="max-width:100%"', $retval );
|
568 |
}
|
569 |
|
570 |
+
// Remove default <blockquote>
|
571 |
$retval = substr( $retval, strpos( $retval, '</blockquote>' ) + 13 );
|
572 |
|
573 |
// Set up new fallback HTML
|
594 |
*
|
595 |
* @see add_oembed_discovery_links()
|
596 |
*
|
597 |
+
* @param string $retval Current oEmbed endpoint URL
|
598 |
* @return string
|
599 |
*/
|
600 |
public function filter_rest_url( $retval = '' ) {
|
613 |
|
614 |
$this->content();
|
615 |
}
|
616 |
+
}
|
@@ -0,0 +1,83 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Callback class for bp_sort_by_key().
|
5 |
+
*
|
6 |
+
* Used in place of an anonymous closure.
|
7 |
+
*
|
8 |
+
* Developers should not use this class directly, as it may be removed once support for PHP 5.2 is dropped.
|
9 |
+
*
|
10 |
+
* @ignore
|
11 |
+
*
|
12 |
+
* @since 2.5.0
|
13 |
+
*/
|
14 |
+
class BP_Core_Sort_By_Key_Callback {
|
15 |
+
/**
|
16 |
+
* Object/array index to use for sorting.
|
17 |
+
*
|
18 |
+
* @since 2.5.0
|
19 |
+
* @var mixed
|
20 |
+
*/
|
21 |
+
protected $key;
|
22 |
+
|
23 |
+
/**
|
24 |
+
* Sort type.
|
25 |
+
*
|
26 |
+
* @since 2.5.0
|
27 |
+
* @var string
|
28 |
+
*/
|
29 |
+
protected $type;
|
30 |
+
|
31 |
+
/**
|
32 |
+
* Constructor.
|
33 |
+
*
|
34 |
+
* @since 2.5.0
|
35 |
+
*
|
36 |
+
* @param mixed $key Object or array index to use for sorting.
|
37 |
+
* @param string $type Sort type.
|
38 |
+
*/
|
39 |
+
public function __construct( $key, $type ) {
|
40 |
+
$this->key = $key;
|
41 |
+
$this->type = $type;
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Sort callback.
|
46 |
+
*
|
47 |
+
* @since 2.5.0
|
48 |
+
*
|
49 |
+
* @param $a object|array
|
50 |
+
* @param $b object|array
|
51 |
+
* @return int
|
52 |
+
*/
|
53 |
+
public function sort_callback( $a, $b ) {
|
54 |
+
$values = array( 0 => false, 1 => false, );
|
55 |
+
$func_args = func_get_args();
|
56 |
+
foreach ( $func_args as $indexi => $index ) {
|
57 |
+
if ( isset( $index->{$this->key} ) ) {
|
58 |
+
$values[ $indexi ] = $index->{$this->key};
|
59 |
+
} elseif ( isset( $index[ $this->key ] ) ) {
|
60 |
+
$values[ $indexi ] = $index[ $this->key ];
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
if ( isset( $values[0], $values[1] ) ) {
|
65 |
+
if ( 'num' === $this->type ) {
|
66 |
+
$cmp = $values[0] - $values[1];
|
67 |
+
} else {
|
68 |
+
$cmp = strcmp( $values[0], $values[1] );
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( 0 > $cmp ) {
|
72 |
+
$retval = -1;
|
73 |
+
} elseif ( 0 < $cmp ) {
|
74 |
+
$retval = 1;
|
75 |
+
} else {
|
76 |
+
$retval = 0;
|
77 |
+
}
|
78 |
+
return $retval;
|
79 |
+
} else {
|
80 |
+
return 0;
|
81 |
+
}
|
82 |
+
}
|
83 |
+
}
|
@@ -157,7 +157,7 @@ class BP_Core_User {
|
|
157 |
|
158 |
$this->user_url = bp_core_get_user_domain( $this->id, $this->profile_data['user_nicename'], $this->profile_data['user_login'] );
|
159 |
$this->fullname = esc_attr( $this->profile_data[$full_name_field_name]['field_data'] );
|
160 |
-
$this->user_link = "<a href='{$this->user_url}'>{$this->fullname}</a>";
|
161 |
$this->email = esc_attr( $this->profile_data['user_email'] );
|
162 |
} else {
|
163 |
$this->user_url = bp_core_get_user_domain( $this->id );
|
@@ -230,7 +230,7 @@ class BP_Core_User {
|
|
230 |
* Default: false.
|
231 |
* @param string|bool $meta_value See {@link BP_User_Query}.
|
232 |
* Default: false.
|
233 |
-
* @return
|
234 |
* @type int $total_users Total number of users matched by query
|
235 |
* params.
|
236 |
* @type array $paged_users The current page of users matched by
|
@@ -439,7 +439,7 @@ class BP_Core_User {
|
|
439 |
* @param bool $populate_extras If we should populate extra user fields.
|
440 |
* @param string $exclude Comma-separated IDs of users whose results
|
441 |
* aren't to be fetched.
|
442 |
-
* @return
|
443 |
*/
|
444 |
public static function get_users_by_letter( $letter, $limit = null, $page = 1, $populate_extras = true, $exclude = '' ) {
|
445 |
global $wpdb;
|
@@ -723,6 +723,16 @@ class BP_Core_User {
|
|
723 |
}
|
724 |
}
|
725 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
726 |
// Fetch the user's last_activity.
|
727 |
if ( 'active' != $type ) {
|
728 |
$user_activity = $wpdb->get_results( $wpdb->prepare( "SELECT user_id as id, meta_value as last_activity FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key( 'last_activity' ) ) );
|
@@ -767,7 +777,7 @@ class BP_Core_User {
|
|
767 |
* Get last activity data for a user or set of users.
|
768 |
*
|
769 |
* @param int|array $user_id User IDs or multiple user IDs.
|
770 |
-
* @return
|
771 |
*/
|
772 |
public static function get_last_activity( $user_id ) {
|
773 |
global $wpdb;
|
@@ -801,13 +811,6 @@ class BP_Core_User {
|
|
801 |
$retval = array();
|
802 |
foreach ( $user_ids as $user_id ) {
|
803 |
$retval[ $user_id ] = wp_cache_get( $user_id, 'bp_last_activity' );
|
804 |
-
|
805 |
-
if ( isset( $retval['user_id'] ) ) {
|
806 |
-
$retval[ $user_id ]['user_id'] = (int) $retval[ $user_id ]['user_id'];
|
807 |
-
}
|
808 |
-
if ( isset( $retval['activity_id'] ) ) {
|
809 |
-
$retval[ $user_id ]['activity_id'] = (int) $retval[ $user_id ]['activity_id'];
|
810 |
-
}
|
811 |
}
|
812 |
|
813 |
return $retval;
|
@@ -902,16 +905,6 @@ class BP_Core_User {
|
|
902 |
// Set cache.
|
903 |
wp_cache_set( $user_id, $activity[ $user_id ], 'bp_last_activity' );
|
904 |
|
905 |
-
/**
|
906 |
-
* Fires when a user's last_activity value has been updated.
|
907 |
-
*
|
908 |
-
* @since 2.7.0
|
909 |
-
*
|
910 |
-
* @param int $user_id ID of the user.
|
911 |
-
* @param string $time Last activity timestamp, in 'Y-m-d H:i:s' format.
|
912 |
-
*/
|
913 |
-
do_action( 'bp_core_user_updated_last_activity', $user_id, $time );
|
914 |
-
|
915 |
return $updated;
|
916 |
}
|
917 |
|
157 |
|
158 |
$this->user_url = bp_core_get_user_domain( $this->id, $this->profile_data['user_nicename'], $this->profile_data['user_login'] );
|
159 |
$this->fullname = esc_attr( $this->profile_data[$full_name_field_name]['field_data'] );
|
160 |
+
$this->user_link = "<a href='{$this->user_url}' title='{$this->fullname}'>{$this->fullname}</a>";
|
161 |
$this->email = esc_attr( $this->profile_data['user_email'] );
|
162 |
} else {
|
163 |
$this->user_url = bp_core_get_user_domain( $this->id );
|
230 |
* Default: false.
|
231 |
* @param string|bool $meta_value See {@link BP_User_Query}.
|
232 |
* Default: false.
|
233 |
+
* @return array {
|
234 |
* @type int $total_users Total number of users matched by query
|
235 |
* params.
|
236 |
* @type array $paged_users The current page of users matched by
|
439 |
* @param bool $populate_extras If we should populate extra user fields.
|
440 |
* @param string $exclude Comma-separated IDs of users whose results
|
441 |
* aren't to be fetched.
|
442 |
+
* @return mixed False on error, otherwise associative array of results.
|
443 |
*/
|
444 |
public static function get_users_by_letter( $letter, $limit = null, $page = 1, $populate_extras = true, $exclude = '' ) {
|
445 |
global $wpdb;
|
723 |
}
|
724 |
}
|
725 |
|
726 |
+
if ( 'active' != $type ) {
|
727 |
+
$user_activity = $wpdb->get_results( $wpdb->prepare( "SELECT user_id as id, meta_value as last_activity FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key( 'last_activity' ) ) );
|
728 |
+
for ( $i = 0, $count = count( $paged_users ); $i < $count; ++$i ) {
|
729 |
+
foreach ( (array) $user_activity as $activity ) {
|
730 |
+
if ( $activity->id == $paged_users[$i]->id )
|
731 |
+
$paged_users[$i]->last_activity = $activity->last_activity;
|
732 |
+
}
|
733 |
+
}
|
734 |
+
}
|
735 |
+
|
736 |
// Fetch the user's last_activity.
|
737 |
if ( 'active' != $type ) {
|
738 |
$user_activity = $wpdb->get_results( $wpdb->prepare( "SELECT user_id as id, meta_value as last_activity FROM {$wpdb->usermeta} WHERE meta_key = %s AND user_id IN ( {$user_ids} )", bp_get_user_meta_key( 'last_activity' ) ) );
|
777 |
* Get last activity data for a user or set of users.
|
778 |
*
|
779 |
* @param int|array $user_id User IDs or multiple user IDs.
|
780 |
+
* @return array
|
781 |
*/
|
782 |
public static function get_last_activity( $user_id ) {
|
783 |
global $wpdb;
|
811 |
$retval = array();
|
812 |
foreach ( $user_ids as $user_id ) {
|
813 |
$retval[ $user_id ] = wp_cache_get( $user_id, 'bp_last_activity' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
814 |
}
|
815 |
|
816 |
return $retval;
|
905 |
// Set cache.
|
906 |
wp_cache_set( $user_id, $activity[ $user_id ], 'bp_last_activity' );
|
907 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
908 |
return $updated;
|
909 |
}
|
910 |
|
@@ -254,8 +254,10 @@ class BP_Core extends BP_Component {
|
|
254 |
$bp->core->table_name_notifications = $bp->table_prefix . 'bp_notifications';
|
255 |
|
256 |
// Backward compatibility for plugins modifying the legacy bp_nav and bp_options_nav global properties.
|
257 |
-
|
258 |
-
|
|
|
|
|
259 |
|
260 |
/**
|
261 |
* Used to determine if user has admin rights on current content. If the
|
254 |
$bp->core->table_name_notifications = $bp->table_prefix . 'bp_notifications';
|
255 |
|
256 |
// Backward compatibility for plugins modifying the legacy bp_nav and bp_options_nav global properties.
|
257 |
+
if ( buddypress()->do_nav_backcompat ) {
|
258 |
+
$bp->bp_nav = new BP_Core_BP_Nav_BackCompat();
|
259 |
+
$bp->bp_options_nav = new BP_Core_BP_Options_Nav_BackCompat();
|
260 |
+
}
|
261 |
|
262 |
/**
|
263 |
* Used to determine if user has admin rights on current content. If the
|
@@ -469,7 +469,7 @@ class BP_Media_Extractor {
|
|
469 |
if ( ! empty( $matches[2] ) ) {
|
470 |
foreach ( $matches[2] as $i => $shortcode_name ) {
|
471 |
$attrs = shortcode_parse_atts( $matches[3][ $i ] );
|
472 |
-
$attrs = ( ! $attrs ) ? array() :
|
473 |
|
474 |
$shortcode = array();
|
475 |
$shortcode['attributes'] = $attrs; // Attributes.
|
469 |
if ( ! empty( $matches[2] ) ) {
|
470 |
foreach ( $matches[2] as $i => $shortcode_name ) {
|
471 |
$attrs = shortcode_parse_atts( $matches[3][ $i ] );
|
472 |
+
$attrs = ( ! $attrs ) ? array() : $attrs;
|
473 |
|
474 |
$shortcode = array();
|
475 |
$shortcode['attributes'] = $attrs; // Attributes.
|
@@ -27,18 +27,7 @@ class BP_PHPMailer implements BP_Email_Delivery {
|
|
27 |
public function bp_email( BP_Email $email ) {
|
28 |
static $phpmailer = null;
|
29 |
|
30 |
-
|
31 |
-
* Filter PHPMailer object to use.
|
32 |
-
*
|
33 |
-
* Specify an alternative version of PHPMailer to use instead of WordPress' default.
|
34 |
-
*
|
35 |
-
* @since 2.8.0
|
36 |
-
*
|
37 |
-
* @param null|PHPMailer $phpmailer The phpmailer class.
|
38 |
-
*/
|
39 |
-
$phpmailer = apply_filters( 'bp_phpmailer_object', $phpmailer );
|
40 |
-
|
41 |
-
if ( ! ( $phpmailer instanceof PHPMailer ) ) {
|
42 |
if ( ! class_exists( 'PHPMailer' ) ) {
|
43 |
require_once ABSPATH . WPINC . '/class-phpmailer.php';
|
44 |
require_once ABSPATH . WPINC . '/class-smtp.php';
|
@@ -51,7 +40,7 @@ class BP_PHPMailer implements BP_Email_Delivery {
|
|
51 |
/*
|
52 |
* Resets.
|
53 |
*/
|
54 |
-
|
55 |
$phpmailer->clearAllRecipients();
|
56 |
$phpmailer->clearAttachments();
|
57 |
$phpmailer->clearCustomHeaders();
|
27 |
public function bp_email( BP_Email $email ) {
|
28 |
static $phpmailer = null;
|
29 |
|
30 |
+
if ( $phpmailer === null ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
if ( ! class_exists( 'PHPMailer' ) ) {
|
32 |
require_once ABSPATH . WPINC . '/class-phpmailer.php';
|
33 |
require_once ABSPATH . WPINC . '/class-smtp.php';
|
40 |
/*
|
41 |
* Resets.
|
42 |
*/
|
43 |
+
|
44 |
$phpmailer->clearAllRecipients();
|
45 |
$phpmailer->clearAttachments();
|
46 |
$phpmailer->clearCustomHeaders();
|
@@ -50,7 +50,7 @@ class BP_Theme_Compat {
|
|
50 |
*
|
51 |
* @param array $properties Array of properties for BP_Theme_Compat.
|
52 |
*/
|
53 |
-
|
54 |
$this->_data = $properties;
|
55 |
}
|
56 |
|
50 |
*
|
51 |
* @param array $properties Array of properties for BP_Theme_Compat.
|
52 |
*/
|
53 |
+
public function __construct( Array $properties = array() ) {
|
54 |
$this->_data = $properties;
|
55 |
}
|
56 |
|
@@ -247,7 +247,7 @@ class BP_User_Query {
|
|
247 |
// Setup the main SQL query container.
|
248 |
$sql = array(
|
249 |
'select' => '',
|
250 |
-
'where' => array(
|
251 |
'orderby' => '',
|
252 |
'order' => '',
|
253 |
'limit' => ''
|
@@ -364,11 +364,7 @@ class BP_User_Query {
|
|
364 |
// 'include' - User ids to include in the results.
|
365 |
$include = false !== $include ? wp_parse_id_list( $include ) : array();
|
366 |
$include_ids = $this->get_include_ids( $include );
|
367 |
-
|
368 |
-
// An array containing nothing but 0 should always fail.
|
369 |
-
if ( 1 === count( $include_ids ) && 0 == reset( $include_ids ) ) {
|
370 |
-
$sql['where'][] = $this->no_results['where'];
|
371 |
-
} elseif ( ! empty( $include_ids ) ) {
|
372 |
$include_ids = implode( ',', wp_parse_id_list( $include_ids ) );
|
373 |
$sql['where'][] = "u.{$this->uid_name} IN ({$include_ids})";
|
374 |
}
|
@@ -595,14 +591,11 @@ class BP_User_Query {
|
|
595 |
// Match up to the user ids from the main query.
|
596 |
foreach ( $this->user_ids as $key => $uid ) {
|
597 |
if ( isset( $r[ $uid ] ) ) {
|
598 |
-
$r[ $uid ]->ID = (int) $uid;
|
599 |
-
$r[ $uid ]->user_status = (int) $r[ $uid ]->user_status;
|
600 |
-
|
601 |
$this->results[ $uid ] = $r[ $uid ];
|
602 |
|
603 |
// The BP template functions expect an 'id'
|
604 |
// (as opposed to 'ID') property.
|
605 |
-
$this->results[ $uid ]->id =
|
606 |
|
607 |
// Remove user ID from original user_ids property.
|
608 |
} else {
|
@@ -787,7 +780,7 @@ class BP_User_Query {
|
|
787 |
|
788 |
$tax_query = new WP_Tax_Query( array(
|
789 |
array(
|
790 |
-
'taxonomy' =>
|
791 |
'field' => 'name',
|
792 |
'operator' => $operator,
|
793 |
'terms' => $types,
|
@@ -795,15 +788,18 @@ class BP_User_Query {
|
|
795 |
) );
|
796 |
|
797 |
// Switch to the root blog, where member type taxonomies live.
|
798 |
-
$site_id = bp_get_taxonomy_term_site_id( bp_get_member_type_tax_name() );
|
799 |
$switched = false;
|
800 |
-
if (
|
801 |
-
switch_to_blog(
|
802 |
$switched = true;
|
803 |
}
|
804 |
|
805 |
$sql_clauses = $tax_query->get_sql( 'u', $this->uid_name );
|
806 |
|
|
|
|
|
|
|
|
|
807 |
$clause = '';
|
808 |
|
809 |
// The no_results clauses are the same between IN and NOT IN.
|
@@ -819,10 +815,6 @@ class BP_User_Query {
|
|
819 |
$clause = "u.{$this->uid_name} IN ( SELECT object_id FROM $wpdb->term_relationships WHERE {$matches[0]} )";
|
820 |
}
|
821 |
|
822 |
-
if ( $switched ) {
|
823 |
-
restore_current_blog();
|
824 |
-
}
|
825 |
-
|
826 |
return $clause;
|
827 |
}
|
828 |
}
|
247 |
// Setup the main SQL query container.
|
248 |
$sql = array(
|
249 |
'select' => '',
|
250 |
+
'where' => array(),
|
251 |
'orderby' => '',
|
252 |
'order' => '',
|
253 |
'limit' => ''
|
364 |
// 'include' - User ids to include in the results.
|
365 |
$include = false !== $include ? wp_parse_id_list( $include ) : array();
|
366 |
$include_ids = $this->get_include_ids( $include );
|
367 |
+
if ( ! empty( $include_ids ) ) {
|
|
|
|
|
|
|
|
|
368 |
$include_ids = implode( ',', wp_parse_id_list( $include_ids ) );
|
369 |
$sql['where'][] = "u.{$this->uid_name} IN ({$include_ids})";
|
370 |
}
|
591 |
// Match up to the user ids from the main query.
|
592 |
foreach ( $this->user_ids as $key => $uid ) {
|
593 |
if ( isset( $r[ $uid ] ) ) {
|
|
|
|
|
|
|
594 |
$this->results[ $uid ] = $r[ $uid ];
|
595 |
|
596 |
// The BP template functions expect an 'id'
|
597 |
// (as opposed to 'ID') property.
|
598 |
+
$this->results[ $uid ]->id = $uid;
|
599 |
|
600 |
// Remove user ID from original user_ids property.
|
601 |
} else {
|
780 |
|
781 |
$tax_query = new WP_Tax_Query( array(
|
782 |
array(
|
783 |
+
'taxonomy' => 'bp_member_type',
|
784 |
'field' => 'name',
|
785 |
'operator' => $operator,
|
786 |
'terms' => $types,
|
788 |
) );
|
789 |
|
790 |
// Switch to the root blog, where member type taxonomies live.
|
|
|
791 |
$switched = false;
|
792 |
+
if ( ! bp_is_root_blog() ) {
|
793 |
+
switch_to_blog( bp_get_root_blog_id() );
|
794 |
$switched = true;
|
795 |
}
|
796 |
|
797 |
$sql_clauses = $tax_query->get_sql( 'u', $this->uid_name );
|
798 |
|
799 |
+
if ( $switched ) {
|
800 |
+
restore_current_blog();
|
801 |
+
}
|
802 |
+
|
803 |
$clause = '';
|
804 |
|
805 |
// The no_results clauses are the same between IN and NOT IN.
|
815 |
$clause = "u.{$this->uid_name} IN ( SELECT object_id FROM $wpdb->term_relationships WHERE {$matches[0]} )";
|
816 |
}
|
817 |
|
|
|
|
|
|
|
|
|
818 |
return $clause;
|
819 |
}
|
820 |
}
|
@@ -55,7 +55,9 @@ class BP_Walker_Nav_Menu extends Walker_Nav_Menu {
|
|
55 |
* @return string See {@link Walker::walk()}.
|
56 |
*/
|
57 |
public function walk( $elements, $max_depth ) {
|
58 |
-
$
|
|
|
|
|
59 |
$output = '';
|
60 |
|
61 |
if ( $max_depth < -1 ) // Invalid parameter.
|
55 |
* @return string See {@link Walker::walk()}.
|
56 |
*/
|
57 |
public function walk( $elements, $max_depth ) {
|
58 |
+
$func_args = func_get_args();
|
59 |
+
|
60 |
+
$args = array_slice( $func_args, 2 );
|
61 |
$output = '';
|
62 |
|
63 |
if ( $max_depth < -1 ) // Invalid parameter.
|
@@ -16,7 +16,6 @@
|
|
16 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul {
|
17 |
right: 0;
|
18 |
}
|
19 |
-
|
20 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul ul {
|
21 |
right: 0;
|
22 |
}
|
@@ -25,13 +24,13 @@
|
|
25 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account a span.count,
|
26 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a span.count,
|
27 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
28 |
-
background: #
|
29 |
color: #fff;
|
30 |
text-shadow: none;
|
31 |
display: inline;
|
32 |
padding: 2px 5px;
|
33 |
font-size: 10px;
|
34 |
-
font-weight:
|
35 |
-moz-border-radius: 10px;
|
36 |
-khtml-border-radius: 10px;
|
37 |
-webkit-border-radius: 10px;
|
@@ -41,33 +40,19 @@
|
|
41 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
42 |
background: #ddd;
|
43 |
color: #333;
|
44 |
-
margin: 0
|
45 |
}
|
46 |
|
47 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications.alert {
|
48 |
-
background-color: #
|
49 |
color: #fff;
|
50 |
}
|
51 |
|
52 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications > a {
|
53 |
-
padding: 0
|
54 |
}
|
55 |
|
56 |
#wp-admin-bar-user-info img.avatar {
|
57 |
height: 64px;
|
58 |
width: 64px;
|
59 |
}
|
60 |
-
|
61 |
-
/* Remove additional arrows from appearing on the BuddyPress' `my_account_menu`
|
62 |
-
* on large screens. Add back arrows for screen widths 600px and lower.
|
63 |
-
*/
|
64 |
-
#wpadminbar .wp-admin-bar-arrow-right {
|
65 |
-
display: none;
|
66 |
-
}
|
67 |
-
|
68 |
-
@media screen and (max-width: 600px) {
|
69 |
-
|
70 |
-
#wpadminbar .wp-admin-bar-arrow-right {
|
71 |
-
display: block;
|
72 |
-
}
|
73 |
-
}
|
16 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul {
|
17 |
right: 0;
|
18 |
}
|
|
|
19 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul ul {
|
20 |
right: 0;
|
21 |
}
|
24 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account a span.count,
|
25 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a span.count,
|
26 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
27 |
+
background: #21759B;
|
28 |
color: #fff;
|
29 |
text-shadow: none;
|
30 |
display: inline;
|
31 |
padding: 2px 5px;
|
32 |
font-size: 10px;
|
33 |
+
font-weight: bold;
|
34 |
-moz-border-radius: 10px;
|
35 |
-khtml-border-radius: 10px;
|
36 |
-webkit-border-radius: 10px;
|
40 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
41 |
background: #ddd;
|
42 |
color: #333;
|
43 |
+
margin: 0
|
44 |
}
|
45 |
|
46 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications.alert {
|
47 |
+
background-color: #1fb3dd;
|
48 |
color: #fff;
|
49 |
}
|
50 |
|
51 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications > a {
|
52 |
+
padding: 0 .5em;
|
53 |
}
|
54 |
|
55 |
#wp-admin-bar-user-info img.avatar {
|
56 |
height: 64px;
|
57 |
width: 64px;
|
58 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +1 @@
|
|
1 |
-
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar>a img,#wpadminbar .quicklinks li#wp-admin-bar-user-admin-with-avatar>a img{width:16px;height:16px;display:inline;border:1px solid #999;vertical-align:middle;margin:-2px -5px 0 10px;padding:0;background:#eee;float:none}#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul
|
1 |
+
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar>a img,#wpadminbar .quicklinks li#wp-admin-bar-user-admin-with-avatar>a img{width:16px;height:16px;display:inline;border:1px solid #999;vertical-align:middle;margin:-2px -5px 0 10px;padding:0;background:#eee;float:none}#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul,#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul ul{right:0}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications,#wpadminbar .quicklinks li#wp-admin-bar-my-account a span.count,#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a span.count{background:#21759B;color:#fff;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications{background:#ddd;color:#333;margin:0}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications.alert{background-color:#1fb3dd;color:#fff}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications>a{padding:0 .5em}#wp-admin-bar-user-info img.avatar{height:64px;width:64px}
|
@@ -16,7 +16,6 @@
|
|
16 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul {
|
17 |
left: 0;
|
18 |
}
|
19 |
-
|
20 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul ul {
|
21 |
left: 0;
|
22 |
}
|
@@ -25,13 +24,13 @@
|
|
25 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account a span.count,
|
26 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a span.count,
|
27 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
28 |
-
background: #
|
29 |
color: #fff;
|
30 |
text-shadow: none;
|
31 |
display: inline;
|
32 |
padding: 2px 5px;
|
33 |
font-size: 10px;
|
34 |
-
font-weight:
|
35 |
-moz-border-radius: 10px;
|
36 |
-khtml-border-radius: 10px;
|
37 |
-webkit-border-radius: 10px;
|
@@ -41,33 +40,19 @@
|
|
41 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
42 |
background: #ddd;
|
43 |
color: #333;
|
44 |
-
margin: 0
|
45 |
}
|
46 |
|
47 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications.alert {
|
48 |
-
background-color: #
|
49 |
color: #fff;
|
50 |
}
|
51 |
|
52 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications > a {
|
53 |
-
padding: 0
|
54 |
}
|
55 |
|
56 |
#wp-admin-bar-user-info img.avatar {
|
57 |
height: 64px;
|
58 |
width: 64px;
|
59 |
}
|
60 |
-
|
61 |
-
/* Remove additional arrows from appearing on the BuddyPress' `my_account_menu`
|
62 |
-
* on large screens. Add back arrows for screen widths 600px and lower.
|
63 |
-
*/
|
64 |
-
#wpadminbar .wp-admin-bar-arrow-right {
|
65 |
-
display: none;
|
66 |
-
}
|
67 |
-
|
68 |
-
@media screen and (max-width: 600px) {
|
69 |
-
|
70 |
-
#wpadminbar .wp-admin-bar-arrow-right {
|
71 |
-
display: block;
|
72 |
-
}
|
73 |
-
}
|
16 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul {
|
17 |
left: 0;
|
18 |
}
|
|
|
19 |
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul ul {
|
20 |
left: 0;
|
21 |
}
|
24 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account a span.count,
|
25 |
#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a span.count,
|
26 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
27 |
+
background: #21759B;
|
28 |
color: #fff;
|
29 |
text-shadow: none;
|
30 |
display: inline;
|
31 |
padding: 2px 5px;
|
32 |
font-size: 10px;
|
33 |
+
font-weight: bold;
|
34 |
-moz-border-radius: 10px;
|
35 |
-khtml-border-radius: 10px;
|
36 |
-webkit-border-radius: 10px;
|
40 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications {
|
41 |
background: #ddd;
|
42 |
color: #333;
|
43 |
+
margin: 0
|
44 |
}
|
45 |
|
46 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications.alert {
|
47 |
+
background-color: #1fb3dd;
|
48 |
color: #fff;
|
49 |
}
|
50 |
|
51 |
#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications > a {
|
52 |
+
padding: 0 .5em;
|
53 |
}
|
54 |
|
55 |
#wp-admin-bar-user-info img.avatar {
|
56 |
height: 64px;
|
57 |
width: 64px;
|
58 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +1 @@
|
|
1 |
-
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar>a img,#wpadminbar .quicklinks li#wp-admin-bar-user-admin-with-avatar>a img{width:16px;height:16px;display:inline;border:1px solid #999;vertical-align:middle;margin:-2px 10px 0 -5px;padding:0;background:#eee;float:none}#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul
|
1 |
+
#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar>a img,#wpadminbar .quicklinks li#wp-admin-bar-user-admin-with-avatar>a img{width:16px;height:16px;display:inline;border:1px solid #999;vertical-align:middle;margin:-2px 10px 0 -5px;padding:0;background:#eee;float:none}#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul,#wpadminbar .quicklinks li#wp-admin-bar-group-admin-with-avatar ul ul{left:0}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications,#wpadminbar .quicklinks li#wp-admin-bar-my-account a span.count,#wpadminbar .quicklinks li#wp-admin-bar-my-account-with-avatar a span.count{background:#21759B;color:#fff;text-shadow:none;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-moz-border-radius:10px;-khtml-border-radius:10px;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications{background:#ddd;color:#333;margin:0}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications #ab-pending-notifications.alert{background-color:#1fb3dd;color:#fff}#wpadminbar .quicklinks li#wp-admin-bar-bp-notifications>a{padding:0 .5em}#wp-admin-bar-user-info img.avatar{height:64px;width:64px}
|
@@ -30,7 +30,7 @@ div.bp-cover-image-status .bp-progress {
|
|
30 |
border: 1px solid #d1d1d1;
|
31 |
float: left;
|
32 |
height: 22px;
|
33 |
-
line-height:
|
34 |
margin: 6px 0 0 10px;
|
35 |
margin-bottom: 2px;
|
36 |
padding: 0;
|
@@ -55,7 +55,6 @@ div.bp-cover-image-status .bp-bar {
|
|
55 |
padding: 10px 15px;
|
56 |
}
|
57 |
|
58 |
-
/* stylelint-disable selector-id-pattern */
|
59 |
#buddypress p.warning,
|
60 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,
|
61 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
@@ -67,12 +66,11 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
67 |
margin: 1em 0;
|
68 |
padding: 10px 15px;
|
69 |
}
|
70 |
-
/* stylelint-enable */
|
71 |
|
72 |
div.bp-avatar-nav {
|
73 |
background: transparent;
|
74 |
clear: both;
|
75 |
-
margin: 10px 0;
|
76 |
overflow: hidden;
|
77 |
}
|
78 |
|
@@ -119,7 +117,7 @@ div.bp-avatar-nav {
|
|
119 |
.bp-avatar-nav li.current a {
|
120 |
background: none;
|
121 |
color: inherit;
|
122 |
-
font-weight:
|
123 |
opacity: 0.8;
|
124 |
outline: 0;
|
125 |
}
|
@@ -147,10 +145,6 @@ div.bp-avatar-nav {
|
|
147 |
text-align: inherit;
|
148 |
}
|
149 |
|
150 |
-
.moxie-shim.moxie-shim-html5 input {
|
151 |
-
cursor: pointer;
|
152 |
-
}
|
153 |
-
|
154 |
.drag-drop #drag-drop-area {
|
155 |
box-sizing: border-box;
|
156 |
display: table;
|
@@ -171,7 +165,7 @@ div.bp-avatar-nav {
|
|
171 |
}
|
172 |
|
173 |
.drag-drop .drag-drop-inside p {
|
174 |
-
color: #
|
175 |
font-size: 110%;
|
176 |
margin: 5px 0;
|
177 |
text-align: center;
|
@@ -181,8 +175,14 @@ div.bp-avatar-nav {
|
|
181 |
margin-top: 0;
|
182 |
}
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
#avatar-to-crop {
|
185 |
-
margin: 0 auto 20px;
|
186 |
text-align: right;
|
187 |
}
|
188 |
|
@@ -222,7 +222,6 @@ div.bp-avatar-nav {
|
|
222 |
}
|
223 |
|
224 |
@media screen and (min-width: 801px) {
|
225 |
-
|
226 |
#bp-webcam-avatar #avatar-to-crop {
|
227 |
max-width: 64%;
|
228 |
width: 64%;
|
@@ -235,7 +234,7 @@ div.bp-avatar-nav {
|
|
235 |
|
236 |
#bp-webcam-avatar #avatar-crop-actions {
|
237 |
float: right;
|
238 |
-
margin: 0 0 20px;
|
239 |
width: 50%;
|
240 |
}
|
241 |
|
@@ -300,7 +299,7 @@ div.bp-avatar-nav {
|
|
300 |
}
|
301 |
|
302 |
.bp-avatar .item {
|
303 |
-
overflow:
|
304 |
}
|
305 |
|
306 |
.bp-avatar .avatar-crop-management.adjust {
|
@@ -325,7 +324,7 @@ div.bp-avatar-nav {
|
|
325 |
margin: 0 auto 10px;
|
326 |
}
|
327 |
|
328 |
-
#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions
|
329 |
width: auto;
|
330 |
}
|
331 |
|
@@ -350,9 +349,7 @@ div.bp-avatar-nav {
|
|
350 |
|
351 |
}
|
352 |
|
353 |
-
|
354 |
/** Admin Profile **/
|
355 |
-
/* stylelint-disable selector-id-pattern */
|
356 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent,
|
357 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent {
|
358 |
height: 95% !important;
|
@@ -371,11 +368,9 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
371 |
float: right;
|
372 |
margin: 0;
|
373 |
}
|
374 |
-
|
375 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
376 |
margin-bottom: 20px;
|
377 |
}
|
378 |
-
|
379 |
@media screen and (min-width: 783px) {
|
380 |
|
381 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management {
|
@@ -390,8 +385,8 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
390 |
}
|
391 |
|
392 |
.wp-admin #TB_window .bp-avatar #avatar-to-crop video {
|
393 |
-
|
394 |
-
}
|
395 |
|
396 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management a.button {
|
397 |
height: auto;
|
@@ -399,7 +394,6 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
399 |
}
|
400 |
|
401 |
@media screen and (min-width: 810px) {
|
402 |
-
|
403 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
404 |
max-width: none;
|
405 |
width: 76%;
|
@@ -410,4 +404,3 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
410 |
width: auto;
|
411 |
}
|
412 |
}
|
413 |
-
/* stylelint-enable */
|
30 |
border: 1px solid #d1d1d1;
|
31 |
float: left;
|
32 |
height: 22px;
|
33 |
+
line-height: 2em;
|
34 |
margin: 6px 0 0 10px;
|
35 |
margin-bottom: 2px;
|
36 |
padding: 0;
|
55 |
padding: 10px 15px;
|
56 |
}
|
57 |
|
|
|
58 |
#buddypress p.warning,
|
59 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,
|
60 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
66 |
margin: 1em 0;
|
67 |
padding: 10px 15px;
|
68 |
}
|
|
|
69 |
|
70 |
div.bp-avatar-nav {
|
71 |
background: transparent;
|
72 |
clear: both;
|
73 |
+
margin: 10px 0 10px;
|
74 |
overflow: hidden;
|
75 |
}
|
76 |
|
117 |
.bp-avatar-nav li.current a {
|
118 |
background: none;
|
119 |
color: inherit;
|
120 |
+
font-weight: bold;
|
121 |
opacity: 0.8;
|
122 |
outline: 0;
|
123 |
}
|
145 |
text-align: inherit;
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
148 |
.drag-drop #drag-drop-area {
|
149 |
box-sizing: border-box;
|
150 |
display: table;
|
165 |
}
|
166 |
|
167 |
.drag-drop .drag-drop-inside p {
|
168 |
+
color: #aaa;
|
169 |
font-size: 110%;
|
170 |
margin: 5px 0;
|
171 |
text-align: center;
|
175 |
margin-top: 0;
|
176 |
}
|
177 |
|
178 |
+
@supports (-ms-accelerator:true) {
|
179 |
+
.drag-drop-inside p.drag-drop-info {
|
180 |
+
display: block;
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
#avatar-to-crop {
|
185 |
+
margin: 0 auto 20px ;
|
186 |
text-align: right;
|
187 |
}
|
188 |
|
222 |
}
|
223 |
|
224 |
@media screen and (min-width: 801px) {
|
|
|
225 |
#bp-webcam-avatar #avatar-to-crop {
|
226 |
max-width: 64%;
|
227 |
width: 64%;
|
234 |
|
235 |
#bp-webcam-avatar #avatar-crop-actions {
|
236 |
float: right;
|
237 |
+
margin: 0 0 20px 0;
|
238 |
width: 50%;
|
239 |
}
|
240 |
|
299 |
}
|
300 |
|
301 |
.bp-avatar .item {
|
302 |
+
overflow:hidden;
|
303 |
}
|
304 |
|
305 |
.bp-avatar .avatar-crop-management.adjust {
|
324 |
margin: 0 auto 10px;
|
325 |
}
|
326 |
|
327 |
+
#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions {
|
328 |
width: auto;
|
329 |
}
|
330 |
|
349 |
|
350 |
}
|
351 |
|
|
|
352 |
/** Admin Profile **/
|
|
|
353 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent,
|
354 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent {
|
355 |
height: 95% !important;
|
368 |
float: right;
|
369 |
margin: 0;
|
370 |
}
|
|
|
371 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
372 |
margin-bottom: 20px;
|
373 |
}
|
|
|
374 |
@media screen and (min-width: 783px) {
|
375 |
|
376 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management {
|
385 |
}
|
386 |
|
387 |
.wp-admin #TB_window .bp-avatar #avatar-to-crop video {
|
388 |
+
width: 100%;
|
389 |
+
}
|
390 |
|
391 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management a.button {
|
392 |
height: auto;
|
394 |
}
|
395 |
|
396 |
@media screen and (min-width: 810px) {
|
|
|
397 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
398 |
max-width: none;
|
399 |
width: 76%;
|
404 |
width: auto;
|
405 |
}
|
406 |
}
|
|
@@ -1 +1 @@
|
|
1 |
-
div.bp-avatar-status,div.bp-cover-image-status{clear:both;margin:1em 0}div.bp-avatar-status p.updated,div.bp-cover-image-status p.updated{display:block;padding:10px 15px}div.bp-avatar-status p.success,div.bp-cover-image-status p.success{background-color:#efc;border:1px solid #591;color:#250}div.bp-avatar-status p.error,div.bp-cover-image-status p.error{background-color:#fdc;border:1px solid #a00;color:#800}div.bp-avatar-status .bp-progress,div.bp-cover-image-status .bp-progress{background:0 0;border:1px solid #d1d1d1;float:left;height:22px;line-height:
|
1 |
+
div.bp-avatar-status,div.bp-cover-image-status{clear:both;margin:1em 0}div.bp-avatar-status p.updated,div.bp-cover-image-status p.updated{display:block;padding:10px 15px}div.bp-avatar-status p.success,div.bp-cover-image-status p.success{background-color:#efc;border:1px solid #591;color:#250}div.bp-avatar-status p.error,div.bp-cover-image-status p.error{background-color:#fdc;border:1px solid #a00;color:#800}div.bp-avatar-status .bp-progress,div.bp-cover-image-status .bp-progress{background:0 0;border:1px solid #d1d1d1;float:left;height:22px;line-height:2em;margin:6px 0 2px 10px;padding:0;overflow:hidden;width:200px}div.bp-avatar-status .bp-bar,div.bp-cover-image-status .bp-bar{background-color:#c3ff88;width:0;height:100%;z-index:9}.bp-uploader-progress div.error{background-color:#fdc;border:1px solid #a00;color:#800;display:block;font-size:90%;padding:10px 15px}#buddypress p.warning,body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning{background-color:#ffd;border:1px solid #cb2;color:#440;display:block;font-size:90%;margin:1em 0;padding:10px 15px}div.bp-avatar-nav{background:0 0;clear:both;margin:10px 0;overflow:hidden}.avatar-nav-items{margin:0;padding:0}.bp-avatar-nav .avatar-nav-items li.avatar-nav-item{float:right!important;margin:0;list-style:none}.avatar-nav-items li a{display:block;padding:5px 10px;text-decoration:none}.bp-avatar-nav ul:after,.bp-avatar-nav ul:before{content:" ";display:table}.bp-avatar-nav ul:after{clear:both}.bp-avatar-nav ul{border-bottom:1px solid #ccc;margin-bottom:10px}.bp-avatar-nav ul.avatar-nav-items li.current{border:1px solid #ccc;border-bottom-color:#fff;border-top-right-radius:4px;border-top-left-radius:4px;margin-bottom:-1px}.bp-avatar-nav li.current a{background:0 0;color:inherit;font-weight:700;opacity:.8;outline:0}#drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}.drag-drop-inside p{display:none}.drag-drop-inside p.drag-drop-buttons{margin-top:80px;text-align:center}.drag-drop .drag-drop-inside p.drag-drop-buttons{margin:auto;text-align:inherit}.drag-drop #drag-drop-area{box-sizing:border-box;display:table;height:100%;width:100%}.drag-drop .drag-drop-inside{display:table-cell;padding:40px 0;text-align:center;vertical-align:middle}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop .drag-drop-inside p{color:#aaa;font-size:110%;margin:5px 0;text-align:center}.drag-drop-inside p.drag-drop-info{margin-top:0}@supports (-ms-accelerator:true){.drag-drop-inside p.drag-drop-info{display:block}}#avatar-to-crop{margin:0 auto 20px;text-align:right}#bp-webcam-avatar #avatar-to-crop{float:right;margin:0 0 20px}#avatar-to-crop .jcrop-holder{margin:0 auto}.avatar-crop-management{clear:right;overflow:hidden;padding-top:20px;text-align:center}#bp-webcam-avatar .avatar-crop-management{clear:none;float:none;overflow:visible;padding-top:0;width:auto}#avatar-crop-pane{margin:0 auto;overflow:hidden}#bp-webcam-avatar #avatar-to-crop{border:1px solid #eee;max-width:100%;width:100%}@media screen and (min-width:801px){#bp-webcam-avatar #avatar-to-crop{max-width:64%;width:64%}}#avatar-crop-actions a{display:block}#bp-webcam-avatar #avatar-crop-actions{float:right;margin:0 0 20px;width:50%}#avatar-crop-actions a.button{margin-top:10px}#bp-webcam-avatar #avatar-crop-actions a.button{display:block;margin:0 0 5px;padding:4px 0;width:100%}#avatar-crop-pane canvas,#avatar-crop-pane img,#avatar-to-crop img,#avatar-upload-form img,#create-group-form img,#group-settings-form img{border:none!important;max-width:none!important}#bp-webcam-avatar video{float:right;margin-bottom:0;max-width:100%;width:100%;-webkit-transform:scaleX(-1);transform:scaleX(-1)}#bp-webcam-avatar #avatar-crop-pane{border:2px dashed #bbb;clear:right;float:left;margin:0 0 10px 40px;overflow:hidden}#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{max-width:150px;max-height:150px}#avatar-crop-pane canvas{height:auto;width:100%;max-width:100%}.group-avatar .bp-avatar .avatar-crop-management{margin-right:0;padding-top:0;width:auto}.bp-avatar .item{overflow:hidden}.bp-avatar .avatar-crop-management.adjust{float:right;clear:none;padding-top:0}.bp-avatar #avatar-to-crop.adjust{float:right;margin-left:20px}@media screen and (max-width:480px){#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions,#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{float:none}#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{margin:0 auto 10px}#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions{width:auto}}@media screen and (min-width:801px){#bp-webcam-avatar .avatar-crop-management{clear:none;float:left}#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{float:none;margin:0 auto 10px}#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions{float:right;width:100%}}body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent{height:95%!important;width:95%!important}body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.updated,body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.updated,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning{display:block;padding:10px 15px}.wp-admin #TB_window .bp-avatar #avatar-to-crop{float:right;margin:0}.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop{margin-bottom:20px}@media screen and (min-width:783px){.wp-admin #TB_window .bp-avatar .avatar-crop-management{clear:none;float:right;margin-right:20px;padding-top:0;text-align:center}}.wp-admin #TB_window .bp-avatar #avatar-to-crop video{width:100%}.wp-admin #TB_window .bp-avatar .avatar-crop-management a.button{height:auto;line-height:inherit}@media screen and (min-width:810px){.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop{max-width:none;width:76%}.wp-admin #TB_window #bp-webcam-avatar .avatar-crop-management{max-width:none;width:auto}}
|
@@ -30,7 +30,7 @@ div.bp-cover-image-status .bp-progress {
|
|
30 |
border: 1px solid #d1d1d1;
|
31 |
float: right;
|
32 |
height: 22px;
|
33 |
-
line-height:
|
34 |
margin: 6px 10px 0 0;
|
35 |
margin-bottom: 2px;
|
36 |
padding: 0;
|
@@ -55,7 +55,6 @@ div.bp-cover-image-status .bp-bar {
|
|
55 |
padding: 10px 15px;
|
56 |
}
|
57 |
|
58 |
-
/* stylelint-disable selector-id-pattern */
|
59 |
#buddypress p.warning,
|
60 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,
|
61 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
@@ -67,12 +66,11 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
67 |
margin: 1em 0;
|
68 |
padding: 10px 15px;
|
69 |
}
|
70 |
-
/* stylelint-enable */
|
71 |
|
72 |
div.bp-avatar-nav {
|
73 |
background: transparent;
|
74 |
clear: both;
|
75 |
-
margin: 10px 0;
|
76 |
overflow: hidden;
|
77 |
}
|
78 |
|
@@ -119,7 +117,7 @@ div.bp-avatar-nav {
|
|
119 |
.bp-avatar-nav li.current a {
|
120 |
background: none;
|
121 |
color: inherit;
|
122 |
-
font-weight:
|
123 |
opacity: 0.8;
|
124 |
outline: 0;
|
125 |
}
|
@@ -147,10 +145,6 @@ div.bp-avatar-nav {
|
|
147 |
text-align: inherit;
|
148 |
}
|
149 |
|
150 |
-
.moxie-shim.moxie-shim-html5 input {
|
151 |
-
cursor: pointer;
|
152 |
-
}
|
153 |
-
|
154 |
.drag-drop #drag-drop-area {
|
155 |
box-sizing: border-box;
|
156 |
display: table;
|
@@ -171,7 +165,7 @@ div.bp-avatar-nav {
|
|
171 |
}
|
172 |
|
173 |
.drag-drop .drag-drop-inside p {
|
174 |
-
color: #
|
175 |
font-size: 110%;
|
176 |
margin: 5px 0;
|
177 |
text-align: center;
|
@@ -181,8 +175,14 @@ div.bp-avatar-nav {
|
|
181 |
margin-top: 0;
|
182 |
}
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
#avatar-to-crop {
|
185 |
-
margin: 0 auto 20px;
|
186 |
text-align: left;
|
187 |
}
|
188 |
|
@@ -222,7 +222,6 @@ div.bp-avatar-nav {
|
|
222 |
}
|
223 |
|
224 |
@media screen and (min-width: 801px) {
|
225 |
-
|
226 |
#bp-webcam-avatar #avatar-to-crop {
|
227 |
max-width: 64%;
|
228 |
width: 64%;
|
@@ -235,7 +234,7 @@ div.bp-avatar-nav {
|
|
235 |
|
236 |
#bp-webcam-avatar #avatar-crop-actions {
|
237 |
float: left;
|
238 |
-
margin: 0 0 20px;
|
239 |
width: 50%;
|
240 |
}
|
241 |
|
@@ -300,7 +299,7 @@ div.bp-avatar-nav {
|
|
300 |
}
|
301 |
|
302 |
.bp-avatar .item {
|
303 |
-
overflow:
|
304 |
}
|
305 |
|
306 |
.bp-avatar .avatar-crop-management.adjust {
|
@@ -325,7 +324,7 @@ div.bp-avatar-nav {
|
|
325 |
margin: 0 auto 10px;
|
326 |
}
|
327 |
|
328 |
-
#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions
|
329 |
width: auto;
|
330 |
}
|
331 |
|
@@ -350,9 +349,7 @@ div.bp-avatar-nav {
|
|
350 |
|
351 |
}
|
352 |
|
353 |
-
|
354 |
/** Admin Profile **/
|
355 |
-
/* stylelint-disable selector-id-pattern */
|
356 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent,
|
357 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent {
|
358 |
height: 95% !important;
|
@@ -371,11 +368,9 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
371 |
float: left;
|
372 |
margin: 0;
|
373 |
}
|
374 |
-
|
375 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
376 |
margin-bottom: 20px;
|
377 |
}
|
378 |
-
|
379 |
@media screen and (min-width: 783px) {
|
380 |
|
381 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management {
|
@@ -390,8 +385,8 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
390 |
}
|
391 |
|
392 |
.wp-admin #TB_window .bp-avatar #avatar-to-crop video {
|
393 |
-
|
394 |
-
}
|
395 |
|
396 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management a.button {
|
397 |
height: auto;
|
@@ -399,7 +394,6 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
399 |
}
|
400 |
|
401 |
@media screen and (min-width: 810px) {
|
402 |
-
|
403 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
404 |
max-width: none;
|
405 |
width: 76%;
|
@@ -410,4 +404,3 @@ body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
|
410 |
width: auto;
|
411 |
}
|
412 |
}
|
413 |
-
/* stylelint-enable */
|
30 |
border: 1px solid #d1d1d1;
|
31 |
float: right;
|
32 |
height: 22px;
|
33 |
+
line-height: 2em;
|
34 |
margin: 6px 10px 0 0;
|
35 |
margin-bottom: 2px;
|
36 |
padding: 0;
|
55 |
padding: 10px 15px;
|
56 |
}
|
57 |
|
|
|
58 |
#buddypress p.warning,
|
59 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,
|
60 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning {
|
66 |
margin: 1em 0;
|
67 |
padding: 10px 15px;
|
68 |
}
|
|
|
69 |
|
70 |
div.bp-avatar-nav {
|
71 |
background: transparent;
|
72 |
clear: both;
|
73 |
+
margin: 10px 0 10px;
|
74 |
overflow: hidden;
|
75 |
}
|
76 |
|
117 |
.bp-avatar-nav li.current a {
|
118 |
background: none;
|
119 |
color: inherit;
|
120 |
+
font-weight: bold;
|
121 |
opacity: 0.8;
|
122 |
outline: 0;
|
123 |
}
|
145 |
text-align: inherit;
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
148 |
.drag-drop #drag-drop-area {
|
149 |
box-sizing: border-box;
|
150 |
display: table;
|
165 |
}
|
166 |
|
167 |
.drag-drop .drag-drop-inside p {
|
168 |
+
color: #aaa;
|
169 |
font-size: 110%;
|
170 |
margin: 5px 0;
|
171 |
text-align: center;
|
175 |
margin-top: 0;
|
176 |
}
|
177 |
|
178 |
+
@supports (-ms-accelerator:true) {
|
179 |
+
.drag-drop-inside p.drag-drop-info {
|
180 |
+
display: block;
|
181 |
+
}
|
182 |
+
}
|
183 |
+
|
184 |
#avatar-to-crop {
|
185 |
+
margin: 0 auto 20px ;
|
186 |
text-align: left;
|
187 |
}
|
188 |
|
222 |
}
|
223 |
|
224 |
@media screen and (min-width: 801px) {
|
|
|
225 |
#bp-webcam-avatar #avatar-to-crop {
|
226 |
max-width: 64%;
|
227 |
width: 64%;
|
234 |
|
235 |
#bp-webcam-avatar #avatar-crop-actions {
|
236 |
float: left;
|
237 |
+
margin: 0 0 20px 0;
|
238 |
width: 50%;
|
239 |
}
|
240 |
|
299 |
}
|
300 |
|
301 |
.bp-avatar .item {
|
302 |
+
overflow:hidden;
|
303 |
}
|
304 |
|
305 |
.bp-avatar .avatar-crop-management.adjust {
|
324 |
margin: 0 auto 10px;
|
325 |
}
|
326 |
|
327 |
+
#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions {
|
328 |
width: auto;
|
329 |
}
|
330 |
|
349 |
|
350 |
}
|
351 |
|
|
|
352 |
/** Admin Profile **/
|
|
|
353 |
body.users_page_bp-profile-edit.modal-open #TB_ajaxContent,
|
354 |
body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent {
|
355 |
height: 95% !important;
|
368 |
float: left;
|
369 |
margin: 0;
|
370 |
}
|
|
|
371 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
372 |
margin-bottom: 20px;
|
373 |
}
|
|
|
374 |
@media screen and (min-width: 783px) {
|
375 |
|
376 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management {
|
385 |
}
|
386 |
|
387 |
.wp-admin #TB_window .bp-avatar #avatar-to-crop video {
|
388 |
+
width: 100%;
|
389 |
+
}
|
390 |
|
391 |
.wp-admin #TB_window .bp-avatar .avatar-crop-management a.button {
|
392 |
height: auto;
|
394 |
}
|
395 |
|
396 |
@media screen and (min-width: 810px) {
|
|
|
397 |
.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop {
|
398 |
max-width: none;
|
399 |
width: 76%;
|
404 |
width: auto;
|
405 |
}
|
406 |
}
|
|
@@ -1 +1 @@
|
|
1 |
-
div.bp-avatar-status,div.bp-cover-image-status{clear:both;margin:1em 0}div.bp-avatar-status p.updated,div.bp-cover-image-status p.updated{display:block;padding:10px 15px}div.bp-avatar-status p.success,div.bp-cover-image-status p.success{background-color:#efc;border:1px solid #591;color:#250}div.bp-avatar-status p.error,div.bp-cover-image-status p.error{background-color:#fdc;border:1px solid #a00;color:#800}div.bp-avatar-status .bp-progress,div.bp-cover-image-status .bp-progress{background:0 0;border:1px solid #d1d1d1;float:right;height:22px;line-height:
|
1 |
+
div.bp-avatar-status,div.bp-cover-image-status{clear:both;margin:1em 0}div.bp-avatar-status p.updated,div.bp-cover-image-status p.updated{display:block;padding:10px 15px}div.bp-avatar-status p.success,div.bp-cover-image-status p.success{background-color:#efc;border:1px solid #591;color:#250}div.bp-avatar-status p.error,div.bp-cover-image-status p.error{background-color:#fdc;border:1px solid #a00;color:#800}div.bp-avatar-status .bp-progress,div.bp-cover-image-status .bp-progress{background:0 0;border:1px solid #d1d1d1;float:right;height:22px;line-height:2em;margin:6px 10px 2px 0;padding:0;overflow:hidden;width:200px}div.bp-avatar-status .bp-bar,div.bp-cover-image-status .bp-bar{background-color:#c3ff88;width:0;height:100%;z-index:9}.bp-uploader-progress div.error{background-color:#fdc;border:1px solid #a00;color:#800;display:block;font-size:90%;padding:10px 15px}#buddypress p.warning,body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning{background-color:#ffd;border:1px solid #cb2;color:#440;display:block;font-size:90%;margin:1em 0;padding:10px 15px}div.bp-avatar-nav{background:0 0;clear:both;margin:10px 0;overflow:hidden}.avatar-nav-items{margin:0;padding:0}.bp-avatar-nav .avatar-nav-items li.avatar-nav-item{float:left!important;margin:0;list-style:none}.avatar-nav-items li a{display:block;padding:5px 10px;text-decoration:none}.bp-avatar-nav ul:after,.bp-avatar-nav ul:before{content:" ";display:table}.bp-avatar-nav ul:after{clear:both}.bp-avatar-nav ul{border-bottom:1px solid #ccc;margin-bottom:10px}.bp-avatar-nav ul.avatar-nav-items li.current{border:1px solid #ccc;border-bottom-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:-1px}.bp-avatar-nav li.current a{background:0 0;color:inherit;font-weight:700;opacity:.8;outline:0}#drag-drop-area{border:4px dashed #bbb;height:200px}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}.drag-drop-inside p{display:none}.drag-drop-inside p.drag-drop-buttons{margin-top:80px;text-align:center}.drag-drop .drag-drop-inside p.drag-drop-buttons{margin:auto;text-align:inherit}.drag-drop #drag-drop-area{box-sizing:border-box;display:table;height:100%;width:100%}.drag-drop .drag-drop-inside{display:table-cell;padding:40px 0;text-align:center;vertical-align:middle}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop .drag-drop-inside p{color:#aaa;font-size:110%;margin:5px 0;text-align:center}.drag-drop-inside p.drag-drop-info{margin-top:0}@supports (-ms-accelerator:true){.drag-drop-inside p.drag-drop-info{display:block}}#avatar-to-crop{margin:0 auto 20px;text-align:left}#bp-webcam-avatar #avatar-to-crop{float:left;margin:0 0 20px}#avatar-to-crop .jcrop-holder{margin:0 auto}.avatar-crop-management{clear:left;overflow:hidden;padding-top:20px;text-align:center}#bp-webcam-avatar .avatar-crop-management{clear:none;float:none;overflow:visible;padding-top:0;width:auto}#avatar-crop-pane{margin:0 auto;overflow:hidden}#bp-webcam-avatar #avatar-to-crop{border:1px solid #eee;max-width:100%;width:100%}@media screen and (min-width:801px){#bp-webcam-avatar #avatar-to-crop{max-width:64%;width:64%}}#avatar-crop-actions a{display:block}#bp-webcam-avatar #avatar-crop-actions{float:left;margin:0 0 20px;width:50%}#avatar-crop-actions a.button{margin-top:10px}#bp-webcam-avatar #avatar-crop-actions a.button{display:block;margin:0 0 5px;padding:4px 0;width:100%}#avatar-crop-pane canvas,#avatar-crop-pane img,#avatar-to-crop img,#avatar-upload-form img,#create-group-form img,#group-settings-form img{border:none!important;max-width:none!important}#bp-webcam-avatar video{float:left;margin-bottom:0;max-width:100%;width:100%;-webkit-transform:scaleX(-1);transform:scaleX(-1)}#bp-webcam-avatar #avatar-crop-pane{border:2px dashed #bbb;clear:left;float:right;margin:0 40px 10px 0;overflow:hidden}#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{max-width:150px;max-height:150px}#avatar-crop-pane canvas{height:auto;width:100%;max-width:100%}.group-avatar .bp-avatar .avatar-crop-management{margin-left:0;padding-top:0;width:auto}.bp-avatar .item{overflow:hidden}.bp-avatar .avatar-crop-management.adjust{float:left;clear:none;padding-top:0}.bp-avatar #avatar-to-crop.adjust{float:left;margin-right:20px}@media screen and (max-width:480px){#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions,#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{float:none}#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{margin:0 auto 10px}#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions{width:auto}}@media screen and (min-width:801px){#bp-webcam-avatar .avatar-crop-management{clear:none;float:right}#bp-webcam-avatar .avatar-crop-management #avatar-crop-pane{float:none;margin:0 auto 10px}#bp-webcam-avatar .avatar-crop-management #avatar-crop-actions{float:left;width:100%}}body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent{height:95%!important;width:95%!important}body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.updated,body.profile_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.updated,body.users_page_bp-profile-edit.modal-open #TB_ajaxContent p.warning{display:block;padding:10px 15px}.wp-admin #TB_window .bp-avatar #avatar-to-crop{float:left;margin:0}.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop{margin-bottom:20px}@media screen and (min-width:783px){.wp-admin #TB_window .bp-avatar .avatar-crop-management{clear:none;float:left;margin-left:20px;padding-top:0;text-align:center}}.wp-admin #TB_window .bp-avatar #avatar-to-crop video{width:100%}.wp-admin #TB_window .bp-avatar .avatar-crop-management a.button{height:auto;line-height:inherit}@media screen and (min-width:810px){.wp-admin #TB_window .bp-avatar #bp-webcam-avatar #avatar-to-crop{max-width:none;width:76%}.wp-admin #TB_window #bp-webcam-avatar .avatar-crop-management{max-width:none;width:auto}}
|
@@ -1,7 +1,6 @@
|
|
1 |
body:not(.wp-admin) {
|
2 |
padding-top: 25px !important;
|
3 |
}
|
4 |
-
|
5 |
#wp-admin-bar {
|
6 |
position: fixed;
|
7 |
top: 0;
|
@@ -11,76 +10,63 @@ body:not(.wp-admin) {
|
|
11 |
width: 100%;
|
12 |
z-index: 9999;
|
13 |
}
|
14 |
-
|
15 |
#wp-admin-bar .padder {
|
16 |
position: relative;
|
17 |
padding: 0;
|
18 |
width: 100%;
|
19 |
margin: 0 auto;
|
20 |
-
background: url(../images/60pc_black.png);
|
21 |
height: 25px;
|
22 |
}
|
23 |
-
|
24 |
body#bp-default #wp-admin-bar .padder {
|
25 |
max-width: 1250px;
|
26 |
}
|
27 |
-
|
28 |
#wp-admin-bar * {
|
29 |
z-index: 999;
|
30 |
}
|
31 |
-
|
32 |
#wp-admin-bar div#admin-bar-logo {
|
33 |
position: absolute;
|
34 |
top: 5px;
|
35 |
right: 10px;
|
36 |
}
|
37 |
-
|
38 |
#wp-admin-bar a img {
|
39 |
border: none;
|
40 |
}
|
41 |
-
|
42 |
#wp-admin-bar li {
|
43 |
list-style: none;
|
44 |
margin: 0;
|
45 |
padding: 0;
|
46 |
-
line-height:
|
47 |
text-align: right;
|
48 |
}
|
49 |
-
|
50 |
#wp-admin-bar li a {
|
51 |
-
padding: 7px 15px;
|
52 |
color: #eee;
|
53 |
text-decoration: none;
|
54 |
font-size: 11px;
|
55 |
}
|
56 |
-
|
57 |
#wp-admin-bar li.alt {
|
58 |
border: none;
|
59 |
}
|
60 |
-
|
61 |
#wp-admin-bar li.no-arrow a {
|
62 |
padding-left: 15px;
|
63 |
}
|
64 |
-
|
65 |
#wp-admin-bar ul li ul li a span {
|
66 |
display: none;
|
67 |
}
|
68 |
-
|
69 |
#wp-admin-bar li:hover,
|
70 |
#wp-admin-bar li.hover {
|
71 |
position: static;
|
72 |
}
|
73 |
-
|
74 |
#admin-bar-logo {
|
75 |
float: right;
|
76 |
-
font-weight:
|
77 |
font-size: 11px;
|
78 |
padding: 5px 8px;
|
79 |
margin: 0;
|
80 |
text-decoration: none;
|
81 |
color: #fff;
|
82 |
}
|
83 |
-
|
84 |
body#bp-default #admin-bar-logo {
|
85 |
padding: 2px 8px;
|
86 |
}
|
@@ -100,28 +86,23 @@ body#bp-default #admin-bar-logo {
|
|
100 |
padding: 0;
|
101 |
float: right;
|
102 |
position: relative;
|
103 |
-
background: url(../images/admin-menu-arrow.gif)
|
104 |
padding-left: 11px;
|
105 |
}
|
106 |
-
|
107 |
#wp-admin-bar ul li.no-arrow {
|
108 |
background: none;
|
109 |
padding-left: 0;
|
110 |
}
|
111 |
-
|
112 |
#wp-admin-bar ul li ul li {
|
113 |
background-image: none;
|
114 |
}
|
115 |
-
|
116 |
#wp-admin-bar ul li.align-right {
|
117 |
position: absolute;
|
118 |
left: 0;
|
119 |
}
|
120 |
-
|
121 |
#wp-admin-bar ul li a {
|
122 |
display: block;
|
123 |
}
|
124 |
-
|
125 |
#wp-admin-bar ul.main-nav li:hover,
|
126 |
#wp-admin-bar ul.main-nav li.sfhover,
|
127 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
@@ -145,29 +126,23 @@ body#bp-default #admin-bar-logo {
|
|
145 |
-moz-border-radius-topleft: 0;
|
146 |
-webkit-border-top-left-radius: 0;
|
147 |
}
|
148 |
-
|
149 |
#wp-admin-bar ul li > ul {
|
150 |
border-top: none;
|
151 |
}
|
152 |
-
|
153 |
#wp-admin-bar ul li ul a {
|
154 |
color: #eee;
|
155 |
}
|
156 |
-
|
157 |
#wp-admin-bar ul li ul li {
|
158 |
float: right;
|
159 |
width: 174px;
|
160 |
margin: 0;
|
161 |
}
|
162 |
-
|
163 |
#wp-admin-bar ul li ul li:hover a {
|
164 |
color: #fff;
|
165 |
}
|
166 |
-
|
167 |
#wp-admin-bar ul li div.admin-bar-clear {
|
168 |
clear: both;
|
169 |
}
|
170 |
-
|
171 |
#wp-admin-bar ul.main-nav li ul li:hover,
|
172 |
#wp-admin-bar ul.main-nav li ul li.sfhover,
|
173 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
@@ -180,26 +155,21 @@ body#bp-default #admin-bar-logo {
|
|
180 |
-moz-border-radius: 3px;
|
181 |
-webkit-border-radius: 3px;
|
182 |
}
|
183 |
-
|
184 |
#wp-admin-bar ul li ul li:hover ul li a {
|
185 |
color: #eee;
|
186 |
}
|
187 |
-
|
188 |
#wp-admin-bar ul li ul li ul li:hover a {
|
189 |
color: #fff;
|
190 |
}
|
191 |
-
|
192 |
#wp-admin-bar ul li:hover ul,
|
193 |
#wp-admin-bar ul li ul li:hover ul,
|
194 |
#wp-admin-bar ul li.sfhover ul,
|
195 |
#wp-admin-bar ul li ul li.sfhover ul {
|
196 |
right: auto;
|
197 |
}
|
198 |
-
|
199 |
#wp-admin-bar ul li.align-right:hover ul {
|
200 |
left: 0;
|
201 |
}
|
202 |
-
|
203 |
#wp-admin-bar ul li:hover ul ul,
|
204 |
#wp-admin-bar li.sfhover ul li ul {
|
205 |
right: -999em;
|
@@ -210,17 +180,14 @@ body#bp-default #admin-bar-logo {
|
|
210 |
float: right;
|
211 |
margin-left: 8px;
|
212 |
}
|
213 |
-
|
214 |
#wp-admin-bar span.activity {
|
215 |
display: block;
|
216 |
margin-right: 34px;
|
217 |
padding: 0;
|
218 |
}
|
219 |
-
|
220 |
#wp-admin-bar ul.author-list li a {
|
221 |
height: 17px;
|
222 |
}
|
223 |
-
|
224 |
#wp-admin-bar ul li#bp-adminbar-notifications-menu a span {
|
225 |
padding: 0 6px;
|
226 |
margin-right: 2px;
|
@@ -230,7 +197,6 @@ body#bp-default #admin-bar-logo {
|
|
230 |
-webkit-border-radius: 3px;
|
231 |
border-radius: 3px;
|
232 |
}
|
233 |
-
|
234 |
#wp-admin-bar-user-info img.avatar {
|
235 |
height: 64px;
|
236 |
width: 64px;
|
1 |
body:not(.wp-admin) {
|
2 |
padding-top: 25px !important;
|
3 |
}
|
|
|
4 |
#wp-admin-bar {
|
5 |
position: fixed;
|
6 |
top: 0;
|
10 |
width: 100%;
|
11 |
z-index: 9999;
|
12 |
}
|
|
|
13 |
#wp-admin-bar .padder {
|
14 |
position: relative;
|
15 |
padding: 0;
|
16 |
width: 100%;
|
17 |
margin: 0 auto;
|
18 |
+
background: url('../images/60pc_black.png');
|
19 |
height: 25px;
|
20 |
}
|
|
|
21 |
body#bp-default #wp-admin-bar .padder {
|
22 |
max-width: 1250px;
|
23 |
}
|
|
|
24 |
#wp-admin-bar * {
|
25 |
z-index: 999;
|
26 |
}
|
|
|
27 |
#wp-admin-bar div#admin-bar-logo {
|
28 |
position: absolute;
|
29 |
top: 5px;
|
30 |
right: 10px;
|
31 |
}
|
|
|
32 |
#wp-admin-bar a img {
|
33 |
border: none;
|
34 |
}
|
|
|
35 |
#wp-admin-bar li {
|
36 |
list-style: none;
|
37 |
margin: 0;
|
38 |
padding: 0;
|
39 |
+
line-height: 100%;
|
40 |
text-align: right;
|
41 |
}
|
|
|
42 |
#wp-admin-bar li a {
|
43 |
+
padding: 7px 15px 7px 15px;
|
44 |
color: #eee;
|
45 |
text-decoration: none;
|
46 |
font-size: 11px;
|
47 |
}
|
|
|
48 |
#wp-admin-bar li.alt {
|
49 |
border: none;
|
50 |
}
|
|
|
51 |
#wp-admin-bar li.no-arrow a {
|
52 |
padding-left: 15px;
|
53 |
}
|
|
|
54 |
#wp-admin-bar ul li ul li a span {
|
55 |
display: none;
|
56 |
}
|
|
|
57 |
#wp-admin-bar li:hover,
|
58 |
#wp-admin-bar li.hover {
|
59 |
position: static;
|
60 |
}
|
|
|
61 |
#admin-bar-logo {
|
62 |
float: right;
|
63 |
+
font-weight: bold;
|
64 |
font-size: 11px;
|
65 |
padding: 5px 8px;
|
66 |
margin: 0;
|
67 |
text-decoration: none;
|
68 |
color: #fff;
|
69 |
}
|
|
|
70 |
body#bp-default #admin-bar-logo {
|
71 |
padding: 2px 8px;
|
72 |
}
|
86 |
padding: 0;
|
87 |
float: right;
|
88 |
position: relative;
|
89 |
+
background: url('../images/admin-menu-arrow.gif') 88% 53% no-repeat;
|
90 |
padding-left: 11px;
|
91 |
}
|
|
|
92 |
#wp-admin-bar ul li.no-arrow {
|
93 |
background: none;
|
94 |
padding-left: 0;
|
95 |
}
|
|
|
96 |
#wp-admin-bar ul li ul li {
|
97 |
background-image: none;
|
98 |
}
|
|
|
99 |
#wp-admin-bar ul li.align-right {
|
100 |
position: absolute;
|
101 |
left: 0;
|
102 |
}
|
|
|
103 |
#wp-admin-bar ul li a {
|
104 |
display: block;
|
105 |
}
|
|
|
106 |
#wp-admin-bar ul.main-nav li:hover,
|
107 |
#wp-admin-bar ul.main-nav li.sfhover,
|
108 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
126 |
-moz-border-radius-topleft: 0;
|
127 |
-webkit-border-top-left-radius: 0;
|
128 |
}
|
|
|
129 |
#wp-admin-bar ul li > ul {
|
130 |
border-top: none;
|
131 |
}
|
|
|
132 |
#wp-admin-bar ul li ul a {
|
133 |
color: #eee;
|
134 |
}
|
|
|
135 |
#wp-admin-bar ul li ul li {
|
136 |
float: right;
|
137 |
width: 174px;
|
138 |
margin: 0;
|
139 |
}
|
|
|
140 |
#wp-admin-bar ul li ul li:hover a {
|
141 |
color: #fff;
|
142 |
}
|
|
|
143 |
#wp-admin-bar ul li div.admin-bar-clear {
|
144 |
clear: both;
|
145 |
}
|
|
|
146 |
#wp-admin-bar ul.main-nav li ul li:hover,
|
147 |
#wp-admin-bar ul.main-nav li ul li.sfhover,
|
148 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
155 |
-moz-border-radius: 3px;
|
156 |
-webkit-border-radius: 3px;
|
157 |
}
|
|
|
158 |
#wp-admin-bar ul li ul li:hover ul li a {
|
159 |
color: #eee;
|
160 |
}
|
|
|
161 |
#wp-admin-bar ul li ul li ul li:hover a {
|
162 |
color: #fff;
|
163 |
}
|
|
|
164 |
#wp-admin-bar ul li:hover ul,
|
165 |
#wp-admin-bar ul li ul li:hover ul,
|
166 |
#wp-admin-bar ul li.sfhover ul,
|
167 |
#wp-admin-bar ul li ul li.sfhover ul {
|
168 |
right: auto;
|
169 |
}
|
|
|
170 |
#wp-admin-bar ul li.align-right:hover ul {
|
171 |
left: 0;
|
172 |
}
|
|
|
173 |
#wp-admin-bar ul li:hover ul ul,
|
174 |
#wp-admin-bar li.sfhover ul li ul {
|
175 |
right: -999em;
|
180 |
float: right;
|
181 |
margin-left: 8px;
|
182 |
}
|
|
|
183 |
#wp-admin-bar span.activity {
|
184 |
display: block;
|
185 |
margin-right: 34px;
|
186 |
padding: 0;
|
187 |
}
|
|
|
188 |
#wp-admin-bar ul.author-list li a {
|
189 |
height: 17px;
|
190 |
}
|
|
|
191 |
#wp-admin-bar ul li#bp-adminbar-notifications-menu a span {
|
192 |
padding: 0 6px;
|
193 |
margin-right: 2px;
|
197 |
-webkit-border-radius: 3px;
|
198 |
border-radius: 3px;
|
199 |
}
|
|
|
200 |
#wp-admin-bar-user-info img.avatar {
|
201 |
height: 64px;
|
202 |
width: 64px;
|
@@ -1 +1 @@
|
|
1 |
-
body:not(.wp-admin){padding-top:25px!important}#wp-admin-bar{position:fixed;top:0;right:0;height:25px;font-size:11px;width:100%;z-index:9999}#wp-admin-bar .padder{position:relative;padding:0;width:100%;margin:0 auto;background:url(../images/60pc_black.png);height:25px}body#bp-default #wp-admin-bar .padder{max-width:1250px}#wp-admin-bar *{z-index:999}#wp-admin-bar div#admin-bar-logo{position:absolute;top:5px;right:10px}#wp-admin-bar a img{border:none}#wp-admin-bar li{list-style:none;margin:0;padding:0;line-height:
|
1 |
+
#admin-bar-logo,#wp-admin-bar li a{font-size:11px;text-decoration:none}#wp-admin-bar ul li ul a,#wp-admin-bar ul li ul li:hover ul li a{color:#eee}#wp-admin-bar ul li ul li ul li:hover a,#wp-admin-bar ul li ul li:hover a{color:#fff}body:not(.wp-admin){padding-top:25px!important}#wp-admin-bar{position:fixed;top:0;right:0;height:25px;font-size:11px;width:100%;z-index:9999}#wp-admin-bar .padder{position:relative;padding:0;width:100%;margin:0 auto;background:url(../images/60pc_black.png);height:25px}body#bp-default #wp-admin-bar .padder{max-width:1250px}#wp-admin-bar *{z-index:999}#wp-admin-bar div#admin-bar-logo{position:absolute;top:5px;right:10px}#wp-admin-bar a img,#wp-admin-bar li.alt{border:none}#wp-admin-bar li{list-style:none;margin:0;padding:0;line-height:100%;text-align:right}#wp-admin-bar li a{padding:7px 15px;color:#eee}#wp-admin-bar li.no-arrow a{padding-left:15px}#wp-admin-bar ul li ul li a span{display:none}#wp-admin-bar li.hover,#wp-admin-bar li:hover{position:static}#admin-bar-logo{float:right;font-weight:700;padding:5px 8px;margin:0;color:#fff}body#bp-default #admin-bar-logo{padding:2px 8px}#wp-admin-bar ul{margin:0;list-style:none;line-height:1;cursor:pointer;height:auto;padding:0}#wp-admin-bar ul li{padding:0 0 0 11px;float:right;position:relative;background:url(../images/admin-menu-arrow.gif) 88% 53% no-repeat}#wp-admin-bar ul li.no-arrow{background:0 0;padding-left:0}#wp-admin-bar ul li ul li{background-image:none;float:right;width:174px;margin:0}#wp-admin-bar ul li.align-right{position:absolute;left:0}#wp-admin-bar ul li a{display:block}#wp-admin-bar ul.main-nav li ul li.sfhover,#wp-admin-bar ul.main-nav li.sfhover,#wp-admin-bar ul.main-nav li:hover{background-color:#333}#wp-admin-bar ul li ul{position:absolute;width:185px;right:-999em;margin-right:0;background:#333;border:1px solid #222;-moz-box-shadow:0 4px 8px rgba(0,0,0,.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,.1);-moz-border-radius:3px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius-topright:0;-moz-border-radius-topleft:0}#wp-admin-bar ul li>ul{border-top:none}#wp-admin-bar ul li div.admin-bar-clear{clear:both}#wp-admin-bar ul.main-nav li ul li.sfhover,#wp-admin-bar ul.main-nav li ul li:hover{background-color:#222}#wp-admin-bar ul li ul ul{margin:-25px 184px 0 0;-moz-border-radius:3px;-webkit-border-radius:3px}#wp-admin-bar ul li ul li.sfhover ul,#wp-admin-bar ul li ul li:hover ul,#wp-admin-bar ul li.sfhover ul,#wp-admin-bar ul li:hover ul{right:auto}#wp-admin-bar ul li.align-right:hover ul{left:0}#wp-admin-bar li.sfhover ul li ul,#wp-admin-bar ul li:hover ul ul{right:-999em}#wp-admin-bar img.avatar{float:right;margin-left:8px}#wp-admin-bar span.activity{display:block;margin-right:34px;padding:0}#wp-admin-bar ul.author-list li a{height:17px}#wp-admin-bar ul li#bp-adminbar-notifications-menu a span{padding:0 6px;margin-right:2px;background:#fff;color:#000;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#wp-admin-bar-user-info img.avatar{height:64px;width:64px}
|
@@ -1,7 +1,6 @@
|
|
1 |
body:not(.wp-admin) {
|
2 |
padding-top: 25px !important;
|
3 |
}
|
4 |
-
|
5 |
#wp-admin-bar {
|
6 |
position: fixed;
|
7 |
top: 0;
|
@@ -11,76 +10,63 @@ body:not(.wp-admin) {
|
|
11 |
width: 100%;
|
12 |
z-index: 9999;
|
13 |
}
|
14 |
-
|
15 |
#wp-admin-bar .padder {
|
16 |
position: relative;
|
17 |
padding: 0;
|
18 |
width: 100%;
|
19 |
margin: 0 auto;
|
20 |
-
background: url(../images/60pc_black.png);
|
21 |
height: 25px;
|
22 |
}
|
23 |
-
|
24 |
body#bp-default #wp-admin-bar .padder {
|
25 |
max-width: 1250px;
|
26 |
}
|
27 |
-
|
28 |
#wp-admin-bar * {
|
29 |
z-index: 999;
|
30 |
}
|
31 |
-
|
32 |
#wp-admin-bar div#admin-bar-logo {
|
33 |
position: absolute;
|
34 |
top: 5px;
|
35 |
left: 10px;
|
36 |
}
|
37 |
-
|
38 |
#wp-admin-bar a img {
|
39 |
border: none;
|
40 |
}
|
41 |
-
|
42 |
#wp-admin-bar li {
|
43 |
list-style: none;
|
44 |
margin: 0;
|
45 |
padding: 0;
|
46 |
-
line-height:
|
47 |
text-align: left;
|
48 |
}
|
49 |
-
|
50 |
#wp-admin-bar li a {
|
51 |
-
padding: 7px 15px;
|
52 |
color: #eee;
|
53 |
text-decoration: none;
|
54 |
font-size: 11px;
|
55 |
}
|
56 |
-
|
57 |
#wp-admin-bar li.alt {
|
58 |
border: none;
|
59 |
}
|
60 |
-
|
61 |
#wp-admin-bar li.no-arrow a {
|
62 |
padding-right: 15px;
|
63 |
}
|
64 |
-
|
65 |
#wp-admin-bar ul li ul li a span {
|
66 |
display: none;
|
67 |
}
|
68 |
-
|
69 |
#wp-admin-bar li:hover,
|
70 |
#wp-admin-bar li.hover {
|
71 |
position: static;
|
72 |
}
|
73 |
-
|
74 |
#admin-bar-logo {
|
75 |
float: left;
|
76 |
-
font-weight:
|
77 |
font-size: 11px;
|
78 |
padding: 5px 8px;
|
79 |
margin: 0;
|
80 |
text-decoration: none;
|
81 |
color: #fff;
|
82 |
}
|
83 |
-
|
84 |
body#bp-default #admin-bar-logo {
|
85 |
padding: 2px 8px;
|
86 |
}
|
@@ -100,28 +86,23 @@ body#bp-default #admin-bar-logo {
|
|
100 |
padding: 0;
|
101 |
float: left;
|
102 |
position: relative;
|
103 |
-
background: url(../images/admin-menu-arrow.gif) 88% 53% no-repeat;
|
104 |
padding-right: 11px;
|
105 |
}
|
106 |
-
|
107 |
#wp-admin-bar ul li.no-arrow {
|
108 |
background: none;
|
109 |
padding-right: 0;
|
110 |
}
|
111 |
-
|
112 |
#wp-admin-bar ul li ul li {
|
113 |
background-image: none;
|
114 |
}
|
115 |
-
|
116 |
#wp-admin-bar ul li.align-right {
|
117 |
position: absolute;
|
118 |
right: 0;
|
119 |
}
|
120 |
-
|
121 |
#wp-admin-bar ul li a {
|
122 |
display: block;
|
123 |
}
|
124 |
-
|
125 |
#wp-admin-bar ul.main-nav li:hover,
|
126 |
#wp-admin-bar ul.main-nav li.sfhover,
|
127 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
@@ -145,29 +126,23 @@ body#bp-default #admin-bar-logo {
|
|
145 |
-moz-border-radius-topright: 0;
|
146 |
-webkit-border-top-right-radius: 0;
|
147 |
}
|
148 |
-
|
149 |
#wp-admin-bar ul li > ul {
|
150 |
border-top: none;
|
151 |
}
|
152 |
-
|
153 |
#wp-admin-bar ul li ul a {
|
154 |
color: #eee;
|
155 |
}
|
156 |
-
|
157 |
#wp-admin-bar ul li ul li {
|
158 |
float: left;
|
159 |
width: 174px;
|
160 |
margin: 0;
|
161 |
}
|
162 |
-
|
163 |
#wp-admin-bar ul li ul li:hover a {
|
164 |
color: #fff;
|
165 |
}
|
166 |
-
|
167 |
#wp-admin-bar ul li div.admin-bar-clear {
|
168 |
clear: both;
|
169 |
}
|
170 |
-
|
171 |
#wp-admin-bar ul.main-nav li ul li:hover,
|
172 |
#wp-admin-bar ul.main-nav li ul li.sfhover,
|
173 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
@@ -180,26 +155,21 @@ body#bp-default #admin-bar-logo {
|
|
180 |
-moz-border-radius: 3px;
|
181 |
-webkit-border-radius: 3px;
|
182 |
}
|
183 |
-
|
184 |
#wp-admin-bar ul li ul li:hover ul li a {
|
185 |
color: #eee;
|
186 |
}
|
187 |
-
|
188 |
#wp-admin-bar ul li ul li ul li:hover a {
|
189 |
color: #fff;
|
190 |
}
|
191 |
-
|
192 |
#wp-admin-bar ul li:hover ul,
|
193 |
#wp-admin-bar ul li ul li:hover ul,
|
194 |
#wp-admin-bar ul li.sfhover ul,
|
195 |
#wp-admin-bar ul li ul li.sfhover ul {
|
196 |
left: auto;
|
197 |
}
|
198 |
-
|
199 |
#wp-admin-bar ul li.align-right:hover ul {
|
200 |
right: 0;
|
201 |
}
|
202 |
-
|
203 |
#wp-admin-bar ul li:hover ul ul,
|
204 |
#wp-admin-bar li.sfhover ul li ul {
|
205 |
left: -999em;
|
@@ -210,17 +180,14 @@ body#bp-default #admin-bar-logo {
|
|
210 |
float: left;
|
211 |
margin-right: 8px;
|
212 |
}
|
213 |
-
|
214 |
#wp-admin-bar span.activity {
|
215 |
display: block;
|
216 |
margin-left: 34px;
|
217 |
padding: 0;
|
218 |
}
|
219 |
-
|
220 |
#wp-admin-bar ul.author-list li a {
|
221 |
height: 17px;
|
222 |
}
|
223 |
-
|
224 |
#wp-admin-bar ul li#bp-adminbar-notifications-menu a span {
|
225 |
padding: 0 6px;
|
226 |
margin-left: 2px;
|
@@ -230,7 +197,6 @@ body#bp-default #admin-bar-logo {
|
|
230 |
-webkit-border-radius: 3px;
|
231 |
border-radius: 3px;
|
232 |
}
|
233 |
-
|
234 |
#wp-admin-bar-user-info img.avatar {
|
235 |
height: 64px;
|
236 |
width: 64px;
|
1 |
body:not(.wp-admin) {
|
2 |
padding-top: 25px !important;
|
3 |
}
|
|
|
4 |
#wp-admin-bar {
|
5 |
position: fixed;
|
6 |
top: 0;
|
10 |
width: 100%;
|
11 |
z-index: 9999;
|
12 |
}
|
|
|
13 |
#wp-admin-bar .padder {
|
14 |
position: relative;
|
15 |
padding: 0;
|
16 |
width: 100%;
|
17 |
margin: 0 auto;
|
18 |
+
background: url('../images/60pc_black.png');
|
19 |
height: 25px;
|
20 |
}
|
|
|
21 |
body#bp-default #wp-admin-bar .padder {
|
22 |
max-width: 1250px;
|
23 |
}
|
|
|
24 |
#wp-admin-bar * {
|
25 |
z-index: 999;
|
26 |
}
|
|
|
27 |
#wp-admin-bar div#admin-bar-logo {
|
28 |
position: absolute;
|
29 |
top: 5px;
|
30 |
left: 10px;
|
31 |
}
|
|
|
32 |
#wp-admin-bar a img {
|
33 |
border: none;
|
34 |
}
|
|
|
35 |
#wp-admin-bar li {
|
36 |
list-style: none;
|
37 |
margin: 0;
|
38 |
padding: 0;
|
39 |
+
line-height: 100%;
|
40 |
text-align: left;
|
41 |
}
|
|
|
42 |
#wp-admin-bar li a {
|
43 |
+
padding: 7px 15px 7px 15px;
|
44 |
color: #eee;
|
45 |
text-decoration: none;
|
46 |
font-size: 11px;
|
47 |
}
|
|
|
48 |
#wp-admin-bar li.alt {
|
49 |
border: none;
|
50 |
}
|
|
|
51 |
#wp-admin-bar li.no-arrow a {
|
52 |
padding-right: 15px;
|
53 |
}
|
|
|
54 |
#wp-admin-bar ul li ul li a span {
|
55 |
display: none;
|
56 |
}
|
|
|
57 |
#wp-admin-bar li:hover,
|
58 |
#wp-admin-bar li.hover {
|
59 |
position: static;
|
60 |
}
|
|
|
61 |
#admin-bar-logo {
|
62 |
float: left;
|
63 |
+
font-weight: bold;
|
64 |
font-size: 11px;
|
65 |
padding: 5px 8px;
|
66 |
margin: 0;
|
67 |
text-decoration: none;
|
68 |
color: #fff;
|
69 |
}
|
|
|
70 |
body#bp-default #admin-bar-logo {
|
71 |
padding: 2px 8px;
|
72 |
}
|
86 |
padding: 0;
|
87 |
float: left;
|
88 |
position: relative;
|
89 |
+
background: url('../images/admin-menu-arrow.gif') 88% 53% no-repeat;
|
90 |
padding-right: 11px;
|
91 |
}
|
|
|
92 |
#wp-admin-bar ul li.no-arrow {
|
93 |
background: none;
|
94 |
padding-right: 0;
|
95 |
}
|
|
|
96 |
#wp-admin-bar ul li ul li {
|
97 |
background-image: none;
|
98 |
}
|
|
|
99 |
#wp-admin-bar ul li.align-right {
|
100 |
position: absolute;
|
101 |
right: 0;
|
102 |
}
|
|
|
103 |
#wp-admin-bar ul li a {
|
104 |
display: block;
|
105 |
}
|
|
|
106 |
#wp-admin-bar ul.main-nav li:hover,
|
107 |
#wp-admin-bar ul.main-nav li.sfhover,
|
108 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
126 |
-moz-border-radius-topright: 0;
|
127 |
-webkit-border-top-right-radius: 0;
|
128 |
}
|
|
|
129 |
#wp-admin-bar ul li > ul {
|
130 |
border-top: none;
|
131 |
}
|
|
|
132 |
#wp-admin-bar ul li ul a {
|
133 |
color: #eee;
|
134 |
}
|
|
|
135 |
#wp-admin-bar ul li ul li {
|
136 |
float: left;
|
137 |
width: 174px;
|
138 |
margin: 0;
|
139 |
}
|
|
|
140 |
#wp-admin-bar ul li ul li:hover a {
|
141 |
color: #fff;
|
142 |
}
|
|
|
143 |
#wp-admin-bar ul li div.admin-bar-clear {
|
144 |
clear: both;
|
145 |
}
|
|
|
146 |
#wp-admin-bar ul.main-nav li ul li:hover,
|
147 |
#wp-admin-bar ul.main-nav li ul li.sfhover,
|
148 |
#wp-admin-bar ul.main-nav li ul li.sfhover {
|
155 |
-moz-border-radius: 3px;
|
156 |
-webkit-border-radius: 3px;
|
157 |
}
|
|
|
158 |
#wp-admin-bar ul li ul li:hover ul li a {
|
159 |
color: #eee;
|
160 |
}
|
|
|
161 |
#wp-admin-bar ul li ul li ul li:hover a {
|
162 |
color: #fff;
|
163 |
}
|
|
|
164 |
#wp-admin-bar ul li:hover ul,
|
165 |
#wp-admin-bar ul li ul li:hover ul,
|
166 |
#wp-admin-bar ul li.sfhover ul,
|
167 |
#wp-admin-bar ul li ul li.sfhover ul {
|
168 |
left: auto;
|
169 |
}
|
|
|
170 |
#wp-admin-bar ul li.align-right:hover ul {
|
171 |
right: 0;
|
172 |
}
|
|
|
173 |
#wp-admin-bar ul li:hover ul ul,
|
174 |
#wp-admin-bar li.sfhover ul li ul {
|
175 |
left: -999em;
|
180 |
float: left;
|
181 |
margin-right: 8px;
|
182 |
}
|
|
|
183 |
#wp-admin-bar span.activity {
|
184 |
display: block;
|
185 |
margin-left: 34px;
|
186 |
padding: 0;
|
187 |
}
|
|
|
188 |
#wp-admin-bar ul.author-list li a {
|
189 |
height: 17px;
|
190 |
}
|
|
|
191 |
#wp-admin-bar ul li#bp-adminbar-notifications-menu a span {
|
192 |
padding: 0 6px;
|
193 |
margin-left: 2px;
|
197 |
-webkit-border-radius: 3px;
|
198 |
border-radius: 3px;
|
199 |
}
|
|
|
200 |
#wp-admin-bar-user-info img.avatar {
|
201 |
height: 64px;
|
202 |
width: 64px;
|
@@ -1 +1 @@
|
|
1 |
-
body:not(.wp-admin){padding-top:25px!important}#wp-admin-bar{position:fixed;top:0;left:0;height:25px;font-size:11px;width:100%;z-index:9999}#wp-admin-bar .padder{position:relative;padding:0;width:100%;margin:0 auto;background:url(../images/60pc_black.png);height:25px}body#bp-default #wp-admin-bar .padder{max-width:1250px}#wp-admin-bar *{z-index:999}#wp-admin-bar div#admin-bar-logo{position:absolute;top:5px;left:10px}#wp-admin-bar a img{border:none}#wp-admin-bar li{list-style:none;margin:0;padding:0;line-height:
|
1 |
+
#admin-bar-logo,#wp-admin-bar li a{font-size:11px;text-decoration:none}#wp-admin-bar ul li ul a,#wp-admin-bar ul li ul li:hover ul li a{color:#eee}#wp-admin-bar ul li ul li ul li:hover a,#wp-admin-bar ul li ul li:hover a{color:#fff}body:not(.wp-admin){padding-top:25px!important}#wp-admin-bar{position:fixed;top:0;left:0;height:25px;font-size:11px;width:100%;z-index:9999}#wp-admin-bar .padder{position:relative;padding:0;width:100%;margin:0 auto;background:url(../images/60pc_black.png);height:25px}body#bp-default #wp-admin-bar .padder{max-width:1250px}#wp-admin-bar *{z-index:999}#wp-admin-bar div#admin-bar-logo{position:absolute;top:5px;left:10px}#wp-admin-bar a img,#wp-admin-bar li.alt{border:none}#wp-admin-bar li{list-style:none;margin:0;padding:0;line-height:100%;text-align:left}#wp-admin-bar li a{padding:7px 15px;color:#eee}#wp-admin-bar li.no-arrow a{padding-right:15px}#wp-admin-bar ul li ul li a span{display:none}#wp-admin-bar li.hover,#wp-admin-bar li:hover{position:static}#admin-bar-logo{float:left;font-weight:700;padding:5px 8px;margin:0;color:#fff}body#bp-default #admin-bar-logo{padding:2px 8px}#wp-admin-bar ul{margin:0;list-style:none;line-height:1;cursor:pointer;height:auto;padding:0}#wp-admin-bar ul li{padding:0 11px 0 0;float:left;position:relative;background:url(../images/admin-menu-arrow.gif) 88% 53% no-repeat}#wp-admin-bar ul li.no-arrow{background:0 0;padding-right:0}#wp-admin-bar ul li ul li{background-image:none;float:left;width:174px;margin:0}#wp-admin-bar ul li.align-right{position:absolute;right:0}#wp-admin-bar ul li a{display:block}#wp-admin-bar ul.main-nav li ul li.sfhover,#wp-admin-bar ul.main-nav li.sfhover,#wp-admin-bar ul.main-nav li:hover{background-color:#333}#wp-admin-bar ul li ul{position:absolute;width:185px;left:-999em;margin-left:0;background:#333;border:1px solid #222;-moz-box-shadow:0 4px 8px rgba(0,0,0,.1);-webkit-box-shadow:0 4px 8px rgba(0,0,0,.1);-moz-border-radius:3px;-webkit-border-radius:0 0 3px 3px;-moz-border-radius-topleft:0;-moz-border-radius-topright:0}#wp-admin-bar ul li>ul{border-top:none}#wp-admin-bar ul li div.admin-bar-clear{clear:both}#wp-admin-bar ul.main-nav li ul li.sfhover,#wp-admin-bar ul.main-nav li ul li:hover{background-color:#222}#wp-admin-bar ul li ul ul{margin:-25px 0 0 184px;-moz-border-radius:3px;-webkit-border-radius:3px}#wp-admin-bar ul li ul li.sfhover ul,#wp-admin-bar ul li ul li:hover ul,#wp-admin-bar ul li.sfhover ul,#wp-admin-bar ul li:hover ul{left:auto}#wp-admin-bar ul li.align-right:hover ul{right:0}#wp-admin-bar li.sfhover ul li ul,#wp-admin-bar ul li:hover ul ul{left:-999em}#wp-admin-bar img.avatar{float:left;margin-right:8px}#wp-admin-bar span.activity{display:block;margin-left:34px;padding:0}#wp-admin-bar ul.author-list li a{height:17px}#wp-admin-bar ul li#bp-adminbar-notifications-menu a span{padding:0 6px;margin-left:2px;background:#fff;color:#000;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}#wp-admin-bar-user-info img.avatar{height:64px;width:64px}
|
@@ -14,7 +14,7 @@
|
|
14 |
* @since 1.0.0
|
15 |
* @deprecated 1.2.0
|
16 |
*
|
17 |
-
* @param
|
18 |
*
|
19 |
* @return object $activity The activity/activities object
|
20 |
*/
|
14 |
* @since 1.0.0
|
15 |
* @deprecated 1.2.0
|
16 |
*
|
17 |
+
* @param array $args
|
18 |
*
|
19 |
* @return object $activity The activity/activities object
|
20 |
*/
|
@@ -508,7 +508,7 @@ function bp_dtheme_deprecated() {
|
|
508 |
* @deprecated No longer required.
|
509 |
* @param string $oldvalue Previous value of get_option( 'page_on_front' )
|
510 |
* @param string $oldvalue New value of get_option( 'page_on_front' )
|
511 |
-
* @return
|
512 |
* @since 1.2.0
|
513 |
*/
|
514 |
function bp_dtheme_page_on_front_update( $oldvalue, $newvalue ) {
|
508 |
* @deprecated No longer required.
|
509 |
* @param string $oldvalue Previous value of get_option( 'page_on_front' )
|
510 |
* @param string $oldvalue New value of get_option( 'page_on_front' )
|
511 |
+
* @return bool|string
|
512 |
* @since 1.2.0
|
513 |
*/
|
514 |
function bp_dtheme_page_on_front_update( $oldvalue, $newvalue ) {
|
@@ -265,13 +265,8 @@ if ( !function_exists( 'bp_dtheme_register_actions' ) ) :
|
|
265 |
|
266 |
// For each of the problematic hooks, exit at the very end of execution
|
267 |
foreach( $actions as $action ) {
|
268 |
-
add_action( 'wp_ajax_'
|
269 |
-
|
270 |
-
}, 9999 );
|
271 |
-
|
272 |
-
add_action( 'wp_ajax_nopriv_' . $action, function() {
|
273 |
-
exit;
|
274 |
-
}, 9999 );
|
275 |
}
|
276 |
}
|
277 |
add_action( 'after_setup_theme', 'bp_die_legacy_ajax_callbacks', 20 );
|
265 |
|
266 |
// For each of the problematic hooks, exit at the very end of execution
|
267 |
foreach( $actions as $action ) {
|
268 |
+
add_action( 'wp_ajax_' . $action, create_function( '', 'exit;' ), 9999 );
|
269 |
+
add_action( 'wp_ajax_nopriv_' . $action, create_function( '', 'exit;' ), 9999 );
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
271 |
}
|
272 |
add_action( 'after_setup_theme', 'bp_die_legacy_ajax_callbacks', 20 );
|
@@ -74,7 +74,7 @@ function bp_get_plugin_sidebar() {
|
|
74 |
* step. It also means that the themes won't show for selection on other blogs.
|
75 |
*
|
76 |
* @deprecated 1.7.0
|
77 |
-
* @
|
78 |
*/
|
79 |
function bp_core_allow_default_theme( $themes ) {
|
80 |
_deprecated_function( __FUNCTION__, '1.7' );
|
74 |
* step. It also means that the themes won't show for selection on other blogs.
|
75 |
*
|
76 |
* @deprecated 1.7.0
|
77 |
+
* @package BuddyPress Core
|
78 |
*/
|
79 |
function bp_core_allow_default_theme( $themes ) {
|
80 |
_deprecated_function( __FUNCTION__, '1.7' );
|
@@ -19,14 +19,14 @@ defined( 'ABSPATH' ) || exit;
|
|
19 |
* bp_notifications_add_notification() instead.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
-
* @param string
|
23 |
-
* @param int
|
24 |
-
* @param string
|
25 |
-
* @param string
|
26 |
-
* @param
|
27 |
-
* @param
|
28 |
-
* @param int
|
29 |
-
* @return
|
30 |
*/
|
31 |
function bp_core_add_notification( $item_id, $user_id, $component_name, $component_action, $secondary_item_id = 0, $date_notified = false, $is_new = 1 ) {
|
32 |
|
@@ -62,9 +62,8 @@ function bp_core_add_notification( $item_id, $user_id, $component_name, $compone
|
|
62 |
* bp_notifications_delete_notification() instead.
|
63 |
*
|
64 |
* @since 1.0.0
|
65 |
-
*
|
66 |
* @param int $id ID of notification.
|
67 |
-
* @return
|
68 |
*/
|
69 |
function bp_core_delete_notification( $id ) {
|
70 |
|
@@ -87,7 +86,7 @@ function bp_core_delete_notification( $id ) {
|
|
87 |
*
|
88 |
* @since 1.0.0
|
89 |
* @param int $id ID of notification.
|
90 |
-
* @return
|
91 |
*/
|
92 |
function bp_core_get_notification( $id ) {
|
93 |
|
@@ -141,7 +140,7 @@ function bp_core_get_notifications_for_user( $user_id, $format = 'string' ) {
|
|
141 |
* @param int $user_id
|
142 |
* @param string $component_name
|
143 |
* @param string $component_action
|
144 |
-
* @return
|
145 |
*/
|
146 |
function bp_core_delete_notifications_by_type( $user_id, $component_name, $component_action ) {
|
147 |
|
@@ -166,11 +165,10 @@ function bp_core_delete_notifications_by_type( $user_id, $component_name, $compo
|
|
166 |
* bp_notifications_delete_notifications_by_item_id() instead.
|
167 |
*
|
168 |
* @since 1.0.0
|
169 |
-
*
|
170 |
* @param int $user_id
|
171 |
* @param string $component_name
|
172 |
* @param string $component_action
|
173 |
-
* @return
|
174 |
*/
|
175 |
function bp_core_delete_notifications_by_item_id( $user_id, $item_id, $component_name, $component_action, $secondary_item_id = false ) {
|
176 |
|
@@ -192,10 +190,9 @@ function bp_core_delete_notifications_by_item_id( $user_id, $item_id, $component
|
|
192 |
* bp_notifications_delete_all_notifications_by_type() instead.
|
193 |
*
|
194 |
* @since 1.0.0
|
195 |
-
*
|
196 |
-
* @param
|
197 |
-
* @param string
|
198 |
-
* @param false|string $component_action
|
199 |
* @return boolean True on success, false on failure.
|
200 |
*/
|
201 |
function bp_core_delete_all_notifications_by_type( $item_id, $component_name, $component_action = false, $secondary_item_id = false ) {
|
@@ -223,7 +220,7 @@ function bp_core_delete_all_notifications_by_type( $item_id, $component_name, $c
|
|
223 |
* @param int $user_id
|
224 |
* @param string $component_name
|
225 |
* @param string $component_action
|
226 |
-
* @return
|
227 |
*/
|
228 |
function bp_core_delete_notifications_from_user( $user_id, $component_name, $component_action ) {
|
229 |
|
19 |
* bp_notifications_add_notification() instead.
|
20 |
*
|
21 |
* @since 1.0.0
|
22 |
+
* @param string $item_id
|
23 |
+
* @param int $user_id
|
24 |
+
* @param string $component_name
|
25 |
+
* @param string $component_action
|
26 |
+
* @param string $secondary_item_id
|
27 |
+
* @param string $date_notified
|
28 |
+
* @param int $is_new
|
29 |
+
* @return boolean True on success, false on failure.
|
30 |
*/
|
31 |
function bp_core_add_notification( $item_id, $user_id, $component_name, $component_action, $secondary_item_id = 0, $date_notified = false, $is_new = 1 ) {
|
32 |
|
62 |
* bp_notifications_delete_notification() instead.
|
63 |
*
|
64 |
* @since 1.0.0
|
|
|
65 |
* @param int $id ID of notification.
|
66 |
+
* @return boolean True on success, false on failure.
|
67 |
*/
|
68 |
function bp_core_delete_notification( $id ) {
|
69 |
|
86 |
*
|
87 |
* @since 1.0.0
|
88 |
* @param int $id ID of notification.
|
89 |
+
* @return BP_Core_Notification
|
90 |
*/
|
91 |
function bp_core_get_notification( $id ) {
|
92 |
|
140 |
* @param int $user_id
|
141 |
* @param string $component_name
|
142 |
* @param string $component_action
|
143 |
+
* @return boolean True on success, false on failure.
|
144 |
*/
|
145 |
function bp_core_delete_notifications_by_type( $user_id, $component_name, $component_action ) {
|
146 |
|
165 |
* bp_notifications_delete_notifications_by_item_id() instead.
|
166 |
*
|
167 |
* @since 1.0.0
|
|
|
168 |
* @param int $user_id
|
169 |
* @param string $component_name
|
170 |
* @param string $component_action
|
171 |
+
* @return boolean True on success, false on failure.
|
172 |
*/
|
173 |
function bp_core_delete_notifications_by_item_id( $user_id, $item_id, $component_name, $component_action, $secondary_item_id = false ) {
|
174 |
|
190 |
* bp_notifications_delete_all_notifications_by_type() instead.
|
191 |
*
|
192 |
* @since 1.0.0
|
193 |
+
* @param int $user_id
|
194 |
+
* @param string $component_name
|
195 |
+
* @param string $component_action
|
|
|
196 |
* @return boolean True on success, false on failure.
|
197 |
*/
|
198 |
function bp_core_delete_all_notifications_by_type( $item_id, $component_name, $component_action = false, $secondary_item_id = false ) {
|
220 |
* @param int $user_id
|
221 |
* @param string $component_name
|
222 |
* @param string $component_action
|
223 |
+
* @return boolean True on success, false on failure.
|
224 |
*/
|
225 |
function bp_core_delete_notifications_from_user( $user_id, $component_name, $component_action ) {
|
226 |
|
@@ -36,7 +36,7 @@ function bp_core_register_deprecated_styles() {
|
|
36 |
* @since 1.0.0
|
37 |
* @deprecated 2.1.0
|
38 |
*
|
39 |
-
* @return
|
40 |
*/
|
41 |
function bp_adminbar_blogs_menu() {
|
42 |
|
@@ -131,7 +131,7 @@ function bp_admin_sanitize_callback_force_buddybar( $value = false ) {
|
|
131 |
/**
|
132 |
* Wrapper function for rendering the BuddyBar.
|
133 |
*
|
134 |
-
* @return
|
135 |
* @deprecated 2.1.0
|
136 |
*/
|
137 |
function bp_core_admin_bar() {
|
@@ -179,7 +179,7 @@ function bp_adminbar_logo() {
|
|
179 |
*
|
180 |
* @deprecated 2.1.0
|
181 |
*
|
182 |
-
* @return
|
183 |
*/
|
184 |
function bp_adminbar_login_menu() {
|
185 |
|
@@ -200,7 +200,7 @@ function bp_adminbar_login_menu() {
|
|
200 |
*
|
201 |
* @deprecated 2.1.0
|
202 |
*
|
203 |
-
* @return
|
204 |
*/
|
205 |
function bp_adminbar_account_menu() {
|
206 |
$bp = buddypress();
|
36 |
* @since 1.0.0
|
37 |
* @deprecated 2.1.0
|
38 |
*
|
39 |
+
* @return bool|null Returns false on failure. Otherwise echoes the menu item.
|
40 |
*/
|
41 |
function bp_adminbar_blogs_menu() {
|
42 |
|
131 |
/**
|
132 |
* Wrapper function for rendering the BuddyBar.
|
133 |
*
|
134 |
+
* @return bool|null Returns false if the BuddyBar is disabled.
|
135 |
* @deprecated 2.1.0
|
136 |
*/
|
137 |
function bp_core_admin_bar() {
|
179 |
*
|
180 |
* @deprecated 2.1.0
|
181 |
*
|
182 |
+
* @return bool|null Returns false if the current user is logged in.
|
183 |
*/
|
184 |
function bp_adminbar_login_menu() {
|
185 |
|
200 |
*
|
201 |
* @deprecated 2.1.0
|
202 |
*
|
203 |
+
* @return bool|null Returns false on failure.
|
204 |
*/
|
205 |
function bp_adminbar_account_menu() {
|
206 |
$bp = buddypress();
|
@@ -62,7 +62,7 @@ function bp_core_deprecated_email_filters( $value, $property, $transform, $email
|
|
62 |
'settings-verify-email-change',
|
63 |
);
|
64 |
|
65 |
-
remove_filter( 'bp_email_get_property', 'bp_core_deprecated_email_filters', 20 );
|
66 |
$email_type = $email->get( 'type' );
|
67 |
$tokens = $email->get( 'tokens' );
|
68 |
add_filter( 'bp_email_get_property', 'bp_core_deprecated_email_filters', 20, 4 );
|
@@ -701,7 +701,7 @@ function bp_core_deprecated_email_actions( $delivery_status, $email ) {
|
|
701 |
'settings-verify-email-change',
|
702 |
);
|
703 |
|
704 |
-
remove_action( 'bp_send_email_success', 'bp_core_deprecated_email_actions', 20 );
|
705 |
$email_content = $email->get( 'content' );
|
706 |
$email_subject = $email->get( 'subject' );
|
707 |
$email_type = $email->get( 'type' );
|
@@ -914,7 +914,7 @@ function bp_blogs_transition_activity_status( $new_status, $old_status, $comment
|
|
914 |
* @param int $comment_id ID of the comment being recorded.
|
915 |
* @param bool|string $is_approved Optional. The $is_approved value passed to
|
916 |
* the 'comment_post' action. Default: true.
|
917 |
-
* @return bool|object
|
918 |
*/
|
919 |
function bp_blogs_record_comment( $comment_id, $is_approved = true ) {
|
920 |
_deprecated_function( __FUNCTION__, '2.5.0', 'bp_activity_post_type_comment()' );
|
62 |
'settings-verify-email-change',
|
63 |
);
|
64 |
|
65 |
+
remove_filter( 'bp_email_get_property', 'bp_core_deprecated_email_filters', 20, 4 );
|
66 |
$email_type = $email->get( 'type' );
|
67 |
$tokens = $email->get( 'tokens' );
|
68 |
add_filter( 'bp_email_get_property', 'bp_core_deprecated_email_filters', 20, 4 );
|
701 |
'settings-verify-email-change',
|
702 |
);
|
703 |
|
704 |
+
remove_action( 'bp_send_email_success', 'bp_core_deprecated_email_actions', 20, 2 );
|
705 |
$email_content = $email->get( 'content' );
|
706 |
$email_subject = $email->get( 'subject' );
|
707 |
$email_type = $email->get( 'type' );
|
914 |
* @param int $comment_id ID of the comment being recorded.
|
915 |
* @param bool|string $is_approved Optional. The $is_approved value passed to
|
916 |
* the 'comment_post' action. Default: true.
|
917 |
+
* @return bool|object Returns false on failure, the comment object on success.
|
918 |
*/
|
919 |
function bp_blogs_record_comment( $comment_id, $is_approved = true ) {
|
920 |
_deprecated_function( __FUNCTION__, '2.5.0', 'bp_activity_post_type_comment()' );
|
@@ -1,26 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Deprecated functions.
|
4 |
-
*
|
5 |
-
* @deprecated 2.7.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
// Exit if accessed directly.
|
9 |
-
defined( 'ABSPATH' ) || exit;
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Get the DB schema to use for BuddyPress components.
|
13 |
-
*
|
14 |
-
* @since 1.1.0
|
15 |
-
* @deprecated 2.7.0
|
16 |
-
*
|
17 |
-
* @return string The default database character-set, if set.
|
18 |
-
*/
|
19 |
-
function bp_core_set_charset() {
|
20 |
-
global $wpdb;
|
21 |
-
|
22 |
-
_deprecated_function( __FUNCTION__, '2.7', 'wpdb::get_charset_collate()' );
|
23 |
-
|
24 |
-
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
|
25 |
-
return !empty( $wpdb->charset ) ? "DEFAULT CHARACTER SET {$wpdb->charset}" : '';
|
26 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,199 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Deprecated functions.
|
4 |
-
*
|
5 |
-
* @deprecated 2.8.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
// Exit if accessed directly.
|
9 |
-
defined( 'ABSPATH' ) || exit;
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Determines whether the current installation is running PHP 5.3 or greater.
|
13 |
-
*
|
14 |
-
* BuddyPress 2.8 introduces a minimum PHP requirement of PHP 5.3.
|
15 |
-
*
|
16 |
-
* @since 2.7.0
|
17 |
-
* @deprecated 2.8.0
|
18 |
-
*
|
19 |
-
* @return bool
|
20 |
-
*/
|
21 |
-
function bp_core_admin_is_running_php53_or_greater() {
|
22 |
-
return version_compare( PHP_VERSION, '5.3', '>=' );
|
23 |
-
}
|
24 |
-
|
25 |
-
/**
|
26 |
-
* Replaces WP's default update notice on plugins.php with an error message, when site is not running PHP 5.3 or greater.
|
27 |
-
*
|
28 |
-
* Originally hooked to 'load-plugins.php' with priority 100.
|
29 |
-
*
|
30 |
-
* @since 2.7.0
|
31 |
-
* @deprecated 2.8.0
|
32 |
-
*/
|
33 |
-
function bp_core_admin_maybe_disable_update_row_for_php53_requirement() {
|
34 |
-
if ( bp_core_admin_is_running_php53_or_greater() ) {
|
35 |
-
return;
|
36 |
-
}
|
37 |
-
|
38 |
-
$loader = basename( constant( 'BP_PLUGIN_DIR' ) ) . '/bp-loader.php';
|
39 |
-
|
40 |
-
remove_action( "after_plugin_row_{$loader}", 'wp_plugin_update_row', 10 );
|
41 |
-
add_action( "after_plugin_row_{$loader}", 'bp_core_admin_php52_plugin_row', 10, 2 );
|
42 |
-
}
|
43 |
-
|
44 |
-
/**
|
45 |
-
* On the "Dashboard > Updates" page, remove BuddyPress from plugins list if PHP < 5.3.
|
46 |
-
*
|
47 |
-
* Originally hooked to 'load-update-core.php'.
|
48 |
-
*
|
49 |
-
* @since 2.7.0
|
50 |
-
* @deprecated 2.8.0
|
51 |
-
*/
|
52 |
-
function bp_core_admin_maybe_remove_from_update_core() {
|
53 |
-
if ( bp_core_admin_is_running_php53_or_greater() ) {
|
54 |
-
return;
|
55 |
-
}
|
56 |
-
|
57 |
-
// Add filter to remove BP from the update plugins list.
|
58 |
-
add_filter( 'site_transient_update_plugins', 'bp_core_admin_remove_buddypress_from_update_transient' );
|
59 |
-
}
|
60 |
-
|
61 |
-
/**
|
62 |
-
* Filter callback to remove BuddyPress from the update plugins list.
|
63 |
-
*
|
64 |
-
* Attached to the 'site_transient_update_plugins' filter.
|
65 |
-
*
|
66 |
-
* @since 2.7.0
|
67 |
-
* @deprecated 2.8.0
|
68 |
-
*
|
69 |
-
* @param object $retval Object of plugin update data.
|
70 |
-
* @return object
|
71 |
-
*/
|
72 |
-
function bp_core_admin_remove_buddypress_from_update_transient( $retval ) {
|
73 |
-
$loader = basename( constant( 'BP_PLUGIN_DIR' ) ) . '/bp-loader.php';
|
74 |
-
|
75 |
-
// Remove BP from update plugins list.
|
76 |
-
if ( isset( $retval->response[ $loader ] ) ) {
|
77 |
-
unset( $retval->response[ $loader ] );
|
78 |
-
}
|
79 |
-
|
80 |
-
return $retval;
|
81 |
-
}
|
82 |
-
|
83 |
-
/**
|
84 |
-
* Outputs a replacement for WP's default update notice, when site is not running PHP 5.3 or greater.
|
85 |
-
*
|
86 |
-
* When we see that a site is not running PHP 5.3 and is trying to update to
|
87 |
-
* BP 2.8+, we replace WP's default notice with our own, which both provides a
|
88 |
-
* link to our documentation of the requirement, and removes the link that
|
89 |
-
* allows a single plugin to be updated.
|
90 |
-
*
|
91 |
-
* @since 2.7.0
|
92 |
-
* @deprecated 2.8.0
|
93 |
-
*
|
94 |
-
* @param string $file Plugin filename. buddypress/bp-loader.php.
|
95 |
-
* @param array $plugin_data Data about the BuddyPress plugin, as returned by the
|
96 |
-
* plugins API.
|
97 |
-
*/
|
98 |
-
function bp_core_admin_php52_plugin_row( $file, $plugin_data ) {
|
99 |
-
if ( is_multisite() && ! is_network_admin() ) {
|
100 |
-
return;
|
101 |
-
}
|
102 |
-
|
103 |
-
$current = get_site_transient( 'update_plugins' );
|
104 |
-
if ( ! isset( $current->response[ $file ] ) ) {
|
105 |
-
return false;
|
106 |
-
}
|
107 |
-
|
108 |
-
$response = $current->response[ $file ];
|
109 |
-
|
110 |
-
// No need to do this if update is for < BP 2.8.
|
111 |
-
if ( version_compare( $response->new_version, '2.8', '<' ) ) {
|
112 |
-
return false;
|
113 |
-
}
|
114 |
-
|
115 |
-
$wp_list_table = _get_list_table( 'WP_Plugins_List_Table' );
|
116 |
-
|
117 |
-
if ( is_network_admin() ) {
|
118 |
-
$active_class = is_plugin_active_for_network( $file ) ? ' active' : '';
|
119 |
-
} else {
|
120 |
-
$active_class = is_plugin_active( $file ) ? ' active' : '';
|
121 |
-
}
|
122 |
-
|
123 |
-
// WP 4.6 uses different markup for the plugin row notice.
|
124 |
-
if ( function_exists( 'wp_get_ext_types' ) ) {
|
125 |
-
$p = '<p>%s</p>';
|
126 |
-
|
127 |
-
// WP < 4.6.
|
128 |
-
} else {
|
129 |
-
$p = '%s';
|
130 |
-
|
131 |
-
// Ugh.
|
132 |
-
$active_class .= ' not-shiny';
|
133 |
-
}
|
134 |
-
|
135 |
-
echo '<tr class="plugin-update-tr' . $active_class . '" id="' . esc_attr( $response->slug . '-update' ) . '" data-slug="' . esc_attr( $response->slug ) . '" data-plugin="' . esc_attr( $file ) . '"><td colspan="' . esc_attr( $wp_list_table->get_column_count() ) . '" class="plugin-update colspanchange"><div class="update-message inline notice notice-error notice-alt">';
|
136 |
-
|
137 |
-
printf( $p,
|
138 |
-
esc_html__( 'A BuddyPress update is available, but your system is not compatible.', 'buddypress' ) . ' ' .
|
139 |
-
sprintf( __( 'See <a href="%s">the Codex guide</a> for more information.', 'buddypress' ), 'https://codex.buddypress.org/getting-started/buddypress-2-8-will-require-php-5-3/' )
|
140 |
-
);
|
141 |
-
|
142 |
-
echo '</div></td></tr>';
|
143 |
-
|
144 |
-
/*
|
145 |
-
* JavaScript to disable the bulk upgrade checkbox.
|
146 |
-
* See WP_Plugins_List_Table::single_row().
|
147 |
-
*/
|
148 |
-
$checkbox_id = 'checkbox_' . md5( $plugin_data['Name'] );
|
149 |
-
echo "<script type='text/javascript'>document.getElementById('$checkbox_id').disabled = true;</script>";
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* Add an admin notice to installations that are not running PHP 5.3+.
|
154 |
-
*
|
155 |
-
* @since 2.7.0
|
156 |
-
* @deprecated 2.8.0
|
157 |
-
*/
|
158 |
-
function bp_core_admin_php53_admin_notice() {
|
159 |
-
// If not on the Plugins page, stop now.
|
160 |
-
if ( 'plugins' !== get_current_screen()->parent_base ) {
|
161 |
-
return;
|
162 |
-
}
|
163 |
-
|
164 |
-
if ( ! current_user_can( 'update_core' ) ) {
|
165 |
-
return;
|
166 |
-
}
|
167 |
-
|
168 |
-
if ( bp_core_admin_is_running_php53_or_greater() ) {
|
169 |
-
return;
|
170 |
-
}
|
171 |
-
|
172 |
-
$notice_id = 'bp28-php53';
|
173 |
-
if ( bp_get_option( "bp-dismissed-notice-$notice_id" ) ) {
|
174 |
-
return;
|
175 |
-
}
|
176 |
-
|
177 |
-
$bp = buddypress();
|
178 |
-
$min = bp_core_get_minified_asset_suffix();
|
179 |
-
|
180 |
-
wp_enqueue_script(
|
181 |
-
'bp-dismissible-admin-notices',
|
182 |
-
"{$bp->plugin_url}bp-core/admin/js/dismissible-admin-notices{$min}.js",
|
183 |
-
array( 'jquery' ),
|
184 |
-
bp_get_version(),
|
185 |
-
true
|
186 |
-
);
|
187 |
-
|
188 |
-
$php_version = PHP_VERSION;
|
189 |
-
|
190 |
-
?>
|
191 |
-
|
192 |
-
<div id="message" class="error notice is-dismissible bp-is-dismissible" data-noticeid="<?php echo esc_attr( $notice_id ); ?>">
|
193 |
-
<p><strong><?php esc_html_e( 'Your site is not ready for BuddyPress 2.8.', 'buddypress' ); ?></strong></p>
|
194 |
-
<p><?php printf( esc_html__( 'Your site is currently running PHP version %s, while BuddyPress 2.8 will require version 5.3+.', 'buddypress' ), $php_version ); ?> <?php printf( __( 'See <a href="%s">the Codex guide</a> for more information.', 'buddypress' ), 'https://codex.buddypress.org/getting-started/buddypress-2-8-will-require-php-5-3/' ); ?></p>
|
195 |
-
<?php wp_nonce_field( "bp-dismissible-notice-$notice_id", "bp-dismissible-nonce-$notice_id" ); ?>
|
196 |
-
</div>
|
197 |
-
<?php
|
198 |
-
}
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,30 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Deprecated functions.
|
4 |
-
*
|
5 |
-
* @deprecated 2.9.0
|
6 |
-
*/
|
7 |
-
|
8 |
-
// Exit if accessed directly.
|
9 |
-
defined( 'ABSPATH' ) || exit;
|
10 |
-
|
11 |
-
/**
|
12 |
-
* Replace default WordPress avatars with BP avatars, if available.
|
13 |
-
*
|
14 |
-
* See 'get_avatar' filter description in wp-includes/pluggable.php.
|
15 |
-
*
|
16 |
-
* @since 1.1.0
|
17 |
-
* @since 2.4.0 Added $args parameter to coincide with WordPress 4.2.0.
|
18 |
-
*
|
19 |
-
* @param string $avatar The avatar path passed to 'get_avatar'.
|
20 |
-
* @param int|string|object $user A user ID, email address, or comment object.
|
21 |
-
* @param int $size Size of the avatar image ('thumb' or 'full').
|
22 |
-
* @param string $default URL to a default image to use if no avatar is available.
|
23 |
-
* @param string $alt Alternate text to use in image tag. Default: ''.
|
24 |
-
* @param array $args Arguments passed to get_avatar_data(), after processing.
|
25 |
-
* @return string BP avatar path, if found; else the original avatar path.
|
26 |
-
*/
|
27 |
-
function bp_core_fetch_avatar_filter( $avatar, $user, $size, $default, $alt = '', $args = array() ) {
|
28 |
-
_deprecated_function( __FUNCTION__, '2.9' );
|
29 |
-
return $avatar;
|
30 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +1 @@
|
|
1 |
-
window.bp=window.bp||{},function(
|
1 |
+
window.bp=window.bp||{},function(a,b){"undefined"!=typeof BP_Uploader&&(bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.Avatar={start:function(){var a=this;this.removeLegacyUI(),this.views=new Backbone.Collection,this.jcropapi={},this.warning=null,this.setupNav(),this.avatars=bp.Uploader.filesUploaded,this.Attachment=new Backbone.Model,bp.Uploader.filesQueue.on("reset",this.cropView,this),b("body.wp-admin").on("tb_unload","#TB_window",function(){a.resetViews()}),b("body.wp-admin").on("click",".bp-xprofile-avatar-user-edit",function(){a.resetViews()})},removeLegacyUI:function(){b("#avatar-upload-form").length?(b("#avatar-upload").remove(),b("#avatar-upload-form p").remove()):b("#group-settings-form").length?(b("#group-settings-form p").each(function(a){0!==a&&b(this).remove()}),b("#delete-group-avatar-button").length&&b("#delete-group-avatar-button").remove()):b("#group-create-body").length?(b(".main-column p #file").remove(),b(".main-column p #upload").remove()):b("#bp_xprofile_user_admin_avatar a.bp-xprofile-avatar-user-admin").length&&b("#bp_xprofile_user_admin_avatar a.bp-xprofile-avatar-user-admin").remove()},setView:function(a){switch(_.isUndefined(this.views.models)||_.each(this.views.models,function(a){a.get("view").remove()},this),this.views.reset(),_.isUndefined(this.avatars)||this.avatars.reset(),_.isEmpty(this.jcropapi)||(this.jcropapi.destroy(),this.jcropapi={}),a){case"upload":this.uploaderView();break;case"delete":this.deleteView()}},resetViews:function(){this.nav.trigger("bp-avatar-view:changed","upload"),_.each(this.navItems.models,function(a){"upload"===a.id?a.set({active:1}):a.set({active:0})})},setupNav:function(){var a,b,c=this;this.navItems=new Backbone.Collection,_.each(BP_Uploader.settings.nav,function(d,e){_.isObject(d)&&(b=0,0===e&&(a=d.id,b=1),c.navItems.add({id:d.id,name:d.caption,href:"#",active:b,hide:_.isUndefined(d.hide)?0:d.hide}))}),this.nav=new bp.Views.Nav({collection:this.navItems}),this.nav.inject(".bp-avatar-nav"),this.setView(a),this.nav.on("bp-avatar-view:changed",_.bind(this.setView,this))},uploaderView:function(){bp.Uploader.filesQueue.on("add",this.uploadProgress,this);var a=new bp.Views.Uploader;this.views.add({id:"upload",view:a}),a.inject(".bp-avatar")},uploadProgress:function(){var a=new bp.Views.uploaderStatus({collection:bp.Uploader.filesQueue});_.isUndefined(this.views.get("status"))?this.views.add({id:"status",view:a}):this.views.set({id:"status",view:a}),a.inject(".bp-avatar-status")},cropView:function(){var a;if(!_.isEmpty(this.avatars.models)){_.isUndefined(this.views.get("status"))||(a=this.views.get("status"),a.get("view").remove(),this.views.remove({id:"status",view:a}));var b=new bp.Views.Avatars({collection:this.avatars});this.views.add({id:"crop",view:b}),b.inject(".bp-avatar")}},setAvatar:function(a){var c,d=this;_.isUndefined(this.views.get("crop"))||(_.isEmpty(this.jcropapi)||(this.jcropapi.destroy(),this.jcropapi={}),c=this.views.get("crop"),c.get("view").remove(),this.views.remove({id:"crop",view:c})),bp.ajax.post("bp_avatar_set",{json:!0,original_file:a.get("url"),crop_w:a.get("w"),crop_h:a.get("h"),crop_x:a.get("x"),crop_y:a.get("y"),item_id:a.get("item_id"),object:a.get("object"),type:_.isUndefined(a.get("type"))?"crop":a.get("type"),nonce:a.get("nonces").set}).done(function(c){var e=new bp.Views.AvatarStatus({value:BP_Uploader.strings.feedback_messages[c.feedback_code],type:"success"});d.views.add({id:"status",view:e}),e.inject(".bp-avatar-status"),b("."+a.get("object")+"-"+c.item_id+"-avatar").each(function(){b(this).prop("src",c.avatar)}),bp.Avatar.navItems.get("delete").set({hide:0}),d.Attachment.set(_.extend(_.pick(a.attributes,["object","item_id"]),{url:c.avatar,action:"uploaded"}))}).fail(function(a){var b=BP_Uploader.strings.default_error;_.isUndefined(a)||(b=BP_Uploader.strings.feedback_messages[a.feedback_code]);var c=new bp.Views.AvatarStatus({value:b,type:"error"});d.views.add({id:"status",view:c}),c.inject(".bp-avatar-status")})},deleteView:function(){var a=new Backbone.Model(_.pick(BP_Uploader.settings.defaults.multipart_params.bp_params,"object","item_id","nonces")),b=new bp.Views.DeleteAvatar({model:a});this.views.add({id:"delete",view:b}),b.inject(".bp-avatar")},deleteAvatar:function(a){var c,d=this;_.isUndefined(this.views.get("delete"))||(c=this.views.get("delete"),c.get("view").remove(),this.views.remove({id:"delete",view:c})),bp.ajax.post("bp_avatar_delete",{json:!0,item_id:a.get("item_id"),object:a.get("object"),nonce:a.get("nonces").remove}).done(function(c){var e=new bp.Views.AvatarStatus({value:BP_Uploader.strings.feedback_messages[c.feedback_code],type:"success"});d.views.add({id:"status",view:e}),e.inject(".bp-avatar-status"),b("."+a.get("object")+"-"+c.item_id+"-avatar").each(function(){b(this).prop("src",c.avatar)}),bp.Avatar.navItems.get("delete").set({active:0,hide:1}),d.Attachment.set(_.extend(_.pick(a.attributes,["object","item_id"]),{url:c.avatar,action:"deleted"}))}).fail(function(a){var b=BP_Uploader.strings.default_error;_.isUndefined(a)||(b=BP_Uploader.strings.feedback_messages[a.feedback_code]);var c=new bp.Views.AvatarStatus({value:b,type:"error"});d.views.add({id:"status",view:c}),c.inject(".bp-avatar-status")})},removeWarning:function(){_.isNull(this.warning)||this.warning.remove()},displayWarning:function(a){this.removeWarning(),this.warning=new bp.Views.uploaderWarning({value:a}),this.warning.inject(".bp-avatar-status")}},bp.Views.Nav=bp.View.extend({tagName:"ul",className:"avatar-nav-items",events:{"click .bp-avatar-nav-item":"toggleView"},initialize:function(){var a=_.findWhere(this.collection.models,{id:"delete"});1!==a.get("hide")&&bp.Avatar.displayWarning(BP_Uploader.strings.has_avatar_warning),_.each(this.collection.models,this.addNavItem,this),this.collection.on("change:hide",this.showHideNavItem,this)},addNavItem:function(a){1!==a.get("hide")&&this.views.add(new bp.Views.NavItem({model:a}))},showHideNavItem:function(a){var b=null;_.each(this.views._views[""],function(c){1===c.model.get("hide")&&c.remove(),a.get("id")===c.model.get("id")&&(b=!0)}),_.isBoolean(b)||this.addNavItem(a)},toggleView:function(a){a.preventDefault(),bp.Avatar.removeWarning();var c=b(a.target).data("nav");_.each(this.collection.models,function(a){a.id===c?(a.set({active:1}),this.trigger("bp-avatar-view:changed",a.id)):a.set({active:0})},this)}}),bp.Views.NavItem=bp.View.extend({tagName:"li",className:"avatar-nav-item",template:bp.template("bp-avatar-nav"),initialize:function(){1===this.model.get("active")&&(this.el.className+=" current"),this.el.id+="bp-avatar-"+this.model.get("id"),this.model.on("change:active",this.setCurrentNav,this)},setCurrentNav:function(a){1===a.get("active")?this.$el.addClass("current"):this.$el.removeClass("current")}}),bp.Views.Avatars=bp.View.extend({className:"items",initialize:function(){_.each(this.collection.models,this.addItemView,this)},addItemView:function(a){var b={full_h:150,full_w:150};_.isUndefined(BP_Uploader.settings.crop.full_h)||_.isUndefined(BP_Uploader.settings.crop.full_w)||(b.full_h=BP_Uploader.settings.crop.full_h,b.full_w=BP_Uploader.settings.crop.full_w),a.set(_.extend(_.pick(BP_Uploader.settings.defaults.multipart_params.bp_params,"object","item_id","nonces"),b)),this.views.add(new bp.Views.Avatar({model:a}))}}),bp.Views.Avatar=bp.View.extend({className:"item",template:bp.template("bp-avatar-item"),events:{"click .avatar-crop-submit":"cropAvatar"},initialize:function(){_.defaults(this.options,{full_h:BP_Uploader.settings.crop.full_h,full_w:BP_Uploader.settings.crop.full_w,aspectRatio:1}),!1!==this.model.get("feedback")&&bp.Avatar.displayWarning(this.model.get("feedback")),this.on("ready",this.initCropper)},initCropper:function(){var a,c,d,e,f,g,h=this,i=this.$el.find("#avatar-to-crop img"),j=this.$el.width(),k={};_.isUndefined(this.options.full_h)||_.isUndefined(this.options.full_w)||(this.options.aspectRatio=this.options.full_w/this.options.full_h),k.w=this.model.get("width"),k.h=this.model.get("height"),this.options.full_w+k.w+20<j&&(b("#avatar-to-crop").addClass("adjust"),this.$el.find(".avatar-crop-management").addClass("adjust")),k.h<=k.w?(a=Math.round(k.h/4),f=g=Math.round(k.h/2),c=f+a,d=(k.w-g)/2,e=g+d):(d=Math.round(k.w/4),f=g=Math.round(k.w/2),e=g+d,a=(k.h-f)/2,c=f+a),i.Jcrop({onChange:_.bind(h.showPreview,h),onSelect:_.bind(h.showPreview,h),aspectRatio:h.options.aspectRatio,setSelect:[d,a,e,c]},function(){bp.Avatar.jcropapi=this})},cropAvatar:function(a){a.preventDefault(),bp.Avatar.setAvatar(this.model)},showPreview:function(a){if(a.w&&a.h&&parseInt(a.w,10)>0){var c=this.options.full_w,d=this.options.full_h,e=c/a.w,f=d/a.h;this.model.set({x:a.x,y:a.y,w:a.w,h:a.h}),b("#avatar-crop-preview").css({maxWidth:"none",width:Math.round(e*this.model.get("width"))+"px",height:Math.round(f*this.model.get("height"))+"px",marginLeft:"-"+Math.round(e*this.model.get("x"))+"px",marginTop:"-"+Math.round(f*this.model.get("y"))+"px"})}}}),bp.Views.AvatarStatus=bp.View.extend({tagName:"p",className:"updated",id:"bp-avatar-feedback",initialize:function(){this.el.className+=" "+this.options.type,this.value=this.options.value},render:function(){return this.$el.html(this.value),this}}),bp.Views.DeleteAvatar=bp.View.extend({tagName:"div",id:"bp-delete-avatar-container",template:bp.template("bp-avatar-delete"),events:{"click #bp-delete-avatar":"deleteAvatar"},deleteAvatar:function(a){a.preventDefault(),bp.Avatar.deleteAvatar(this.model)}}),bp.Avatar.start())}(bp,jQuery);
|
@@ -97,11 +97,6 @@ window.bp = window.bp || {};
|
|
97 |
|
98 |
} );
|
99 |
|
100 |
-
// See https://core.trac.wordpress.org/ticket/37039
|
101 |
-
this.uploader.bind( 'postinit', function( up ) {
|
102 |
-
up.refresh();
|
103 |
-
});
|
104 |
-
|
105 |
// Init BuddyPress Uploader
|
106 |
this.uploader.init();
|
107 |
|
@@ -275,7 +270,7 @@ window.bp = window.bp || {};
|
|
275 |
'IO_ERROR': self.strings.io_error,
|
276 |
'HTTP_ERROR': self.strings.http_error,
|
277 |
'SECURITY_ERROR': self.strings.security_error,
|
278 |
-
'FILE_SIZE_ERROR': self.strings.file_exceeds_size_limit.replace( '%s' ,
|
279 |
};
|
280 |
|
281 |
// Check for plupload errors.
|
97 |
|
98 |
} );
|
99 |
|
|
|
|
|
|
|
|
|
|
|
100 |
// Init BuddyPress Uploader
|
101 |
this.uploader.init();
|
102 |
|
270 |
'IO_ERROR': self.strings.io_error,
|
271 |
'HTTP_ERROR': self.strings.http_error,
|
272 |
'SECURITY_ERROR': self.strings.security_error,
|
273 |
+
'FILE_SIZE_ERROR': self.strings.file_exceeds_size_limit.replace( '%s' , pluploadError.file.name )
|
274 |
};
|
275 |
|
276 |
// Check for plupload errors.
|
@@ -1 +1 @@
|
|
1 |
-
window.wp=window.wp||{},window.bp=window.bp||{},function(
|
1 |
+
window.wp=window.wp||{},window.bp=window.bp||{},function(a,b){"undefined"!=typeof BP_Uploader&&(_.extend(bp,_.pick(wp,"Backbone","ajax","template")),bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.Uploader={},bp.Uploader.uploader=function(){var a=this,c=-1!==navigator.userAgent.indexOf("Trident/")||-1!==navigator.userAgent.indexOf("MSIE ");return this.params=BP_Uploader.settings,this.strings=BP_Uploader.strings,this.supports={upload:this.params.browser.supported},this.supported=this.supports.upload,this.supported?(c||"flash"!==plupload.predictRuntime(this.params.defaults)||this.params.defaults.required_features&&this.params.defaults.required_features.hasOwnProperty("send_binary_string")||(this.params.defaults.required_features=this.params.defaults.required_features||{},this.params.defaults.required_features.send_binary_string=!0),this.uploader=new plupload.Uploader(this.params.defaults),this.uploader.bind("Init",function(c){var d=b("#"+a.params.defaults.container),e=b("#"+a.params.defaults.drop_element);"html4"===c.runtime&&(c.settings.multipart_params.html4=!0),"bp_avatar_upload"===c.settings.multipart_params.action&&(c.settings.multipart_params.bp_params.ui_available_width=d.width()),c.features.dragdrop&&!a.params.browser.mobile?(d.addClass("drag-drop"),e.bind("dragover.wp-uploader",function(){d.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){d.removeClass("drag-over")})):(d.removeClass("drag-drop"),e.unbind(".wp-uploader"))}),this.uploader.init(),this.feedback=function(a,b,c){!_.isNull(c)&&c.item&&c.item.clear(),bp.Uploader.filesError.unshift({message:a,data:b,file:c})},this.uploader.bind("FilesAdded",function(c,d){var e=104857600,f=parseInt(c.settings.max_file_size,10),g=this;if(!c.settings.multi_selection&&d.length>1){for(var h in d)c.removeFile(d[h]);return void b(a).trigger("bp-uploader-warning",a.strings.unique_file_warning)}_.each(d,function(a){var b;plupload.FAILED!==a.status&&(f>e&&a.size>e&&"html5"!==c.runtime?g.uploadSizeError(c,a,!0):(b=_.extend({id:a.id,file:a,uploading:!0,date:new Date,filename:a.name},_.pick(a,"loaded","size","percent")),a.item=new bp.Models.File(b),bp.Uploader.filesQueue.add(a.item)))}),c.refresh(),c.start()}),this.uploader.bind("UploadProgress",function(a,b){b.item.set(_.pick(b,"loaded","percent"))}),this.uploader.bind("FileUploaded",function(b,c,d){var e=a.strings.default_error;try{d=JSON.parse(d.response)}catch(f){return a.feedback(e,f,c)}return!_.isObject(d)||_.isUndefined(d.success)?a.feedback(e,null,c):d.success?(_.each(["file","loaded","size","percent"],function(a){c.item.unset(a)}),c.item.set(_.extend(d.data,{uploading:!1})),void bp.Uploader.filesUploaded.add(c.item)):(d.data&&d.data.message&&(e=d.data.message),a.feedback(e,d.data,c))}),this.uploader.bind("BeforeUpload",function(c,d){b(a).trigger("bp-uploader-new-upload",c,d)}),this.uploader.bind("UploadComplete",function(c,d){b(a).trigger("bp-uploader-upload-complete",c,d),bp.Uploader.filesQueue.reset()}),void this.uploader.bind("Error",function(c,d){var e,f=a.strings.default_error,g={FAILED:a.strings.upload_failed,FILE_EXTENSION_ERROR:a.strings.invalid_filetype,IMAGE_FORMAT_ERROR:a.strings.not_an_image,IMAGE_MEMORY_ERROR:a.strings.image_memory_exceeded,IMAGE_DIMENSIONS_ERROR:a.strings.image_dimensions_exceeded,GENERIC_ERROR:a.strings.upload_failed,IO_ERROR:a.strings.io_error,HTTP_ERROR:a.strings.http_error,SECURITY_ERROR:a.strings.security_error,FILE_SIZE_ERROR:a.strings.file_exceeds_size_limit.replace("%s",d.file.name)};for(e in g)if(d.code===plupload[e]){f=g[e];break}b(a).trigger("bp-uploader-warning",f),c.refresh()})):void(BP_Uploader=void 0)},bp.Models.File=Backbone.Model.extend({file:{}}),b.extend(bp.Uploader,{filesQueue:new Backbone.Collection,filesUploaded:new Backbone.Collection,filesError:new Backbone.Collection}),bp.View=bp.Backbone.View.extend({inject:function(a){this.render(),b(a).html(this.el),this.views.ready()},prepare:function(){return!_.isUndefined(this.model)&&_.isFunction(this.model.toJSON)?this.model.toJSON():{}}}),bp.Views.Uploader=bp.View.extend({className:"bp-uploader-window",template:bp.template("upload-window"),defaults:_.pick(BP_Uploader.settings.defaults,"container","drop_element","browse_button"),initialize:function(){this.warnings=[],this.model=new Backbone.Model(this.defaults),this.on("ready",this.initUploader)},initUploader:function(){this.uploader=new bp.Uploader.uploader,b(this.uploader).on("bp-uploader-warning",_.bind(this.setWarning,this)),b(this.uploader).on("bp-uploader-new-upload",_.bind(this.resetWarning,this))},setWarning:function(a,b){if(!_.isUndefined(b)){var c=new bp.Views.uploaderWarning({value:b}).render();this.warnings.push(c),this.$el.after(c.el)}},resetWarning:function(){0!==this.warnings.length&&(_.each(this.warnings,function(a){a.remove()}),this.warnings=[])}}),bp.Views.uploaderWarning=bp.View.extend({tagName:"p",className:"warning",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}}),bp.Views.uploaderStatus=bp.View.extend({className:"files",initialize:function(){_.each(this.collection.models,this.addFile,this),this.collection.on("change:percent",this.progress,this),bp.Uploader.filesError.on("add",this.feedback,this)},addFile:function(a){this.views.add(new bp.Views.uploaderProgress({model:a}))},progress:function(a){_.isUndefined(a.get("percent"))||b("#"+a.get("id")+" .bp-progress .bp-bar").css("width",a.get("percent")+"%")},feedback:function(a){_.isUndefined(a.get("message"))||_.isUndefined(a.get("file"))||b("#"+a.get("file").id).html(a.get("message")).addClass("error")}}),bp.Views.uploaderProgress=bp.View.extend({className:"bp-uploader-progress",template:bp.template("progress-window")}))}(bp,jQuery);
|
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(){jQuery("a.confirm").click(function(){return
|
1 |
+
jQuery(document).ready(function(){jQuery("a.confirm").click(function(){return confirm(BP_Confirm.are_you_sure)?!0:!1})});
|
@@ -1 +1 @@
|
|
1 |
-
window.bp=window.bp||{},function(
|
1 |
+
window.bp=window.bp||{},function(a,b){"undefined"!=typeof BP_Uploader&&(bp.Models=bp.Models||{},bp.Collections=bp.Collections||{},bp.Views=bp.Views||{},bp.CoverImage={start:function(){this.views=new Backbone.Collection,this.warning=null,this.Attachment=new Backbone.Model,this.uploaderView(),this.displayWarning(BP_Uploader.strings.cover_image_warnings.dimensions),!0===BP_Uploader.settings.defaults.multipart_params.bp_params.has_cover_image&&this.deleteView()},uploaderView:function(){bp.Uploader.filesQueue.on("add",this.uploadProgress,this);var a=new bp.Views.Uploader;this.views.add({id:"upload",view:a}),a.inject(".bp-cover-image")},uploadProgress:function(){var a=new bp.Views.coverImageUploadProgress({collection:bp.Uploader.filesQueue});_.isUndefined(this.views.get("status"))?this.views.add({id:"status",view:a}):this.views.set({id:"status",view:a}),a.inject(".bp-cover-image-status")},deleteView:function(){var a=new Backbone.Model(_.pick(BP_Uploader.settings.defaults.multipart_params.bp_params,["object","item_id","nonces"]));if(_.isUndefined(this.views.get("delete"))){var b=new bp.Views.DeleteCoverImage({model:a});this.views.add({id:"delete",view:b}),b.inject(".bp-cover-image-manage")}},deleteCoverImage:function(a){var c,d=this;_.isUndefined(this.views.get("delete"))||(c=this.views.get("delete"),c.get("view").remove(),this.views.remove({id:"delete",view:c})),bp.ajax.post("bp_cover_image_delete",{json:!0,item_id:a.get("item_id"),object:a.get("object"),nonce:a.get("nonces").remove}).done(function(c){var e=new bp.Views.CoverImageStatus({value:BP_Uploader.strings.feedback_messages[c.feedback_code],type:"success"});d.views.add({id:"status",view:e}),e.inject(".bp-cover-image-status"),""===c.reset_url?b("#header-cover-image").css({"background-image":"none"}):b("#header-cover-image").css({"background-image":"url( "+c.reset_url+" )"}),BP_Uploader.settings.defaults.multipart_params.bp_params.has_cover_image=!1,d.Attachment.set(_.extend(_.pick(a.attributes,["object","item_id"]),{url:c.reset_url,action:"deleted"}))}).fail(function(a){var b=BP_Uploader.strings.default_error;_.isUndefined(a)||(b=BP_Uploader.strings.feedback_messages[a.feedback_code]);var c=new bp.Views.CoverImageStatus({value:b,type:"error"});d.views.add({id:"status",view:c}),c.inject(".bp-cover-image-status"),bp.CoverImage.deleteView()})},removeWarning:function(){_.isNull(this.warning)||this.warning.remove()},displayWarning:function(a){this.removeWarning(),this.warning=new bp.Views.uploaderWarning({value:a}),this.warning.inject(".bp-cover-image-status")}},bp.Views.coverImageUploadProgress=bp.Views.uploaderStatus.extend({className:"files",initialize:function(){bp.Views.uploaderStatus.prototype.initialize.apply(this,arguments),this.collection.on("change:url",this.uploadResult,this)},uploadResult:function(a){var c,d;_.isUndefined(a.get("url"))||(0===a.get("feedback_code")?(c=BP_Uploader.strings.cover_image_warnings.dimensions,d="warning"):(c=BP_Uploader.strings.feedback_messages[a.get("feedback_code")],d="success"),this.views.set(".bp-uploader-progress",new bp.Views.CoverImageStatus({value:c,type:d})),b("#header-cover-image").css({"background-image":"url( "+a.get("url")+" )"}),bp.CoverImage.deleteView(),bp.CoverImage.Attachment.set(_.extend(_.pick(BP_Uploader.settings.defaults.multipart_params.bp_params,["object","item_id"]),{url:a.get("url"),action:"uploaded"})))}}),bp.Views.CoverImageStatus=bp.View.extend({tagName:"p",className:"updated",id:"bp-cover-image-feedback",initialize:function(){this.el.className+=" "+this.options.type,this.value=this.options.value},render:function(){return this.$el.html(this.value),this}}),bp.Views.DeleteCoverImage=bp.View.extend({tagName:"div",id:"bp-delete-cover-image-container",template:bp.template("bp-cover-image-delete"),events:{"click #bp-delete-cover-image":"deleteCoverImage"},deleteCoverImage:function(a){a.preventDefault(),bp.CoverImage.deleteCoverImage(this.model)}}),bp.CoverImage.start())}(bp,jQuery);
|
File without changes
|
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(a){return h.raw?a:encodeURIComponent(a)}function c(a){return h.raw?a:decodeURIComponent(a)}function d(a){return b(h.json?JSON.stringify(a):String(a))}function e(a){0===a.indexOf('"')&&(a=a.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return a=decodeURIComponent(a.replace(g," ")),h.json?JSON.parse(a):a}catch(b){}}function f(b,c){var d=h.raw?b:e(b);return a.isFunction(c)?c(d):d}var g=/\+/g,h=a.cookie=function(e,g,i){if(void 0!==g&&!a.isFunction(g)){if(i=a.extend({},h.defaults,i),"number"==typeof i.expires){var j=i.expires,k=i.expires=new Date;k.setTime(+k+864e5*j)}return document.cookie=[b(e),"=",d(g),i.expires?"; expires="+i.expires.toUTCString():"",i.path?"; path="+i.path:"",i.domain?"; domain="+i.domain:"",i.secure?"; secure":""].join("")}for(var l=e?void 0:{},m=document.cookie?document.cookie.split("; "):[],n=0,o=m.length;o>n;n++){var p=m[n].split("="),q=c(p.shift()),r=p.join("=");if(e&&e===q){l=f(r,g);break}e||void 0===(r=f(r))||(l[q]=r)}return l};h.defaults={},a.removeCookie=function(b,c){return void 0===a.cookie(b)?!1:(a.cookie(b,"",a.extend({},c,{expires:-1})),!a.cookie(b))}});
|
@@ -1 +1 @@
|
|
1 |
-
function bp_get_querystring(
|
1 |
+
function bp_get_querystring(a){var b=location.search.split(a+"=")[1];return b?decodeURIComponent(b.split("&")[0]):null}
|
File without changes
|
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){function b(b){return a.isFunction(b)||"object"==typeof b?b:{top:b,left:b}}var c=a.scrollTo=function(b,c,d){return a(window).scrollTo(b,c,d)};return c.defaults={axis:"xy",duration:parseFloat(a.fn.jquery)>=1.3?0:1,limit:!0},c.window=function(){return a(window)._scrollable()},a.fn._scrollable=function(){return this.map(function(){var b=this,c=!b.nodeName||-1!==a.inArray(b.nodeName.toLowerCase(),["iframe","#document","html","body"]);if(!c)return b;var d=(b.contentWindow||b).document||b.ownerDocument||b;return/webkit/i.test(navigator.userAgent)||"BackCompat"===d.compatMode?d.body:d.documentElement})},a.fn.scrollTo=function(d,e,f){return"object"==typeof e&&(f=e,e=0),"function"==typeof f&&(f={onAfter:f}),"max"===d&&(d=9e9),f=a.extend({},c.defaults,f),e=e||f.duration,f.queue=f.queue&&f.axis.length>1,f.queue&&(e/=2),f.offset=b(f.offset),f.over=b(f.over),this._scrollable().each(function(){function g(a){j.animate(l,e,f.easing,a&&function(){a.call(this,k,f)})}if(null!==d){var h,i=this,j=a(i),k=d,l={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(k)){k=b(k);break}if(k=m?a(k):a(k,this),!k.length)return;case"object":(k.is||k.style)&&(h=(k=a(k)).offset())}var n=a.isFunction(f.offset)&&f.offset(i,k)||f.offset;a.each(f.axis.split(""),function(a,b){var d="x"===b?"Left":"Top",e=d.toLowerCase(),o="scroll"+d,p=i[o],q=c.max(i,b);if(h)l[o]=h[e]+(m?0:p-j.offset()[e]),f.margin&&(l[o]-=parseInt(k.css("margin"+d))||0,l[o]-=parseInt(k.css("border"+d+"Width"))||0),l[o]+=n[e]||0,f.over[e]&&(l[o]+=k["x"===b?"width":"height"]()*f.over[e]);else{var r=k[e];l[o]=r.slice&&"%"===r.slice(-1)?parseFloat(r)/100*q:r}f.limit&&/^\d+$/.test(l[o])&&(l[o]=l[o]<=0?0:Math.min(l[o],q)),!a&&f.queue&&(p!==l[o]&&g(f.onAfterFirst),delete l[o])}),g(f.onAfter)}}).end()},c.max=function(b,c){var d="x"===c?"Width":"Height",e="scroll"+d;if(!a(b).is("html,body"))return b[e]-a(b)[d.toLowerCase()]();var f="client"+d,g=b.ownerDocument.documentElement,h=b.ownerDocument.body;return Math.max(g[e],h[e])-Math.min(g[f],h[f])},c});
|
File without changes
|
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){var b,c,d,e,f,g,h,i=[].slice;c=function(){function b(b){this.current_flag=null,this.controllers={},this.alias_maps={},this.$inputor=a(b),this.setIframe(),this.listen()}return b.prototype.createContainer=function(b){return 0===(this.$el=a("#atwho-container",b)).length?a(b.body).append(this.$el=a("<div id='atwho-container'></div>")):void 0},b.prototype.setIframe=function(a,b){var c;return null==b&&(b=!1),a?(this.window=a.contentWindow,this.document=a.contentDocument||this.window.document,this.iframe=a):(this.document=document,this.window=window,this.iframe=null),(this.iframeStandalone=b)?(null!=(c=this.$el)&&c.remove(),this.createContainer(this.document)):this.createContainer(document)},b.prototype.controller=function(a){var b,c,d,e;if(this.alias_maps[a])c=this.controllers[this.alias_maps[a]];else{e=this.controllers;for(d in e)if(b=e[d],d===a){c=b;break}}return c?c:this.controllers[this.current_flag]},b.prototype.set_context_for=function(a){return this.current_flag=a,this},b.prototype.reg=function(a,b){var c,e;return c=(e=this.controllers)[a]||(e[a]=new d(this,a)),b.alias&&(this.alias_maps[b.alias]=a),c.init(b),this},b.prototype.listen=function(){return this.$inputor.on("keyup.atwhoInner",function(a){return function(b){return a.on_keyup(b)}}(this)).on("keydown.atwhoInner",function(a){return function(b){return a.on_keydown(b)}}(this)).on("scroll.atwhoInner",function(a){return function(b){var c;return null!=(c=a.controller())?c.view.hide(b):void 0}}(this)).on("blur.atwhoInner",function(a){return function(b){var c;return(c=a.controller())?c.view.hide(b,c.get_opt("display_timeout")):void 0}}(this)).on("click.atwhoInner",function(a){return function(b){return a.dispatch()}}(this))},b.prototype.shutdown=function(){var a,b,c;c=this.controllers;for(b in c)a=c[b],a.destroy(),delete this.controllers[b];return this.$inputor.off(".atwhoInner"),this.$el.remove()},b.prototype.dispatch=function(){return a.map(this.controllers,function(a){return function(b){var c;return(c=b.get_opt("delay"))?(clearTimeout(a.delayedCallback),a.delayedCallback=setTimeout(function(){return b.look_up()?a.set_context_for(b.at):void 0},c)):b.look_up()?a.set_context_for(b.at):void 0}}(this))},b.prototype.on_keyup=function(b){var c;switch(b.keyCode){case f.ESC:b.preventDefault(),null!=(c=this.controller())&&c.view.hide();break;case f.DOWN:case f.UP:case f.CTRL:a.noop();break;case f.P:case f.N:b.ctrlKey||this.dispatch();break;default:this.dispatch()}},b.prototype.on_keydown=function(b){var c,d;if(c=null!=(d=this.controller())?d.view:void 0,c&&c.visible())switch(b.keyCode){case f.ESC:b.preventDefault(),c.hide(b);break;case f.UP:b.preventDefault(),c.prev();break;case f.DOWN:b.preventDefault(),c.next();break;case f.P:if(!b.ctrlKey)return;b.preventDefault(),c.prev();break;case f.N:if(!b.ctrlKey)return;b.preventDefault(),c.next();break;case f.TAB:case f.ENTER:if(!c.visible())return;b.preventDefault(),c.choose(b);break;default:a.noop()}},b}(),d=function(){function b(b,c){this.app=b,this.at=c,this.$inputor=this.app.$inputor,this.id=this.$inputor[0].id||this.uid(),this.setting=null,this.query=null,this.pos=0,this.cur_rect=null,this.range=null,0===(this.$el=a("#atwho-ground-"+this.id,this.app.$el)).length&&this.app.$el.append(this.$el=a("<div id='atwho-ground-"+this.id+"'></div>")),this.model=new g(this),this.view=new h(this)}return b.prototype.uid=function(){return(Math.random().toString(16)+"000000000").substr(2,8)+(new Date).getTime()},b.prototype.init=function(b){return this.setting=a.extend({},this.setting||a.fn.atwho["default"],b),this.view.init(),this.model.reload(this.setting.data)},b.prototype.destroy=function(){return this.trigger("beforeDestroy"),this.model.destroy(),this.view.destroy(),this.$el.remove()},b.prototype.call_default=function(){var b,c,d;d=arguments[0],b=2<=arguments.length?i.call(arguments,1):[];try{return e[d].apply(this,b)}catch(f){return c=f,a.error(""+c+" Or maybe At.js doesn't have function "+d)}},b.prototype.trigger=function(a,b){var c,d;return null==b&&(b=[]),b.push(this),c=this.get_opt("alias"),d=c?""+a+"-"+c+".atwho":""+a+".atwho",this.$inputor.trigger(d,b)},b.prototype.callbacks=function(a){return this.get_opt("callbacks")[a]||e[a]},b.prototype.get_opt=function(a,b){var c;try{return this.setting[a]}catch(d){return c=d,null}},b.prototype.content=function(){var a;if(this.$inputor.is("textarea, input"))return this.$inputor.val();if(a=this.mark_range())return(a.startContainer.textContent||"").slice(0,a.startOffset)},b.prototype.catch_query=function(){var a,b,c,d,e,f;return b=this.content(),a=this.$inputor.caret("pos",{iframe:this.app.iframe}),f=b.slice(0,a),d=this.callbacks("matcher").call(this,this.at,f,this.get_opt("start_with_space")),"string"==typeof d&&d.length<=this.get_opt("max_len",20)?(e=a-d.length,c=e+d.length,this.pos=e,d={text:d,head_pos:e,end_pos:c},this.trigger("matched",[this.at,d.text])):(d=null,this.view.hide()),this.query=d},b.prototype.rect=function(){var b,c,d;if(b=this.$inputor.caret("offset",this.pos-1,{iframe:this.app.iframe}))return this.app.iframe&&!this.app.iframeStandalone&&(c=a(this.app.iframe).offset(),b.left+=c.left,b.top+=c.top),this.$inputor.is("[contentEditable]")&&(b=this.cur_rect||(this.cur_rect=b)),d=this.app.document.selection?0:2,{left:b.left,top:b.top,bottom:b.top+b.height+d}},b.prototype.reset_rect=function(){return this.$inputor.is("[contentEditable]")?this.cur_rect=null:void 0},b.prototype.mark_range=function(){var a;if(this.$inputor.is("[contentEditable]"))return this.app.window.getSelection&&(a=this.app.window.getSelection()).rangeCount>0?this.range=a.getRangeAt(0):this.app.document.selection?this.ie8_range=this.app.document.selection.createRange():void 0},b.prototype.insert_content_for=function(b){var c,d,e;return d=b.data("value"),e=this.get_opt("insert_tpl"),this.$inputor.is("textarea, input")||!e?d:(c=a.extend({},b.data("item-data"),{"atwho-data-value":d,"atwho-at":this.at}),this.callbacks("tpl_eval").call(this,e,c))},b.prototype.insert=function(b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(d=this.$inputor,l=this.callbacks("inserting_wrapper").call(this,d,b,this.get_opt("suffix")),d.is("textarea, input"))i=d.val(),j=i.slice(0,Math.max(this.query.head_pos-this.at.length,0)),k=""+j+l+i.slice(this.query.end_pos||0),d.val(k),d.caret("pos",j.length+l.length,{iframe:this.app.iframe});else if(g=this.range){for(f=g.startOffset-(this.query.end_pos-this.query.head_pos)-this.at.length,g.setStart(g.endContainer,Math.max(f,0)),g.setEnd(g.endContainer,g.endOffset),g.deleteContents(),o=a(l,this.app.document),m=0,n=o.length;n>m;m++)e=o[m],g.insertNode(e),g.setEndAfter(e),g.collapse(!1);h=this.app.window.getSelection(),h.removeAllRanges(),h.addRange(g)}else(g=this.ie8_range)&&(g.moveStart("character",this.query.end_pos-this.query.head_pos-this.at.length),g.pasteHTML(l),g.collapse(!1),g.select());return d.is(":focus")||d.focus(),d.change()},b.prototype.render_view=function(a){var b;return b=this.get_opt("search_key"),a=this.callbacks("sorter").call(this,this.query.text,a.slice(0,1001),b),this.view.render(a.slice(0,this.get_opt("limit")))},b.prototype.look_up=function(){var b,c;if(b=this.catch_query())return c=function(a){return a&&a.length>0?this.render_view(a):this.view.hide()},this.model.query(b.text,a.proxy(c,this)),b},b}(),g=function(){function b(a){this.context=a,this.at=this.context.at,this.storage=this.context.$inputor}return b.prototype.destroy=function(){return this.storage.data(this.at,null)},b.prototype.saved=function(){return this.fetch()>0},b.prototype.query=function(a,b){var c,d,e;return c=this.fetch(),d=this.context.get_opt("search_key"),c=this.context.callbacks("filter").call(this.context,a,c,d)||[],e=this.context.callbacks("remote_filter"),c.length>0||!e&&0===c.length?b(c):e.call(this.context,a,b)},b.prototype.fetch=function(){return this.storage.data(this.at)||[]},b.prototype.save=function(a){return this.storage.data(this.at,this.context.callbacks("before_save").call(this.context,a||[]))},b.prototype.load=function(a){return!this.saved()&&a?this._load(a):void 0},b.prototype.reload=function(a){return this._load(a)},b.prototype._load=function(b){return"string"==typeof b?a.ajax(b,{dataType:"json"}).done(function(a){return function(b){return a.save(b)}}(this)):this.save(b)},b}(),h=function(){function b(b){this.context=b,this.$el=a("<div class='atwho-view'><ul class='atwho-view-ul'></ul></div>"),this.timeout_id=null,this.context.$el.append(this.$el),this.bind_event()}return b.prototype.init=function(){var a;return a=this.context.get_opt("alias")||this.context.at.charCodeAt(0),this.$el.attr({id:"at-view-"+a})},b.prototype.destroy=function(){return this.$el.remove()},b.prototype.bind_event=function(){var b;return b=this.$el.find("ul"),b.on("mouseenter.atwho-view","li",function(c){return b.find(".cur").removeClass("cur"),a(c.currentTarget).addClass("cur")}).on("click.atwho-view","li",function(c){return function(d){return b.find(".cur").removeClass("cur"),a(d.currentTarget).addClass("cur"),c.choose(d),d.preventDefault()}}(this))},b.prototype.visible=function(){return this.$el.is(":visible")},b.prototype.choose=function(a){var b,c;return(b=this.$el.find(".cur")).length&&(c=this.context.insert_content_for(b),this.context.insert(this.context.callbacks("before_insert").call(this.context,c,b),b),this.context.trigger("inserted",[b,a]),this.hide(a)),this.context.get_opt("hide_without_suffix")?this.stop_showing=!0:void 0},b.prototype.reposition=function(b){var c,d,e,f;return f=this.context.app.iframeStandalone?this.context.app.window:window,b.bottom+this.$el.height()-a(f).scrollTop()>a(f).height()&&(b.bottom=b.top-this.$el.height()),b.left>(d=a(f).width()-this.$el.width()-5)&&(b.left=d),c={left:b.left,top:b.bottom},null!=(e=this.context.callbacks("before_reposition"))&&e.call(this.context,c),this.$el.offset(c),this.context.trigger("reposition",[c])},b.prototype.next=function(){var a,b;return a=this.$el.find(".cur").removeClass("cur"),b=a.next(),b.length||(b=this.$el.find("li:first")),b.addClass("cur"),this.$el.animate({scrollTop:Math.max(0,a.innerHeight()*(b.index()+2)-this.$el.height())},150)},b.prototype.prev=function(){var a,b;return a=this.$el.find(".cur").removeClass("cur"),b=a.prev(),b.length||(b=this.$el.find("li:last")),b.addClass("cur"),this.$el.animate({scrollTop:Math.max(0,a.innerHeight()*(b.index()+2)-this.$el.height())},150)},b.prototype.show=function(){var a;return this.stop_showing?void(this.stop_showing=!1):(this.context.mark_range(),this.visible()||(this.$el.show(),this.$el.scrollTop(0),this.context.trigger("shown")),(a=this.context.rect())?this.reposition(a):void 0)},b.prototype.hide=function(a,b){var c;if(this.visible())return isNaN(b)?(this.context.reset_rect(),this.$el.hide(),this.context.trigger("hidden",[a])):(c=function(a){return function(){return a.hide()}}(this),clearTimeout(this.timeout_id),this.timeout_id=setTimeout(c,b))},b.prototype.render=function(b){var c,d,e,f,g,h,i;if(!(a.isArray(b)&&b.length>0))return void this.hide();for(this.$el.find("ul").empty(),d=this.$el.find("ul"),g=this.context.get_opt("tpl"),h=0,i=b.length;i>h;h++)e=b[h],e=a.extend({},e,{"atwho-at":this.context.at}),f=this.context.callbacks("tpl_eval").call(this.context,g,e),c=a(this.context.callbacks("highlighter").call(this.context,f,this.context.query.text)),c.data("item-data",e),d.append(c);return this.show(),this.context.get_opt("highlight_first")?d.find("li:first").addClass("cur"):void 0},b}(),f={DOWN:40,UP:38,ESC:27,TAB:9,ENTER:13,CTRL:17,P:80,N:78},e={before_save:function(b){var c,d,e,f;if(!a.isArray(b))return b;for(f=[],d=0,e=b.length;e>d;d++)c=b[d],a.isPlainObject(c)?f.push(c):f.push({name:c});return f},matcher:function(a,b,c){var d,e,f,g;return a=a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),c&&(a="(?:^|\\s)"+a),f=decodeURI("%C3%80"),g=decodeURI("%C3%BF"),e=new RegExp(""+a+"([A-Za-z"+f+"-"+g+"0-9_+-]*)$|"+a+"([^\\x00-\\xff]*)$","gi"),d=e.exec(b),d?d[2]||d[1]:null},filter:function(a,b,c){var d,e,f,g;for(g=[],e=0,f=b.length;f>e;e++)d=b[e],~new String(d[c]).toLowerCase().indexOf(a.toLowerCase())&&g.push(d);return g},remote_filter:null,sorter:function(a,b,c){var d,e,f,g;if(!a)return b;for(g=[],e=0,f=b.length;f>e;e++)d=b[e],d.atwho_order=new String(d[c]).toLowerCase().indexOf(a.toLowerCase()),d.atwho_order>-1&&g.push(d);return g.sort(function(a,b){return a.atwho_order-b.atwho_order})},tpl_eval:function(a,b){var c;try{return a.replace(/\$\{([^\}]*)\}/g,function(a,c,d){return b[c]})}catch(d){return c=d,""}},highlighter:function(a,b){var c;return b?(c=new RegExp(">\\s*(\\w*?)("+b.replace("+","\\+")+")(\\w*)\\s*<","ig"),a.replace(c,function(a,b,c,d){return"> "+b+"<strong>"+c+"</strong>"+d+" <"})):a},before_insert:function(a,b){return a},inserting_wrapper:function(a,b,c){var d;return c=""===c?c:c||" ",a.is("textarea, input")?""+b+c:"true"===a.attr("contentEditable")?(c=" "===c?" ":c,/firefox/i.test(navigator.userAgent)?d="<span>"+b+c+"</span>":(c="<span contenteditable='false'>"+c+"</span>",d="<span contenteditable='false'>"+b+c+"</span>"),this.app.document.selection&&(d="<span contenteditable='true'>"+b+"</span>"),d+"<span></span>"):void 0}},b={load:function(a,b){var c;return(c=this.controller(a))?c.model.load(b):void 0},setIframe:function(a,b){return this.setIframe(a,b),null},run:function(){return this.dispatch()},destroy:function(){return this.shutdown(),this.$inputor.data("atwho",null)}},a.fn.atwho=function(d){var e,f;return f=arguments,e=null,this.filter('textarea, input, [contenteditable=""], [contenteditable=true]').each(function(){var g,h;return(h=(g=a(this)).data("atwho"))||g.data("atwho",h=new c(this)),"object"!=typeof d&&d?b[d]&&h?e=b[d].apply(h,Array.prototype.slice.call(f,1)):a.error("Method "+d+" does not exist on jQuery.caret"):h.reg(d.at,d)}),e||this},a.fn.atwho["default"]={at:void 0,alias:void 0,data:null,tpl:"<li data-value='${atwho-at}${name}'>${name}</li>",insert_tpl:"<span id='${id}'>${atwho-data-value}</span>",callbacks:e,search_key:"name",suffix:void 0,hide_without_suffix:!1,start_with_space:!0,highlight_first:!0,limit:5,max_len:20,display_timeout:300,delay:null}});
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
|
1 |
+
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(c){return a.returnExportsGlobal=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){"use strict";var b,c,d,e,f,g,h,i,j,k,l;k="caret",b=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.setPos=function(a){return this.domInputor},b.prototype.getIEPosition=function(){return this.getPosition()},b.prototype.getPosition=function(){var a,b;return b=this.getOffset(),a=this.$inputor.offset(),b.left-=a.left,b.top-=a.top,b},b.prototype.getOldIEPos=function(){var a,b;return b=h.selection.createRange(),a=h.body.createTextRange(),a.moveToElementText(this.domInputor),a.setEndPoint("EndToEnd",b),a.text.length},b.prototype.getPos=function(){var a,b,c;return(c=this.range())?(a=c.cloneRange(),a.selectNodeContents(this.domInputor),a.setEnd(c.endContainer,c.endOffset),b=a.toString().length,a.detach(),b):h.selection?this.getOldIEPos():void 0},b.prototype.getOldIEOffset=function(){var a,b;return a=h.selection.createRange().duplicate(),a.moveStart("character",-1),b=a.getBoundingClientRect(),{height:b.bottom-b.top,left:b.left,top:b.top}},b.prototype.getOffset=function(b){var c,d,e,f,g;return j.getSelection&&(e=this.range())?(e.endOffset-1>0&&e.endContainer===!this.domInputor&&(c=e.cloneRange(),c.setStart(e.endContainer,e.endOffset-1),c.setEnd(e.endContainer,e.endOffset),f=c.getBoundingClientRect(),d={height:f.height,left:f.left+f.width,top:f.top},c.detach()),d&&0!==(null!=d?d.height:void 0)||(c=e.cloneRange(),g=a(h.createTextNode("|")),c.insertNode(g[0]),c.selectNode(g[0]),f=c.getBoundingClientRect(),d={height:f.height,left:f.left,top:f.top},g.remove(),c.detach())):h.selection&&(d=this.getOldIEOffset()),d&&(d.top+=a(j).scrollTop(),d.left+=a(j).scrollLeft()),d},b.prototype.range=function(){var a;if(j.getSelection)return a=j.getSelection(),a.rangeCount>0?a.getRangeAt(0):null},b}(),c=function(){function b(a){this.$inputor=a,this.domInputor=this.$inputor[0]}return b.prototype.getIEPos=function(){var a,b,c,d,e,f,g;return b=this.domInputor,f=h.selection.createRange(),e=0,f&&f.parentElement()===b&&(d=b.value.replace(/\r\n/g,"\n"),c=d.length,g=b.createTextRange(),g.moveToBookmark(f.getBookmark()),a=b.createTextRange(),a.collapse(!1),e=g.compareEndPoints("StartToEnd",a)>-1?c:-g.moveStart("character",-c)),e},b.prototype.getPos=function(){return h.selection?this.getIEPos():this.domInputor.selectionStart},b.prototype.setPos=function(a){var b,c;return b=this.domInputor,h.selection?(c=b.createTextRange(),c.move("character",a),c.select()):b.setSelectionRange&&b.setSelectionRange(a,a),b},b.prototype.getIEOffset=function(a){var b,c,d,e;return c=this.domInputor.createTextRange(),a||(a=this.getPos()),c.move("character",a),d=c.boundingLeft,e=c.boundingTop,b=c.boundingHeight,{left:d,top:e,height:b}},b.prototype.getOffset=function(b){var c,d,e;return c=this.$inputor,h.selection?(d=this.getIEOffset(b),d.top+=a(j).scrollTop()+c.scrollTop(),d.left+=a(j).scrollLeft()+c.scrollLeft(),d):(d=c.offset(),e=this.getPosition(b),d={left:d.left+e.left-c.scrollLeft(),top:d.top+e.top-c.scrollTop(),height:e.height})},b.prototype.getPosition=function(a){var b,c,e,f,g,h,i;return b=this.$inputor,f=function(a){return a=a.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"<br/>"),/firefox/i.test(navigator.userAgent)&&(a=a.replace(/\s/g," ")),a},void 0===a&&(a=this.getPos()),i=b.val().slice(0,a),e=b.val().slice(a),g="<span style='position: relative; display: inline;'>"+f(i)+"</span>",g+="<span id='caret' style='position: relative; display: inline;'>|</span>",g+="<span style='position: relative; display: inline;'>"+f(e)+"</span>",h=new d(b),c=h.create(g).rect()},b.prototype.getIEPosition=function(a){var b,c,d,e,f;return d=this.getIEOffset(a),c=this.$inputor.offset(),e=d.left-c.left,f=d.top-c.top,b=d.height,{left:e,top:f,height:b}},b}(),d=function(){function b(a){this.$inputor=a}return b.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],b.prototype.mirrorCss=function(){var b,c=this;return b={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),a.each(this.css_attr,function(a,d){return b[d]=c.$inputor.css(d)}),b},b.prototype.create=function(b){return this.$mirror=a("<div></div>"),this.$mirror.css(this.mirrorCss()),this.$mirror.html(b),this.$inputor.after(this.$mirror),this},b.prototype.rect=function(){var a,b,c;return a=this.$mirror.find("#caret"),b=a.position(),c={left:b.left,top:b.top,height:a.height()},this.$mirror.remove(),c},b}(),e={contentEditable:function(a){return!(!a[0].contentEditable||"true"!==a[0].contentEditable)}},g={pos:function(a){return a||0===a?this.setPos(a):this.getPos()},position:function(a){return h.selection?this.getIEPosition(a):this.getPosition(a)},offset:function(a){var b;return b=this.getOffset(a)}},h=null,j=null,i=null,l=function(a){var b;return(b=null!=a?a.iframe:void 0)?(i=b,j=b.contentWindow,h=b.contentDocument||j.document):(i=void 0,j=window,h=document)},f=function(a){var b;h=a[0].ownerDocument,j=h.defaultView||h.parentWindow;try{return i=j.frameElement}catch(c){b=c}},a.fn.caret=function(d,f,h){var i;return g[d]?(a.isPlainObject(f)?(l(f),f=void 0):l(h),i=e.contentEditable(this)?new b(this):new c(this),g[d].apply(i,[f])):a.error("Method "+d+" does not exist on jQuery.caret")},a.fn.caret.EditableCaret=b,a.fn.caret.InputCaret=c,a.fn.caret.Utils=e,a.fn.caret.apis=g});
|
File without changes
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof exports?require("jquery"):jQuery)}(function(e){function n(e){return u.raw?e:encodeURIComponent(e)}function o(e){return u.raw?e:decodeURIComponent(e)}function i(e){return n(u.json?JSON.stringify(e):String(e))}function r(e){0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return e=decodeURIComponent(e.replace(c," ")),u.json?JSON.parse(e):e}catch(e){}}function t(n,o){var i=u.raw?n:r(n);return e.isFunction(o)?o(i):i}var c=/\+/g,u=e.cookie=function(r,c,f){if(void 0!==c&&!e.isFunction(c)){if("number"==typeof(f=e.extend({},u.defaults,f)).expires){var a=f.expires,d=f.expires=new Date;d.setTime(+d+864e5*a)}return document.cookie=[n(r),"=",i(c),f.expires?"; expires="+f.expires.toUTCString():"",f.path?"; path="+f.path:"",f.domain?"; domain="+f.domain:"",f.secure?"; secure":""].join("")}for(var p=r?void 0:{},s=document.cookie?document.cookie.split("; "):[],m=0,x=s.length;m<x;m++){var v=s[m].split("="),k=o(v.shift()),l=v.join("=");if(r&&r===k){p=t(l,c);break}r||void 0===(l=t(l))||(p[k]=l)}return p};u.defaults={},e.removeCookie=function(n,o){return void 0!==e.cookie(n)&&(e.cookie(n,"",e.extend({},o,{expires:-1})),!e.cookie(n))}});
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("object"==typeof exports?require("jquery"):jQuery)}(function(e){function t(t){return e.isFunction(t)||"object"==typeof t?t:{top:t,left:t}}var n=e.scrollTo=function(t,n,o){return e(window).scrollTo(t,n,o)};return n.defaults={axis:"xy",duration:parseFloat(e.fn.jquery)>=1.3?0:1,limit:!0},n.window=function(){return e(window)._scrollable()},e.fn._scrollable=function(){return this.map(function(){var t=this;if(!(!t.nodeName||-1!==e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])))return t;var n=(t.contentWindow||t).document||t.ownerDocument||t;return/webkit/i.test(navigator.userAgent)||"BackCompat"===n.compatMode?n.body:n.documentElement})},e.fn.scrollTo=function(o,r,i){return"object"==typeof r&&(i=r,r=0),"function"==typeof i&&(i={onAfter:i}),"max"===o&&(o=9e9),i=e.extend({},n.defaults,i),r=r||i.duration,i.queue=i.queue&&i.axis.length>1,i.queue&&(r/=2),i.offset=t(i.offset),i.over=t(i.over),this._scrollable().each(function(){function s(e){u.animate(l,r,i.easing,e&&function(){e.call(this,c,i)})}if(null!==o){var a,f=this,u=e(f),c=o,l={},d=u.is("html,body");switch(typeof c){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(c)){c=t(c);break}if(!(c=d?e(c):e(c,this)).length)return;case"object":(c.is||c.style)&&(a=(c=e(c)).offset())}var m=e.isFunction(i.offset)&&i.offset(f,c)||i.offset;e.each(i.axis.split(""),function(e,t){var o="x"===t?"Left":"Top",r=o.toLowerCase(),h="scroll"+o,p=f[h],y=n.max(f,t);if(a)l[h]=a[r]+(d?0:p-u.offset()[r]),i.margin&&(l[h]-=parseInt(c.css("margin"+o))||0,l[h]-=parseInt(c.css("border"+o+"Width"))||0),l[h]+=m[r]||0,i.over[r]&&(l[h]+=c["x"===t?"width":"height"]()*i.over[r]);else{var b=c[r];l[h]=b.slice&&"%"===b.slice(-1)?parseFloat(b)/100*y:b}i.limit&&/^\d+$/.test(l[h])&&(l[h]=l[h]<=0?0:Math.min(l[h],y)),!e&&i.queue&&(p!==l[h]&&s(i.onAfterFirst),delete l[h])}),s(i.onAfter)}}).end()},n.max=function(t,n){var o="x"===n?"Width":"Height",r="scroll"+o;if(!e(t).is("html,body"))return t[r]-e(t)[o.toLowerCase()]();var i="client"+o,s=t.ownerDocument.documentElement,a=t.ownerDocument.body;return Math.max(s[r],a[r])-Math.min(s[i],a[i])},n});
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(i){return t.returnExportsGlobal=e(i)}):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(this,function(t){var e,i,n,r,o,s,a,h=[].slice;i=function(){function e(e){this.current_flag=null,this.controllers={},this.alias_maps={},this.$inputor=t(e),this.setIframe(),this.listen()}return e.prototype.createContainer=function(e){if(0===(this.$el=t("#atwho-container",e)).length)return t(e.body).append(this.$el=t("<div id='atwho-container'></div>"))},e.prototype.setIframe=function(t,e){var i;return null==e&&(e=!1),t?(this.window=t.contentWindow,this.document=t.contentDocument||this.window.document,this.iframe=t):(this.document=document,this.window=window,this.iframe=null),(this.iframeStandalone=e)?(null!=(i=this.$el)&&i.remove(),this.createContainer(this.document)):this.createContainer(document)},e.prototype.controller=function(t){var e,i,n,r;if(this.alias_maps[t])i=this.controllers[this.alias_maps[t]];else{r=this.controllers;for(n in r)if(e=r[n],n===t){i=e;break}}return i||this.controllers[this.current_flag]},e.prototype.set_context_for=function(t){return this.current_flag=t,this},e.prototype.reg=function(t,e){var i,r;return i=(r=this.controllers)[t]||(r[t]=new n(this,t)),e.alias&&(this.alias_maps[e.alias]=t),i.init(e),this},e.prototype.listen=function(){return this.$inputor.on("keyup.atwhoInner",function(t){return function(e){return t.on_keyup(e)}}(this)).on("keydown.atwhoInner",function(t){return function(e){return t.on_keydown(e)}}(this)).on("scroll.atwhoInner",function(t){return function(e){var i;return null!=(i=t.controller())?i.view.hide(e):void 0}}(this)).on("blur.atwhoInner",function(t){return function(e){var i;if(i=t.controller())return i.view.hide(e,i.get_opt("display_timeout"))}}(this)).on("click.atwhoInner",function(t){return function(e){return t.dispatch()}}(this))},e.prototype.shutdown=function(){var t,e;e=this.controllers;for(t in e)e[t].destroy(),delete this.controllers[t];return this.$inputor.off(".atwhoInner"),this.$el.remove()},e.prototype.dispatch=function(){return t.map(this.controllers,function(t){return function(e){var i;return(i=e.get_opt("delay"))?(clearTimeout(t.delayedCallback),t.delayedCallback=setTimeout(function(){if(e.look_up())return t.set_context_for(e.at)},i)):e.look_up()?t.set_context_for(e.at):void 0}}(this))},e.prototype.on_keyup=function(e){var i;switch(e.keyCode){case o.ESC:e.preventDefault(),null!=(i=this.controller())&&i.view.hide();break;case o.DOWN:case o.UP:case o.CTRL:t.noop();break;case o.P:case o.N:e.ctrlKey||this.dispatch();break;default:this.dispatch()}},e.prototype.on_keydown=function(e){var i,n;if((i=null!=(n=this.controller())?n.view:void 0)&&i.visible())switch(e.keyCode){case o.ESC:e.preventDefault(),i.hide(e);break;case o.UP:e.preventDefault(),i.prev();break;case o.DOWN:e.preventDefault(),i.next();break;case o.P:if(!e.ctrlKey)return;e.preventDefault(),i.prev();break;case o.N:if(!e.ctrlKey)return;e.preventDefault(),i.next();break;case o.TAB:case o.ENTER:if(!i.visible())return;e.preventDefault(),i.choose(e);break;default:t.noop()}},e}(),n=function(){function e(e,i){this.app=e,this.at=i,this.$inputor=this.app.$inputor,this.id=this.$inputor[0].id||this.uid(),this.setting=null,this.query=null,this.pos=0,this.cur_rect=null,this.range=null,0===(this.$el=t("#atwho-ground-"+this.id,this.app.$el)).length&&this.app.$el.append(this.$el=t("<div id='atwho-ground-"+this.id+"'></div>")),this.model=new s(this),this.view=new a(this)}return e.prototype.uid=function(){return(Math.random().toString(16)+"000000000").substr(2,8)+(new Date).getTime()},e.prototype.init=function(e){return this.setting=t.extend({},this.setting||t.fn.atwho.default,e),this.view.init(),this.model.reload(this.setting.data)},e.prototype.destroy=function(){return this.trigger("beforeDestroy"),this.model.destroy(),this.view.destroy(),this.$el.remove()},e.prototype.call_default=function(){var e,i,n;n=arguments[0],e=2<=arguments.length?h.call(arguments,1):[];try{return r[n].apply(this,e)}catch(e){return i=e,t.error(i+" Or maybe At.js doesn't have function "+n)}},e.prototype.trigger=function(t,e){var i,n;return null==e&&(e=[]),e.push(this),i=this.get_opt("alias"),n=i?t+"-"+i+".atwho":t+".atwho",this.$inputor.trigger(n,e)},e.prototype.callbacks=function(t){return this.get_opt("callbacks")[t]||r[t]},e.prototype.get_opt=function(t,e){try{return this.setting[t]}catch(t){return t,null}},e.prototype.content=function(){var t;if(this.$inputor.is("textarea, input"))return this.$inputor.val();if(t=this.mark_range())return(t.startContainer.textContent||"").slice(0,t.startOffset)},e.prototype.catch_query=function(){var t,e,i,n,r,o;return e=this.content(),t=this.$inputor.caret("pos",{iframe:this.app.iframe}),o=e.slice(0,t),"string"==typeof(n=this.callbacks("matcher").call(this,this.at,o,this.get_opt("start_with_space")))&&n.length<=this.get_opt("max_len",20)?(i=(r=t-n.length)+n.length,this.pos=r,n={text:n,head_pos:r,end_pos:i},this.trigger("matched",[this.at,n.text])):(n=null,this.view.hide()),this.query=n},e.prototype.rect=function(){var e,i,n;if(e=this.$inputor.caret("offset",this.pos-1,{iframe:this.app.iframe}))return this.app.iframe&&!this.app.iframeStandalone&&(i=t(this.app.iframe).offset(),e.left+=i.left,e.top+=i.top),this.$inputor.is("[contentEditable]")&&(e=this.cur_rect||(this.cur_rect=e)),n=this.app.document.selection?0:2,{left:e.left,top:e.top,bottom:e.top+e.height+n}},e.prototype.reset_rect=function(){if(this.$inputor.is("[contentEditable]"))return this.cur_rect=null},e.prototype.mark_range=function(){var t;if(this.$inputor.is("[contentEditable]"))return this.app.window.getSelection&&(t=this.app.window.getSelection()).rangeCount>0?this.range=t.getRangeAt(0):this.app.document.selection?this.ie8_range=this.app.document.selection.createRange():void 0},e.prototype.insert_content_for=function(e){var i,n,r;return n=e.data("value"),r=this.get_opt("insert_tpl"),this.$inputor.is("textarea, input")||!r?n:(i=t.extend({},e.data("item-data"),{"atwho-data-value":n,"atwho-at":this.at}),this.callbacks("tpl_eval").call(this,r,i))},e.prototype.insert=function(e,i){var n,r,o,s,a,h,l,u,c,p,f,d;if(n=this.$inputor,c=this.callbacks("inserting_wrapper").call(this,n,e,this.get_opt("suffix")),n.is("textarea, input"))u=""+(l=(h=n.val()).slice(0,Math.max(this.query.head_pos-this.at.length,0)))+c+h.slice(this.query.end_pos||0),n.val(u),n.caret("pos",l.length+c.length,{iframe:this.app.iframe});else if(s=this.range){for(o=s.startOffset-(this.query.end_pos-this.query.head_pos)-this.at.length,s.setStart(s.endContainer,Math.max(o,0)),s.setEnd(s.endContainer,s.endOffset),s.deleteContents(),p=0,f=(d=t(c,this.app.document)).length;p<f;p++)r=d[p],s.insertNode(r),s.setEndAfter(r),s.collapse(!1);(a=this.app.window.getSelection()).removeAllRanges(),a.addRange(s)}else(s=this.ie8_range)&&(s.moveStart("character",this.query.end_pos-this.query.head_pos-this.at.length),s.pasteHTML(c),s.collapse(!1),s.select());return n.is(":focus")||n.focus(),n.change()},e.prototype.render_view=function(t){var e;return e=this.get_opt("search_key"),t=this.callbacks("sorter").call(this,this.query.text,t.slice(0,1001),e),this.view.render(t.slice(0,this.get_opt("limit")))},e.prototype.look_up=function(){var e,i;if(e=this.catch_query())return i=function(t){return t&&t.length>0?this.render_view(t):this.view.hide()},this.model.query(e.text,t.proxy(i,this)),e},e}(),s=function(){function e(t){this.context=t,this.at=this.context.at,this.storage=this.context.$inputor}return e.prototype.destroy=function(){return this.storage.data(this.at,null)},e.prototype.saved=function(){return this.fetch()>0},e.prototype.query=function(t,e){var i,n,r;return i=this.fetch(),n=this.context.get_opt("search_key"),i=this.context.callbacks("filter").call(this.context,t,i,n)||[],r=this.context.callbacks("remote_filter"),i.length>0||!r&&0===i.length?e(i):r.call(this.context,t,e)},e.prototype.fetch=function(){return this.storage.data(this.at)||[]},e.prototype.save=function(t){return this.storage.data(this.at,this.context.callbacks("before_save").call(this.context,t||[]))},e.prototype.load=function(t){if(!this.saved()&&t)return this._load(t)},e.prototype.reload=function(t){return this._load(t)},e.prototype._load=function(e){return"string"==typeof e?t.ajax(e,{dataType:"json"}).done(function(t){return function(e){return t.save(e)}}(this)):this.save(e)},e}(),a=function(){function e(e){this.context=e,this.$el=t("<div class='atwho-view'><ul class='atwho-view-ul'></ul></div>"),this.timeout_id=null,this.context.$el.append(this.$el),this.bind_event()}return e.prototype.init=function(){var t;return t=this.context.get_opt("alias")||this.context.at.charCodeAt(0),this.$el.attr({id:"at-view-"+t})},e.prototype.destroy=function(){return this.$el.remove()},e.prototype.bind_event=function(){var e;return(e=this.$el.find("ul")).on("mouseenter.atwho-view","li",function(i){return e.find(".cur").removeClass("cur"),t(i.currentTarget).addClass("cur")}).on("click.atwho-view","li",function(i){return function(n){return e.find(".cur").removeClass("cur"),t(n.currentTarget).addClass("cur"),i.choose(n),n.preventDefault()}}(this))},e.prototype.visible=function(){return this.$el.is(":visible")},e.prototype.choose=function(t){var e,i;if((e=this.$el.find(".cur")).length&&(i=this.context.insert_content_for(e),this.context.insert(this.context.callbacks("before_insert").call(this.context,i,e),e),this.context.trigger("inserted",[e,t]),this.hide(t)),this.context.get_opt("hide_without_suffix"))return this.stop_showing=!0},e.prototype.reposition=function(e){var i,n,r,o;return o=this.context.app.iframeStandalone?this.context.app.window:window,e.bottom+this.$el.height()-t(o).scrollTop()>t(o).height()&&(e.bottom=e.top-this.$el.height()),e.left>(n=t(o).width()-this.$el.width()-5)&&(e.left=n),i={left:e.left,top:e.bottom},null!=(r=this.context.callbacks("before_reposition"))&&r.call(this.context,i),this.$el.offset(i),this.context.trigger("reposition",[i])},e.prototype.next=function(){var t,e;return t=this.$el.find(".cur").removeClass("cur"),(e=t.next()).length||(e=this.$el.find("li:first")),e.addClass("cur"),this.$el.animate({scrollTop:Math.max(0,t.innerHeight()*(e.index()+2)-this.$el.height())},150)},e.prototype.prev=function(){var t,e;return t=this.$el.find(".cur").removeClass("cur"),(e=t.prev()).length||(e=this.$el.find("li:last")),e.addClass("cur"),this.$el.animate({scrollTop:Math.max(0,t.innerHeight()*(e.index()+2)-this.$el.height())},150)},e.prototype.show=function(){var t;{if(!this.stop_showing)return this.context.mark_range(),this.visible()||(this.$el.show(),this.$el.scrollTop(0),this.context.trigger("shown")),(t=this.context.rect())?this.reposition(t):void 0;this.stop_showing=!1}},e.prototype.hide=function(t,e){var i;if(this.visible())return isNaN(e)?(this.context.reset_rect(),this.$el.hide(),this.context.trigger("hidden",[t])):(i=function(t){return function(){return t.hide()}}(this),clearTimeout(this.timeout_id),this.timeout_id=setTimeout(i,e))},e.prototype.render=function(e){var i,n,r,o,s,a,h;{if(t.isArray(e)&&e.length>0){for(this.$el.find("ul").empty(),n=this.$el.find("ul"),s=this.context.get_opt("tpl"),a=0,h=e.length;a<h;a++)r=e[a],r=t.extend({},r,{"atwho-at":this.context.at}),o=this.context.callbacks("tpl_eval").call(this.context,s,r),(i=t(this.context.callbacks("highlighter").call(this.context,o,this.context.query.text))).data("item-data",r),n.append(i);return this.show(),this.context.get_opt("highlight_first")?n.find("li:first").addClass("cur"):void 0}this.hide()}},e}(),o={DOWN:40,UP:38,ESC:27,TAB:9,ENTER:13,CTRL:17,P:80,N:78},r={before_save:function(e){var i,n,r,o;if(!t.isArray(e))return e;for(o=[],n=0,r=e.length;n<r;n++)i=e[n],t.isPlainObject(i)?o.push(i):o.push({name:i});return o},matcher:function(t,e,i){var n,r,o,s;return t=t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),i&&(t="(?:^|\\s)"+t),o=decodeURI("%C3%80"),s=decodeURI("%C3%BF"),r=new RegExp(t+"([A-Za-z"+o+"-"+s+"0-9_+-]*)$|"+t+"([^\\x00-\\xff]*)$","gi"),(n=r.exec(e))?n[2]||n[1]:null},filter:function(t,e,i){var n,r,o,s;for(s=[],r=0,o=e.length;r<o;r++)n=e[r],~new String(n[i]).toLowerCase().indexOf(t.toLowerCase())&&s.push(n);return s},remote_filter:null,sorter:function(t,e,i){var n,r,o,s;if(!t)return e;for(s=[],r=0,o=e.length;r<o;r++)(n=e[r]).atwho_order=new String(n[i]).toLowerCase().indexOf(t.toLowerCase()),n.atwho_order>-1&&s.push(n);return s.sort(function(t,e){return t.atwho_order-e.atwho_order})},tpl_eval:function(t,e){try{return t.replace(/\$\{([^\}]*)\}/g,function(t,i,n){return e[i]})}catch(t){return t,""}},highlighter:function(t,e){var i;return e?(i=new RegExp(">\\s*(\\w*?)("+e.replace("+","\\+")+")(\\w*)\\s*<","ig"),t.replace(i,function(t,e,i,n){return"> "+e+"<strong>"+i+"</strong>"+n+" <"})):t},before_insert:function(t,e){return t},inserting_wrapper:function(t,e,i){var n;return i=""===i?i:i||" ",t.is("textarea, input")?""+e+i:"true"===t.attr("contentEditable")?(i=" "===i?" ":i,n=/firefox/i.test(navigator.userAgent)?"<span>"+e+i+"</span>":"<span contenteditable='false'>"+e+(i="<span contenteditable='false'>"+i+"</span>")+"</span>",this.app.document.selection&&(n="<span contenteditable='true'>"+e+"</span>"),n+"<span></span>"):void 0}},e={load:function(t,e){var i;if(i=this.controller(t))return i.model.load(e)},setIframe:function(t,e){return this.setIframe(t,e),null},run:function(){return this.dispatch()},destroy:function(){return this.shutdown(),this.$inputor.data("atwho",null)}},t.fn.atwho=function(n){var r,o;return o=arguments,r=null,this.filter('textarea, input, [contenteditable=""], [contenteditable=true]').each(function(){var s,a;return(a=(s=t(this)).data("atwho"))||s.data("atwho",a=new i(this)),"object"!=typeof n&&n?e[n]&&a?r=e[n].apply(a,Array.prototype.slice.call(o,1)):t.error("Method "+n+" does not exist on jQuery.caret"):a.reg(n.at,n)}),r||this},t.fn.atwho.default={at:void 0,alias:void 0,data:null,tpl:"<li data-value='${atwho-at}${name}'>${name}</li>",insert_tpl:"<span id='${id}'>${atwho-data-value}</span>",callbacks:r,search_key:"name",suffix:void 0,hide_without_suffix:!1,start_with_space:!0,highlight_first:!0,limit:5,max_len:20,display_timeout:300,delay:null}});
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.returnExportsGlobal=e(o)}):"object"==typeof exports?module.exports=e(require("jquery")):e(jQuery)}(this,function(t){"use strict";var e,o,n,r,i,s,a,p,l;e=function(){function e(t){this.$inputor=t,this.domInputor=this.$inputor[0]}return e.prototype.setPos=function(t){return this.domInputor},e.prototype.getIEPosition=function(){return this.getPosition()},e.prototype.getPosition=function(){var t,e;return e=this.getOffset(),t=this.$inputor.offset(),e.left-=t.left,e.top-=t.top,e},e.prototype.getOldIEPos=function(){var t,e;return e=s.selection.createRange(),(t=s.body.createTextRange()).moveToElementText(this.domInputor),t.setEndPoint("EndToEnd",e),t.text.length},e.prototype.getPos=function(){var t,e,o;return(o=this.range())?((t=o.cloneRange()).selectNodeContents(this.domInputor),t.setEnd(o.endContainer,o.endOffset),e=t.toString().length,t.detach(),e):s.selection?this.getOldIEPos():void 0},e.prototype.getOldIEOffset=function(){var t,e;return(t=s.selection.createRange().duplicate()).moveStart("character",-1),e=t.getBoundingClientRect(),{height:e.bottom-e.top,left:e.left,top:e.top}},e.prototype.getOffset=function(e){var o,n,r,i,a;return p.getSelection&&(r=this.range())?(r.endOffset-1>0&&r.endContainer===!this.domInputor&&((o=r.cloneRange()).setStart(r.endContainer,r.endOffset-1),o.setEnd(r.endContainer,r.endOffset),n={height:(i=o.getBoundingClientRect()).height,left:i.left+i.width,top:i.top},o.detach()),n&&0!==(null!=n?n.height:void 0)||(o=r.cloneRange(),a=t(s.createTextNode("|")),o.insertNode(a[0]),o.selectNode(a[0]),n={height:(i=o.getBoundingClientRect()).height,left:i.left,top:i.top},a.remove(),o.detach())):s.selection&&(n=this.getOldIEOffset()),n&&(n.top+=t(p).scrollTop(),n.left+=t(p).scrollLeft()),n},e.prototype.range=function(){var t;if(p.getSelection)return(t=p.getSelection()).rangeCount>0?t.getRangeAt(0):null},e}(),o=function(){function e(t){this.$inputor=t,this.domInputor=this.$inputor[0]}return e.prototype.getIEPos=function(){var t,e,o,n,r,i;return e=this.domInputor,r=s.selection.createRange(),n=0,r&&r.parentElement()===e&&(o=e.value.replace(/\r\n/g,"\n").length,(i=e.createTextRange()).moveToBookmark(r.getBookmark()),(t=e.createTextRange()).collapse(!1),n=i.compareEndPoints("StartToEnd",t)>-1?o:-i.moveStart("character",-o)),n},e.prototype.getPos=function(){return s.selection?this.getIEPos():this.domInputor.selectionStart},e.prototype.setPos=function(t){var e,o;return e=this.domInputor,s.selection?((o=e.createTextRange()).move("character",t),o.select()):e.setSelectionRange&&e.setSelectionRange(t,t),e},e.prototype.getIEOffset=function(t){var e,o,n,r;return o=this.domInputor.createTextRange(),t||(t=this.getPos()),o.move("character",t),n=o.boundingLeft,r=o.boundingTop,e=o.boundingHeight,{left:n,top:r,height:e}},e.prototype.getOffset=function(e){var o,n,r;return o=this.$inputor,s.selection?(n=this.getIEOffset(e),n.top+=t(p).scrollTop()+o.scrollTop(),n.left+=t(p).scrollLeft()+o.scrollLeft(),n):(n=o.offset(),r=this.getPosition(e),n={left:n.left+r.left-o.scrollLeft(),top:n.top+r.top-o.scrollTop(),height:r.height})},e.prototype.getPosition=function(t){var e,o,r,i,s,a;return e=this.$inputor,r=function(t){return t=t.replace(/<|>|`|"|&/g,"?").replace(/\r\n|\r|\n/g,"<br/>"),/firefox/i.test(navigator.userAgent)&&(t=t.replace(/\s/g," ")),t},void 0===t&&(t=this.getPos()),a=e.val().slice(0,t),o=e.val().slice(t),i="<span style='position: relative; display: inline;'>"+r(a)+"</span>",i+="<span id='caret' style='position: relative; display: inline;'>|</span>",i+="<span style='position: relative; display: inline;'>"+r(o)+"</span>",s=new n(e),s.create(i).rect()},e.prototype.getIEPosition=function(t){var e,o,n,r,i;return n=this.getIEOffset(t),o=this.$inputor.offset(),r=n.left-o.left,i=n.top-o.top,e=n.height,{left:r,top:i,height:e}},e}(),n=function(){function e(t){this.$inputor=t}return e.prototype.css_attr=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderTopWidth","boxSizing","fontFamily","fontSize","fontWeight","height","letterSpacing","lineHeight","marginBottom","marginLeft","marginRight","marginTop","outlineWidth","overflow","overflowX","overflowY","paddingBottom","paddingLeft","paddingRight","paddingTop","textAlign","textOverflow","textTransform","whiteSpace","wordBreak","wordWrap"],e.prototype.mirrorCss=function(){var e,o=this;return e={position:"absolute",left:-9999,top:0,zIndex:-2e4},"TEXTAREA"===this.$inputor.prop("tagName")&&this.css_attr.push("width"),t.each(this.css_attr,function(t,n){return e[n]=o.$inputor.css(n)}),e},e.prototype.create=function(e){return this.$mirror=t("<div></div>"),this.$mirror.css(this.mirrorCss()),this.$mirror.html(e),this.$inputor.after(this.$mirror),this},e.prototype.rect=function(){var t,e,o;return t=this.$mirror.find("#caret"),e=t.position(),o={left:e.left,top:e.top,height:t.height()},this.$mirror.remove(),o},e}(),r={contentEditable:function(t){return!(!t[0].contentEditable||"true"!==t[0].contentEditable)}},i={pos:function(t){return t||0===t?this.setPos(t):this.getPos()},position:function(t){return s.selection?this.getIEPosition(t):this.getPosition(t)},offset:function(t){return this.getOffset(t)}},s=null,p=null,a=null,l=function(t){var e;return(e=null!=t?t.iframe:void 0)?(a=e,p=e.contentWindow,s=e.contentDocument||p.document):(a=void 0,p=window,s=document)},t.fn.caret=function(n,s,a){var p;return i[n]?(t.isPlainObject(s)?(l(s),s=void 0):l(a),p=r.contentEditable(this)?new e(this):new o(this),i[n].apply(p,[s])):t.error("Method "+n+" does not exist on jQuery.caret")},t.fn.caret.EditableCaret=e,t.fn.caret.InputCaret=o,t.fn.caret.Utils=r,t.fn.caret.apis=i});
|
|
@@ -1,129 +0,0 @@
|
|
1 |
-
// Livestamp.js / v1.1.2 / (c) 2012 Matt Bradley / MIT License
|
2 |
-
(function($, moment) {
|
3 |
-
var updateInterval = 1e3,
|
4 |
-
paused = false,
|
5 |
-
$livestamps = $([]),
|
6 |
-
|
7 |
-
init = function() {
|
8 |
-
livestampGlobal.resume();
|
9 |
-
},
|
10 |
-
|
11 |
-
prep = function($el, timestamp) {
|
12 |
-
var oldData = $el.data('livestampdata');
|
13 |
-
if (typeof timestamp == 'number')
|
14 |
-
timestamp *= 1e3;
|
15 |
-
|
16 |
-
$el.removeAttr('data-livestamp')
|
17 |
-
.removeData('livestamp');
|
18 |
-
|
19 |
-
timestamp = moment(timestamp);
|
20 |
-
if (moment.isMoment(timestamp) && !isNaN(+timestamp)) {
|
21 |
-
var newData = $.extend({ }, { 'original': $el.contents() }, oldData);
|
22 |
-
newData.moment = moment(timestamp);
|
23 |
-
|
24 |
-
$el.data('livestampdata', newData).empty();
|
25 |
-
$livestamps.push($el[0]);
|
26 |
-
}
|
27 |
-
},
|
28 |
-
|
29 |
-
run = function() {
|
30 |
-
if (paused) return;
|
31 |
-
livestampGlobal.update();
|
32 |
-
setTimeout(run, updateInterval);
|
33 |
-
},
|
34 |
-
|
35 |
-
livestampGlobal = {
|
36 |
-
update: function() {
|
37 |
-
$('[data-livestamp]').each(function() {
|
38 |
-
var $this = $(this);
|
39 |
-
prep($this, $this.data('livestamp'));
|
40 |
-
});
|
41 |
-
|
42 |
-
var toRemove = [];
|
43 |
-
$livestamps.each(function() {
|
44 |
-
var $this = $(this),
|
45 |
-
data = $this.data('livestampdata');
|
46 |
-
|
47 |
-
if (data === undefined)
|
48 |
-
toRemove.push(this);
|
49 |
-
else if (moment.isMoment(data.moment)) {
|
50 |
-
var from = $this.html(),
|
51 |
-
to = data.moment.fromNow();
|
52 |
-
|
53 |
-
if (from != to) {
|
54 |
-
var e = $.Event('change.livestamp');
|
55 |
-
$this.trigger(e, [from, to]);
|
56 |
-
if (!e.isDefaultPrevented())
|
57 |
-
$this.html(to);
|
58 |
-
}
|
59 |
-
}
|
60 |
-
});
|
61 |
-
|
62 |
-
$livestamps = $livestamps.not(toRemove);
|
63 |
-
},
|
64 |
-
|
65 |
-
pause: function() {
|
66 |
-
paused = true;
|
67 |
-
},
|
68 |
-
|
69 |
-
resume: function() {
|
70 |
-
paused = false;
|
71 |
-
run();
|
72 |
-
},
|
73 |
-
|
74 |
-
interval: function(interval) {
|
75 |
-
if (interval === undefined)
|
76 |
-
return updateInterval;
|
77 |
-
updateInterval = interval;
|
78 |
-
}
|
79 |
-
},
|
80 |
-
|
81 |
-
livestampLocal = {
|
82 |
-
add: function($el, timestamp) {
|
83 |
-
if (typeof timestamp == 'number')
|
84 |
-
timestamp *= 1e3;
|
85 |
-
timestamp = moment(timestamp);
|
86 |
-
|
87 |
-
if (moment.isMoment(timestamp) && !isNaN(+timestamp)) {
|
88 |
-
$el.each(function() {
|
89 |
-
prep($(this), timestamp);
|
90 |
-
});
|
91 |
-
livestampGlobal.update();
|
92 |
-
}
|
93 |
-
|
94 |
-
return $el;
|
95 |
-
},
|
96 |
-
|
97 |
-
destroy: function($el) {
|
98 |
-
$livestamps = $livestamps.not($el);
|
99 |
-
$el.each(function() {
|
100 |
-
var $this = $(this),
|
101 |
-
data = $this.data('livestampdata');
|
102 |
-
|
103 |
-
if (data === undefined)
|
104 |
-
return $el;
|
105 |
-
|
106 |
-
$this
|
107 |
-
.html(data.original ? data.original : '')
|
108 |
-
.removeData('livestampdata');
|
109 |
-
});
|
110 |
-
|
111 |
-
return $el;
|
112 |
-
},
|
113 |
-
|
114 |
-
isLivestamp: function($el) {
|
115 |
-
return $el.data('livestampdata') !== undefined;
|
116 |
-
}
|
117 |
-
};
|
118 |
-
|
119 |
-
$.livestamp = livestampGlobal;
|
120 |
-
$(init);
|
121 |
-
$.fn.livestamp = function(method, options) {
|
122 |
-
if (!livestampLocal[method]) {
|
123 |
-
options = method;
|
124 |
-
method = 'add';
|
125 |
-
}
|
126 |
-
|
127 |
-
return livestampLocal[method](this, options);
|
128 |
-
};
|
129 |
-
})(jQuery, moment);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(t,a){var e=1e3,i=!1,n=t([]),o=function(e,i){var o=e.data("livestampdata");if("number"==typeof i&&(i*=1e3),e.removeAttr("data-livestamp").removeData("livestamp"),i=a(i),a.isMoment(i)&&!isNaN(+i)){var r=t.extend({},{original:e.contents()},o);r.moment=a(i),e.data("livestampdata",r).empty(),n.push(e[0])}},r=function(){i||(m.update(),setTimeout(r,e))},m={update:function(){t("[data-livestamp]").each(function(){var a=t(this);o(a,a.data("livestamp"))});var e=[];n.each(function(){var i=t(this),n=i.data("livestampdata");if(void 0===n)e.push(this);else if(a.isMoment(n.moment)){var o=i.html(),r=n.moment.fromNow();if(o!=r){var m=t.Event("change.livestamp");i.trigger(m,[o,r]),m.isDefaultPrevented()||i.html(r)}}}),n=n.not(e)},pause:function(){i=!0},resume:function(){i=!1,r()},interval:function(t){if(void 0===t)return e;e=t}},s={add:function(e,i){return"number"==typeof i&&(i*=1e3),i=a(i),a.isMoment(i)&&!isNaN(+i)&&(e.each(function(){o(t(this),i)}),m.update()),e},destroy:function(a){return n=n.not(a),a.each(function(){var e=t(this),i=e.data("livestampdata");if(void 0===i)return a;e.html(i.original?i.original:"").removeData("livestampdata")}),a},isLivestamp:function(t){return void 0!==t.data("livestampdata")}};t.livestamp=m,t(function(){m.resume()}),t.fn.livestamp=function(t,a){return s[t]||(a=t,t="add"),s[t](this,a)}}(jQuery,moment);
|
|
@@ -1,73 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Afrikaans [af]
|
3 |
-
//! author : Werner Mollentze : https://github.com/wernerm
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var af = moment.defineLocale('af', {
|
14 |
-
months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
|
15 |
-
monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
|
16 |
-
weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
|
17 |
-
weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
|
18 |
-
weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
|
19 |
-
meridiemParse: /vm|nm/i,
|
20 |
-
isPM : function (input) {
|
21 |
-
return /^nm$/i.test(input);
|
22 |
-
},
|
23 |
-
meridiem : function (hours, minutes, isLower) {
|
24 |
-
if (hours < 12) {
|
25 |
-
return isLower ? 'vm' : 'VM';
|
26 |
-
} else {
|
27 |
-
return isLower ? 'nm' : 'NM';
|
28 |
-
}
|
29 |
-
},
|
30 |
-
longDateFormat : {
|
31 |
-
LT : 'HH:mm',
|
32 |
-
LTS : 'HH:mm:ss',
|
33 |
-
L : 'DD/MM/YYYY',
|
34 |
-
LL : 'D MMMM YYYY',
|
35 |
-
LLL : 'D MMMM YYYY HH:mm',
|
36 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
37 |
-
},
|
38 |
-
calendar : {
|
39 |
-
sameDay : '[Vandag om] LT',
|
40 |
-
nextDay : '[Môre om] LT',
|
41 |
-
nextWeek : 'dddd [om] LT',
|
42 |
-
lastDay : '[Gister om] LT',
|
43 |
-
lastWeek : '[Laas] dddd [om] LT',
|
44 |
-
sameElse : 'L'
|
45 |
-
},
|
46 |
-
relativeTime : {
|
47 |
-
future : 'oor %s',
|
48 |
-
past : '%s gelede',
|
49 |
-
s : '\'n paar sekondes',
|
50 |
-
m : '\'n minuut',
|
51 |
-
mm : '%d minute',
|
52 |
-
h : '\'n uur',
|
53 |
-
hh : '%d ure',
|
54 |
-
d : '\'n dag',
|
55 |
-
dd : '%d dae',
|
56 |
-
M : '\'n maand',
|
57 |
-
MM : '%d maande',
|
58 |
-
y : '\'n jaar',
|
59 |
-
yy : '%d jaar'
|
60 |
-
},
|
61 |
-
ordinalParse: /\d{1,2}(ste|de)/,
|
62 |
-
ordinal : function (number) {
|
63 |
-
return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
|
64 |
-
},
|
65 |
-
week : {
|
66 |
-
dow : 1, // Maandag is die eerste dag van die week.
|
67 |
-
doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
|
68 |
-
}
|
69 |
-
});
|
70 |
-
|
71 |
-
return af;
|
72 |
-
|
73 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";return e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,n,a){return e<12?a?"vm":"VM":a?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})});
|
|
@@ -1,122 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Arabic (Lybia) [ar-ly]
|
3 |
-
//! author : Ali Hmer: https://github.com/kikoanis
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var symbolMap = {
|
14 |
-
'1': '1',
|
15 |
-
'2': '2',
|
16 |
-
'3': '3',
|
17 |
-
'4': '4',
|
18 |
-
'5': '5',
|
19 |
-
'6': '6',
|
20 |
-
'7': '7',
|
21 |
-
'8': '8',
|
22 |
-
'9': '9',
|
23 |
-
'0': '0'
|
24 |
-
}, pluralForm = function (n) {
|
25 |
-
return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
|
26 |
-
}, plurals = {
|
27 |
-
s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
|
28 |
-
m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
|
29 |
-
h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
|
30 |
-
d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
|
31 |
-
M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
|
32 |
-
y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
|
33 |
-
}, pluralize = function (u) {
|
34 |
-
return function (number, withoutSuffix, string, isFuture) {
|
35 |
-
var f = pluralForm(number),
|
36 |
-
str = plurals[u][pluralForm(number)];
|
37 |
-
if (f === 2) {
|
38 |
-
str = str[withoutSuffix ? 0 : 1];
|
39 |
-
}
|
40 |
-
return str.replace(/%d/i, number);
|
41 |
-
};
|
42 |
-
}, months = [
|
43 |
-
'يناير',
|
44 |
-
'فبراير',
|
45 |
-
'مارس',
|
46 |
-
'أبريل',
|
47 |
-
'مايو',
|
48 |
-
'يونيو',
|
49 |
-
'يوليو',
|
50 |
-
'أغسطس',
|
51 |
-
'سبتمبر',
|
52 |
-
'أكتوبر',
|
53 |
-
'نوفمبر',
|
54 |
-
'ديسمبر'
|
55 |
-
];
|
56 |
-
|
57 |
-
var ar_ly = moment.defineLocale('ar-ly', {
|
58 |
-
months : months,
|
59 |
-
monthsShort : months,
|
60 |
-
weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
|
61 |
-
weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
|
62 |
-
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
|
63 |
-
weekdaysParseExact : true,
|
64 |
-
longDateFormat : {
|
65 |
-
LT : 'HH:mm',
|
66 |
-
LTS : 'HH:mm:ss',
|
67 |
-
L : 'D/\u200FM/\u200FYYYY',
|
68 |
-
LL : 'D MMMM YYYY',
|
69 |
-
LLL : 'D MMMM YYYY HH:mm',
|
70 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
71 |
-
},
|
72 |
-
meridiemParse: /ص|م/,
|
73 |
-
isPM : function (input) {
|
74 |
-
return 'م' === input;
|
75 |
-
},
|
76 |
-
meridiem : function (hour, minute, isLower) {
|
77 |
-
if (hour < 12) {
|
78 |
-
return 'ص';
|
79 |
-
} else {
|
80 |
-
return 'م';
|
81 |
-
}
|
82 |
-
},
|
83 |
-
calendar : {
|
84 |
-
sameDay: '[اليوم عند الساعة] LT',
|
85 |
-
nextDay: '[غدًا عند الساعة] LT',
|
86 |
-
nextWeek: 'dddd [عند الساعة] LT',
|
87 |
-
lastDay: '[أمس عند الساعة] LT',
|
88 |
-
lastWeek: 'dddd [عند الساعة] LT',
|
89 |
-
sameElse: 'L'
|
90 |
-
},
|
91 |
-
relativeTime : {
|
92 |
-
future : 'بعد %s',
|
93 |
-
past : 'منذ %s',
|
94 |
-
s : pluralize('s'),
|
95 |
-
m : pluralize('m'),
|
96 |
-
mm : pluralize('m'),
|
97 |
-
h : pluralize('h'),
|
98 |
-
hh : pluralize('h'),
|
99 |
-
d : pluralize('d'),
|
100 |
-
dd : pluralize('d'),
|
101 |
-
M : pluralize('M'),
|
102 |
-
MM : pluralize('M'),
|
103 |
-
y : pluralize('y'),
|
104 |
-
yy : pluralize('y')
|
105 |
-
},
|
106 |
-
preparse: function (string) {
|
107 |
-
return string.replace(/\u200f/g, '').replace(/،/g, ',');
|
108 |
-
},
|
109 |
-
postformat: function (string) {
|
110 |
-
return string.replace(/\d/g, function (match) {
|
111 |
-
return symbolMap[match];
|
112 |
-
}).replace(/,/g, '،');
|
113 |
-
},
|
114 |
-
week : {
|
115 |
-
dow : 6, // Saturday is the first day of the week.
|
116 |
-
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
117 |
-
}
|
118 |
-
});
|
119 |
-
|
120 |
-
return ar_ly;
|
121 |
-
|
122 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,d){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?d(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],d):d(e.moment)}(this,function(e){"use strict";var d={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},t=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},n={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(e){return function(d,r,i,m){var o=t(d),a=n[e][t(d)];return 2===o&&(a=a[r?0:1]),a.replace(/%d/i,d)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];return e.defineLocale("ar-ly",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,d,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return d[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})});
|
|
@@ -1,60 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Arabic (Morocco) [ar-ma]
|
3 |
-
//! author : ElFadili Yassine : https://github.com/ElFadiliY
|
4 |
-
//! author : Abdel Said : https://github.com/abdelsaid
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var ar_ma = moment.defineLocale('ar-ma', {
|
15 |
-
months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
|
16 |
-
monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
|
17 |
-
weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
|
18 |
-
weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
|
19 |
-
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'DD/MM/YYYY',
|
25 |
-
LL : 'D MMMM YYYY',
|
26 |
-
LLL : 'D MMMM YYYY HH:mm',
|
27 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
28 |
-
},
|
29 |
-
calendar : {
|
30 |
-
sameDay: '[اليوم على الساعة] LT',
|
31 |
-
nextDay: '[غدا على الساعة] LT',
|
32 |
-
nextWeek: 'dddd [على الساعة] LT',
|
33 |
-
lastDay: '[أمس على الساعة] LT',
|
34 |
-
lastWeek: 'dddd [على الساعة] LT',
|
35 |
-
sameElse: 'L'
|
36 |
-
},
|
37 |
-
relativeTime : {
|
38 |
-
future : 'في %s',
|
39 |
-
past : 'منذ %s',
|
40 |
-
s : 'ثوان',
|
41 |
-
m : 'دقيقة',
|
42 |
-
mm : '%d دقائق',
|
43 |
-
h : 'ساعة',
|
44 |
-
hh : '%d ساعات',
|
45 |
-
d : 'يوم',
|
46 |
-
dd : '%d أيام',
|
47 |
-
M : 'شهر',
|
48 |
-
MM : '%d أشهر',
|
49 |
-
y : 'سنة',
|
50 |
-
yy : '%d سنوات'
|
51 |
-
},
|
52 |
-
week : {
|
53 |
-
dow : 6, // Saturday is the first day of the week.
|
54 |
-
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
55 |
-
}
|
56 |
-
});
|
57 |
-
|
58 |
-
return ar_ma;
|
59 |
-
|
60 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})});
|
|
@@ -1,104 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Arabic (Saudi Arabia) [ar-sa]
|
3 |
-
//! author : Suhail Alkowaileet : https://github.com/xsoh
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var symbolMap = {
|
14 |
-
'1': '١',
|
15 |
-
'2': '٢',
|
16 |
-
'3': '٣',
|
17 |
-
'4': '٤',
|
18 |
-
'5': '٥',
|
19 |
-
'6': '٦',
|
20 |
-
'7': '٧',
|
21 |
-
'8': '٨',
|
22 |
-
'9': '٩',
|
23 |
-
'0': '٠'
|
24 |
-
}, numberMap = {
|
25 |
-
'١': '1',
|
26 |
-
'٢': '2',
|
27 |
-
'٣': '3',
|
28 |
-
'٤': '4',
|
29 |
-
'٥': '5',
|
30 |
-
'٦': '6',
|
31 |
-
'٧': '7',
|
32 |
-
'٨': '8',
|
33 |
-
'٩': '9',
|
34 |
-
'٠': '0'
|
35 |
-
};
|
36 |
-
|
37 |
-
var ar_sa = moment.defineLocale('ar-sa', {
|
38 |
-
months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
|
39 |
-
monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
|
40 |
-
weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
|
41 |
-
weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
|
42 |
-
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
|
43 |
-
weekdaysParseExact : true,
|
44 |
-
longDateFormat : {
|
45 |
-
LT : 'HH:mm',
|
46 |
-
LTS : 'HH:mm:ss',
|
47 |
-
L : 'DD/MM/YYYY',
|
48 |
-
LL : 'D MMMM YYYY',
|
49 |
-
LLL : 'D MMMM YYYY HH:mm',
|
50 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
51 |
-
},
|
52 |
-
meridiemParse: /ص|م/,
|
53 |
-
isPM : function (input) {
|
54 |
-
return 'م' === input;
|
55 |
-
},
|
56 |
-
meridiem : function (hour, minute, isLower) {
|
57 |
-
if (hour < 12) {
|
58 |
-
return 'ص';
|
59 |
-
} else {
|
60 |
-
return 'م';
|
61 |
-
}
|
62 |
-
},
|
63 |
-
calendar : {
|
64 |
-
sameDay: '[اليوم على الساعة] LT',
|
65 |
-
nextDay: '[غدا على الساعة] LT',
|
66 |
-
nextWeek: 'dddd [على الساعة] LT',
|
67 |
-
lastDay: '[أمس على الساعة] LT',
|
68 |
-
lastWeek: 'dddd [على الساعة] LT',
|
69 |
-
sameElse: 'L'
|
70 |
-
},
|
71 |
-
relativeTime : {
|
72 |
-
future : 'في %s',
|
73 |
-
past : 'منذ %s',
|
74 |
-
s : 'ثوان',
|
75 |
-
m : 'دقيقة',
|
76 |
-
mm : '%d دقائق',
|
77 |
-
h : 'ساعة',
|
78 |
-
hh : '%d ساعات',
|
79 |
-
d : 'يوم',
|
80 |
-
dd : '%d أيام',
|
81 |
-
M : 'شهر',
|
82 |
-
MM : '%d أشهر',
|
83 |
-
y : 'سنة',
|
84 |
-
yy : '%d سنوات'
|
85 |
-
},
|
86 |
-
preparse: function (string) {
|
87 |
-
return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
|
88 |
-
return numberMap[match];
|
89 |
-
}).replace(/،/g, ',');
|
90 |
-
},
|
91 |
-
postformat: function (string) {
|
92 |
-
return string.replace(/\d/g, function (match) {
|
93 |
-
return symbolMap[match];
|
94 |
-
}).replace(/,/g, '،');
|
95 |
-
},
|
96 |
-
week : {
|
97 |
-
dow : 6, // Saturday is the first day of the week.
|
98 |
-
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
99 |
-
}
|
100 |
-
});
|
101 |
-
|
102 |
-
return ar_sa;
|
103 |
-
|
104 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},_={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};return e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,_){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return _[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})});
|
|
@@ -1,59 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Arabic (Tunisia) [ar-tn]
|
3 |
-
//! author : Nader Toukabri : https://github.com/naderio
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var ar_tn = moment.defineLocale('ar-tn', {
|
14 |
-
months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
|
15 |
-
monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
|
16 |
-
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
|
17 |
-
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
|
18 |
-
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
|
19 |
-
weekdaysParseExact : true,
|
20 |
-
longDateFormat: {
|
21 |
-
LT: 'HH:mm',
|
22 |
-
LTS: 'HH:mm:ss',
|
23 |
-
L: 'DD/MM/YYYY',
|
24 |
-
LL: 'D MMMM YYYY',
|
25 |
-
LLL: 'D MMMM YYYY HH:mm',
|
26 |
-
LLLL: 'dddd D MMMM YYYY HH:mm'
|
27 |
-
},
|
28 |
-
calendar: {
|
29 |
-
sameDay: '[اليوم على الساعة] LT',
|
30 |
-
nextDay: '[غدا على الساعة] LT',
|
31 |
-
nextWeek: 'dddd [على الساعة] LT',
|
32 |
-
lastDay: '[أمس على الساعة] LT',
|
33 |
-
lastWeek: 'dddd [على الساعة] LT',
|
34 |
-
sameElse: 'L'
|
35 |
-
},
|
36 |
-
relativeTime: {
|
37 |
-
future: 'في %s',
|
38 |
-
past: 'منذ %s',
|
39 |
-
s: 'ثوان',
|
40 |
-
m: 'دقيقة',
|
41 |
-
mm: '%d دقائق',
|
42 |
-
h: 'ساعة',
|
43 |
-
hh: '%d ساعات',
|
44 |
-
d: 'يوم',
|
45 |
-
dd: '%d أيام',
|
46 |
-
M: 'شهر',
|
47 |
-
MM: '%d أشهر',
|
48 |
-
y: 'سنة',
|
49 |
-
yy: '%d سنوات'
|
50 |
-
},
|
51 |
-
week: {
|
52 |
-
dow: 1, // Monday is the first day of the week.
|
53 |
-
doy: 4 // The week that contains Jan 4th is the first week of the year.
|
54 |
-
}
|
55 |
-
});
|
56 |
-
|
57 |
-
return ar_tn;
|
58 |
-
|
59 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})});
|
|
@@ -1,137 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Arabic [ar]
|
3 |
-
//! author : Abdel Said: https://github.com/abdelsaid
|
4 |
-
//! author : Ahmed Elkhatib
|
5 |
-
//! author : forabi https://github.com/forabi
|
6 |
-
|
7 |
-
;(function (global, factory) {
|
8 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
9 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
10 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
11 |
-
factory(global.moment)
|
12 |
-
}(this, function (moment) { 'use strict';
|
13 |
-
|
14 |
-
|
15 |
-
var symbolMap = {
|
16 |
-
'1': '١',
|
17 |
-
'2': '٢',
|
18 |
-
'3': '٣',
|
19 |
-
'4': '٤',
|
20 |
-
'5': '٥',
|
21 |
-
'6': '٦',
|
22 |
-
'7': '٧',
|
23 |
-
'8': '٨',
|
24 |
-
'9': '٩',
|
25 |
-
'0': '٠'
|
26 |
-
}, numberMap = {
|
27 |
-
'١': '1',
|
28 |
-
'٢': '2',
|
29 |
-
'٣': '3',
|
30 |
-
'٤': '4',
|
31 |
-
'٥': '5',
|
32 |
-
'٦': '6',
|
33 |
-
'٧': '7',
|
34 |
-
'٨': '8',
|
35 |
-
'٩': '9',
|
36 |
-
'٠': '0'
|
37 |
-
}, pluralForm = function (n) {
|
38 |
-
return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
|
39 |
-
}, plurals = {
|
40 |
-
s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
|
41 |
-
m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
|
42 |
-
h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
|
43 |
-
d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
|
44 |
-
M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
|
45 |
-
y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
|
46 |
-
}, pluralize = function (u) {
|
47 |
-
return function (number, withoutSuffix, string, isFuture) {
|
48 |
-
var f = pluralForm(number),
|
49 |
-
str = plurals[u][pluralForm(number)];
|
50 |
-
if (f === 2) {
|
51 |
-
str = str[withoutSuffix ? 0 : 1];
|
52 |
-
}
|
53 |
-
return str.replace(/%d/i, number);
|
54 |
-
};
|
55 |
-
}, months = [
|
56 |
-
'كانون الثاني يناير',
|
57 |
-
'شباط فبراير',
|
58 |
-
'آذار مارس',
|
59 |
-
'نيسان أبريل',
|
60 |
-
'أيار مايو',
|
61 |
-
'حزيران يونيو',
|
62 |
-
'تموز يوليو',
|
63 |
-
'آب أغسطس',
|
64 |
-
'أيلول سبتمبر',
|
65 |
-
'تشرين الأول أكتوبر',
|
66 |
-
'تشرين الثاني نوفمبر',
|
67 |
-
'كانون الأول ديسمبر'
|
68 |
-
];
|
69 |
-
|
70 |
-
var ar = moment.defineLocale('ar', {
|
71 |
-
months : months,
|
72 |
-
monthsShort : months,
|
73 |
-
weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
|
74 |
-
weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
|
75 |
-
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
|
76 |
-
weekdaysParseExact : true,
|
77 |
-
longDateFormat : {
|
78 |
-
LT : 'HH:mm',
|
79 |
-
LTS : 'HH:mm:ss',
|
80 |
-
L : 'D/\u200FM/\u200FYYYY',
|
81 |
-
LL : 'D MMMM YYYY',
|
82 |
-
LLL : 'D MMMM YYYY HH:mm',
|
83 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
84 |
-
},
|
85 |
-
meridiemParse: /ص|م/,
|
86 |
-
isPM : function (input) {
|
87 |
-
return 'م' === input;
|
88 |
-
},
|
89 |
-
meridiem : function (hour, minute, isLower) {
|
90 |
-
if (hour < 12) {
|
91 |
-
return 'ص';
|
92 |
-
} else {
|
93 |
-
return 'م';
|
94 |
-
}
|
95 |
-
},
|
96 |
-
calendar : {
|
97 |
-
sameDay: '[اليوم عند الساعة] LT',
|
98 |
-
nextDay: '[غدًا عند الساعة] LT',
|
99 |
-
nextWeek: 'dddd [عند الساعة] LT',
|
100 |
-
lastDay: '[أمس عند الساعة] LT',
|
101 |
-
lastWeek: 'dddd [عند الساعة] LT',
|
102 |
-
sameElse: 'L'
|
103 |
-
},
|
104 |
-
relativeTime : {
|
105 |
-
future : 'بعد %s',
|
106 |
-
past : 'منذ %s',
|
107 |
-
s : pluralize('s'),
|
108 |
-
m : pluralize('m'),
|
109 |
-
mm : pluralize('m'),
|
110 |
-
h : pluralize('h'),
|
111 |
-
hh : pluralize('h'),
|
112 |
-
d : pluralize('d'),
|
113 |
-
dd : pluralize('d'),
|
114 |
-
M : pluralize('M'),
|
115 |
-
MM : pluralize('M'),
|
116 |
-
y : pluralize('y'),
|
117 |
-
yy : pluralize('y')
|
118 |
-
},
|
119 |
-
preparse: function (string) {
|
120 |
-
return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
|
121 |
-
return numberMap[match];
|
122 |
-
}).replace(/،/g, ',');
|
123 |
-
},
|
124 |
-
postformat: function (string) {
|
125 |
-
return string.replace(/\d/g, function (match) {
|
126 |
-
return symbolMap[match];
|
127 |
-
}).replace(/,/g, '،');
|
128 |
-
},
|
129 |
-
week : {
|
130 |
-
dow : 6, // Saturday is the first day of the week.
|
131 |
-
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
132 |
-
}
|
133 |
-
});
|
134 |
-
|
135 |
-
return ar;
|
136 |
-
|
137 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,d){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?d(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],d):d(e.moment)}(this,function(e){"use strict";var d={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},t={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},i=function(e){return function(d,t,i,o){var a=n(d),m=r[e][n(d)];return 2===a&&(m=m[t?0:1]),m.replace(/%d/i,d)}},o=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];return e.defineLocale("ar",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,d,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:i("s"),m:i("m"),mm:i("m"),h:i("h"),hh:i("h"),d:i("d"),dd:i("d"),M:i("M"),MM:i("M"),y:i("y"),yy:i("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return t[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return d[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}})});
|
|
@@ -1,105 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Azerbaijani [az]
|
3 |
-
//! author : topchiyev : https://github.com/topchiyev
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var suffixes = {
|
14 |
-
1: '-inci',
|
15 |
-
5: '-inci',
|
16 |
-
8: '-inci',
|
17 |
-
70: '-inci',
|
18 |
-
80: '-inci',
|
19 |
-
2: '-nci',
|
20 |
-
7: '-nci',
|
21 |
-
20: '-nci',
|
22 |
-
50: '-nci',
|
23 |
-
3: '-üncü',
|
24 |
-
4: '-üncü',
|
25 |
-
100: '-üncü',
|
26 |
-
6: '-ncı',
|
27 |
-
9: '-uncu',
|
28 |
-
10: '-uncu',
|
29 |
-
30: '-uncu',
|
30 |
-
60: '-ıncı',
|
31 |
-
90: '-ıncı'
|
32 |
-
};
|
33 |
-
|
34 |
-
var az = moment.defineLocale('az', {
|
35 |
-
months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
|
36 |
-
monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
|
37 |
-
weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
|
38 |
-
weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
|
39 |
-
weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
|
40 |
-
weekdaysParseExact : true,
|
41 |
-
longDateFormat : {
|
42 |
-
LT : 'HH:mm',
|
43 |
-
LTS : 'HH:mm:ss',
|
44 |
-
L : 'DD.MM.YYYY',
|
45 |
-
LL : 'D MMMM YYYY',
|
46 |
-
LLL : 'D MMMM YYYY HH:mm',
|
47 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
48 |
-
},
|
49 |
-
calendar : {
|
50 |
-
sameDay : '[bugün saat] LT',
|
51 |
-
nextDay : '[sabah saat] LT',
|
52 |
-
nextWeek : '[gələn həftə] dddd [saat] LT',
|
53 |
-
lastDay : '[dünən] LT',
|
54 |
-
lastWeek : '[keçən həftə] dddd [saat] LT',
|
55 |
-
sameElse : 'L'
|
56 |
-
},
|
57 |
-
relativeTime : {
|
58 |
-
future : '%s sonra',
|
59 |
-
past : '%s əvvəl',
|
60 |
-
s : 'birneçə saniyyə',
|
61 |
-
m : 'bir dəqiqə',
|
62 |
-
mm : '%d dəqiqə',
|
63 |
-
h : 'bir saat',
|
64 |
-
hh : '%d saat',
|
65 |
-
d : 'bir gün',
|
66 |
-
dd : '%d gün',
|
67 |
-
M : 'bir ay',
|
68 |
-
MM : '%d ay',
|
69 |
-
y : 'bir il',
|
70 |
-
yy : '%d il'
|
71 |
-
},
|
72 |
-
meridiemParse: /gecə|səhər|gündüz|axşam/,
|
73 |
-
isPM : function (input) {
|
74 |
-
return /^(gündüz|axşam)$/.test(input);
|
75 |
-
},
|
76 |
-
meridiem : function (hour, minute, isLower) {
|
77 |
-
if (hour < 4) {
|
78 |
-
return 'gecə';
|
79 |
-
} else if (hour < 12) {
|
80 |
-
return 'səhər';
|
81 |
-
} else if (hour < 17) {
|
82 |
-
return 'gündüz';
|
83 |
-
} else {
|
84 |
-
return 'axşam';
|
85 |
-
}
|
86 |
-
},
|
87 |
-
ordinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
|
88 |
-
ordinal : function (number) {
|
89 |
-
if (number === 0) { // special case for zero
|
90 |
-
return number + '-ıncı';
|
91 |
-
}
|
92 |
-
var a = number % 10,
|
93 |
-
b = number % 100 - a,
|
94 |
-
c = number >= 100 ? 100 : null;
|
95 |
-
return number + (suffixes[a] || suffixes[b] || suffixes[c]);
|
96 |
-
},
|
97 |
-
week : {
|
98 |
-
dow : 1, // Monday is the first day of the week.
|
99 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
100 |
-
}
|
101 |
-
});
|
102 |
-
|
103 |
-
return az;
|
104 |
-
|
105 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(n,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(n.moment)}(this,function(n){"use strict";var a={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};return n.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(n){return/^(gündüz|axşam)$/.test(n)},meridiem:function(n,a,e){return n<4?"gecə":n<12?"səhər":n<17?"gündüz":"axşam"},ordinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(n){if(0===n)return n+"-ıncı";var e=n%10,i=n%100-e,t=n>=100?100:null;return n+(a[e]||a[i]||a[t])},week:{dow:1,doy:7}})});
|
|
@@ -1,134 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Belarusian [be]
|
3 |
-
//! author : Dmitry Demidov : https://github.com/demidov91
|
4 |
-
//! author: Praleska: http://praleska.pro/
|
5 |
-
//! Author : Menelion Elensúle : https://github.com/Oire
|
6 |
-
|
7 |
-
;(function (global, factory) {
|
8 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
9 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
10 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
11 |
-
factory(global.moment)
|
12 |
-
}(this, function (moment) { 'use strict';
|
13 |
-
|
14 |
-
|
15 |
-
function plural(word, num) {
|
16 |
-
var forms = word.split('_');
|
17 |
-
return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
|
18 |
-
}
|
19 |
-
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
20 |
-
var format = {
|
21 |
-
'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
|
22 |
-
'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
|
23 |
-
'dd': 'дзень_дні_дзён',
|
24 |
-
'MM': 'месяц_месяцы_месяцаў',
|
25 |
-
'yy': 'год_гады_гадоў'
|
26 |
-
};
|
27 |
-
if (key === 'm') {
|
28 |
-
return withoutSuffix ? 'хвіліна' : 'хвіліну';
|
29 |
-
}
|
30 |
-
else if (key === 'h') {
|
31 |
-
return withoutSuffix ? 'гадзіна' : 'гадзіну';
|
32 |
-
}
|
33 |
-
else {
|
34 |
-
return number + ' ' + plural(format[key], +number);
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
var be = moment.defineLocale('be', {
|
39 |
-
months : {
|
40 |
-
format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
|
41 |
-
standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
|
42 |
-
},
|
43 |
-
monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
|
44 |
-
weekdays : {
|
45 |
-
format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
|
46 |
-
standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
|
47 |
-
isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/
|
48 |
-
},
|
49 |
-
weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
|
50 |
-
weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
|
51 |
-
longDateFormat : {
|
52 |
-
LT : 'HH:mm',
|
53 |
-
LTS : 'HH:mm:ss',
|
54 |
-
L : 'DD.MM.YYYY',
|
55 |
-
LL : 'D MMMM YYYY г.',
|
56 |
-
LLL : 'D MMMM YYYY г., HH:mm',
|
57 |
-
LLLL : 'dddd, D MMMM YYYY г., HH:mm'
|
58 |
-
},
|
59 |
-
calendar : {
|
60 |
-
sameDay: '[Сёння ў] LT',
|
61 |
-
nextDay: '[Заўтра ў] LT',
|
62 |
-
lastDay: '[Учора ў] LT',
|
63 |
-
nextWeek: function () {
|
64 |
-
return '[У] dddd [ў] LT';
|
65 |
-
},
|
66 |
-
lastWeek: function () {
|
67 |
-
switch (this.day()) {
|
68 |
-
case 0:
|
69 |
-
case 3:
|
70 |
-
case 5:
|
71 |
-
case 6:
|
72 |
-
return '[У мінулую] dddd [ў] LT';
|
73 |
-
case 1:
|
74 |
-
case 2:
|
75 |
-
case 4:
|
76 |
-
return '[У мінулы] dddd [ў] LT';
|
77 |
-
}
|
78 |
-
},
|
79 |
-
sameElse: 'L'
|
80 |
-
},
|
81 |
-
relativeTime : {
|
82 |
-
future : 'праз %s',
|
83 |
-
past : '%s таму',
|
84 |
-
s : 'некалькі секунд',
|
85 |
-
m : relativeTimeWithPlural,
|
86 |
-
mm : relativeTimeWithPlural,
|
87 |
-
h : relativeTimeWithPlural,
|
88 |
-
hh : relativeTimeWithPlural,
|
89 |
-
d : 'дзень',
|
90 |
-
dd : relativeTimeWithPlural,
|
91 |
-
M : 'месяц',
|
92 |
-
MM : relativeTimeWithPlural,
|
93 |
-
y : 'год',
|
94 |
-
yy : relativeTimeWithPlural
|
95 |
-
},
|
96 |
-
meridiemParse: /ночы|раніцы|дня|вечара/,
|
97 |
-
isPM : function (input) {
|
98 |
-
return /^(дня|вечара)$/.test(input);
|
99 |
-
},
|
100 |
-
meridiem : function (hour, minute, isLower) {
|
101 |
-
if (hour < 4) {
|
102 |
-
return 'ночы';
|
103 |
-
} else if (hour < 12) {
|
104 |
-
return 'раніцы';
|
105 |
-
} else if (hour < 17) {
|
106 |
-
return 'дня';
|
107 |
-
} else {
|
108 |
-
return 'вечара';
|
109 |
-
}
|
110 |
-
},
|
111 |
-
ordinalParse: /\d{1,2}-(і|ы|га)/,
|
112 |
-
ordinal: function (number, period) {
|
113 |
-
switch (period) {
|
114 |
-
case 'M':
|
115 |
-
case 'd':
|
116 |
-
case 'DDD':
|
117 |
-
case 'w':
|
118 |
-
case 'W':
|
119 |
-
return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
|
120 |
-
case 'D':
|
121 |
-
return number + '-га';
|
122 |
-
default:
|
123 |
-
return number;
|
124 |
-
}
|
125 |
-
},
|
126 |
-
week : {
|
127 |
-
dow : 1, // Monday is the first day of the week.
|
128 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
129 |
-
}
|
130 |
-
});
|
131 |
-
|
132 |
-
return be;
|
133 |
-
|
134 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";function _(e,_){var t=e.split("_");return _%10==1&&_%100!=11?t[0]:_%10>=2&&_%10<=4&&(_%100<10||_%100>=20)?t[1]:t[2]}function t(e,t,n){var s={mm:t?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:t?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===n?t?"хвіліна":"хвіліну":"h"===n?t?"гадзіна":"гадзіну":e+" "+_(s[n],+e)}return e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:t,mm:t,h:t,hh:t,d:"дзень",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,_,t){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},ordinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,_){switch(_){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})});
|
|
@@ -1,90 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Bulgarian [bg]
|
3 |
-
//! author : Krasen Borisov : https://github.com/kraz
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var bg = moment.defineLocale('bg', {
|
14 |
-
months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
|
15 |
-
monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
|
16 |
-
weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
|
17 |
-
weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
|
18 |
-
weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'H:mm',
|
21 |
-
LTS : 'H:mm:ss',
|
22 |
-
L : 'D.MM.YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY H:mm',
|
25 |
-
LLLL : 'dddd, D MMMM YYYY H:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Днес в] LT',
|
29 |
-
nextDay : '[Утре в] LT',
|
30 |
-
nextWeek : 'dddd [в] LT',
|
31 |
-
lastDay : '[Вчера в] LT',
|
32 |
-
lastWeek : function () {
|
33 |
-
switch (this.day()) {
|
34 |
-
case 0:
|
35 |
-
case 3:
|
36 |
-
case 6:
|
37 |
-
return '[В изминалата] dddd [в] LT';
|
38 |
-
case 1:
|
39 |
-
case 2:
|
40 |
-
case 4:
|
41 |
-
case 5:
|
42 |
-
return '[В изминалия] dddd [в] LT';
|
43 |
-
}
|
44 |
-
},
|
45 |
-
sameElse : 'L'
|
46 |
-
},
|
47 |
-
relativeTime : {
|
48 |
-
future : 'след %s',
|
49 |
-
past : 'преди %s',
|
50 |
-
s : 'няколко секунди',
|
51 |
-
m : 'минута',
|
52 |
-
mm : '%d минути',
|
53 |
-
h : 'час',
|
54 |
-
hh : '%d часа',
|
55 |
-
d : 'ден',
|
56 |
-
dd : '%d дни',
|
57 |
-
M : 'месец',
|
58 |
-
MM : '%d месеца',
|
59 |
-
y : 'година',
|
60 |
-
yy : '%d години'
|
61 |
-
},
|
62 |
-
ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
|
63 |
-
ordinal : function (number) {
|
64 |
-
var lastDigit = number % 10,
|
65 |
-
last2Digits = number % 100;
|
66 |
-
if (number === 0) {
|
67 |
-
return number + '-ев';
|
68 |
-
} else if (last2Digits === 0) {
|
69 |
-
return number + '-ен';
|
70 |
-
} else if (last2Digits > 10 && last2Digits < 20) {
|
71 |
-
return number + '-ти';
|
72 |
-
} else if (lastDigit === 1) {
|
73 |
-
return number + '-ви';
|
74 |
-
} else if (lastDigit === 2) {
|
75 |
-
return number + '-ри';
|
76 |
-
} else if (lastDigit === 7 || lastDigit === 8) {
|
77 |
-
return number + '-ми';
|
78 |
-
} else {
|
79 |
-
return number + '-ти';
|
80 |
-
}
|
81 |
-
},
|
82 |
-
week : {
|
83 |
-
dow : 1, // Monday is the first day of the week.
|
84 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
85 |
-
}
|
86 |
-
});
|
87 |
-
|
88 |
-
return bg;
|
89 |
-
|
90 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var _=e%10,d=e%100;return 0===e?e+"-ев":0===d?e+"-ен":d>10&&d<20?e+"-ти":1===_?e+"-ви":2===_?e+"-ри":7===_||8===_?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})});
|
|
@@ -1,119 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Bengali [bn]
|
3 |
-
//! author : Kaushik Gandhi : https://github.com/kaushikgandhi
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var symbolMap = {
|
14 |
-
'1': '১',
|
15 |
-
'2': '২',
|
16 |
-
'3': '৩',
|
17 |
-
'4': '৪',
|
18 |
-
'5': '৫',
|
19 |
-
'6': '৬',
|
20 |
-
'7': '৭',
|
21 |
-
'8': '৮',
|
22 |
-
'9': '৯',
|
23 |
-
'0': '০'
|
24 |
-
},
|
25 |
-
numberMap = {
|
26 |
-
'১': '1',
|
27 |
-
'২': '2',
|
28 |
-
'৩': '3',
|
29 |
-
'৪': '4',
|
30 |
-
'৫': '5',
|
31 |
-
'৬': '6',
|
32 |
-
'৭': '7',
|
33 |
-
'৮': '8',
|
34 |
-
'৯': '9',
|
35 |
-
'০': '0'
|
36 |
-
};
|
37 |
-
|
38 |
-
var bn = moment.defineLocale('bn', {
|
39 |
-
months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
|
40 |
-
monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
|
41 |
-
weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
|
42 |
-
weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
|
43 |
-
weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
|
44 |
-
longDateFormat : {
|
45 |
-
LT : 'A h:mm সময়',
|
46 |
-
LTS : 'A h:mm:ss সময়',
|
47 |
-
L : 'DD/MM/YYYY',
|
48 |
-
LL : 'D MMMM YYYY',
|
49 |
-
LLL : 'D MMMM YYYY, A h:mm সময়',
|
50 |
-
LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
|
51 |
-
},
|
52 |
-
calendar : {
|
53 |
-
sameDay : '[আজ] LT',
|
54 |
-
nextDay : '[আগামীকাল] LT',
|
55 |
-
nextWeek : 'dddd, LT',
|
56 |
-
lastDay : '[গতকাল] LT',
|
57 |
-
lastWeek : '[গত] dddd, LT',
|
58 |
-
sameElse : 'L'
|
59 |
-
},
|
60 |
-
relativeTime : {
|
61 |
-
future : '%s পরে',
|
62 |
-
past : '%s আগে',
|
63 |
-
s : 'কয়েক সেকেন্ড',
|
64 |
-
m : 'এক মিনিট',
|
65 |
-
mm : '%d মিনিট',
|
66 |
-
h : 'এক ঘন্টা',
|
67 |
-
hh : '%d ঘন্টা',
|
68 |
-
d : 'এক দিন',
|
69 |
-
dd : '%d দিন',
|
70 |
-
M : 'এক মাস',
|
71 |
-
MM : '%d মাস',
|
72 |
-
y : 'এক বছর',
|
73 |
-
yy : '%d বছর'
|
74 |
-
},
|
75 |
-
preparse: function (string) {
|
76 |
-
return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
|
77 |
-
return numberMap[match];
|
78 |
-
});
|
79 |
-
},
|
80 |
-
postformat: function (string) {
|
81 |
-
return string.replace(/\d/g, function (match) {
|
82 |
-
return symbolMap[match];
|
83 |
-
});
|
84 |
-
},
|
85 |
-
meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
|
86 |
-
meridiemHour : function (hour, meridiem) {
|
87 |
-
if (hour === 12) {
|
88 |
-
hour = 0;
|
89 |
-
}
|
90 |
-
if ((meridiem === 'রাত' && hour >= 4) ||
|
91 |
-
(meridiem === 'দুপুর' && hour < 5) ||
|
92 |
-
meridiem === 'বিকাল') {
|
93 |
-
return hour + 12;
|
94 |
-
} else {
|
95 |
-
return hour;
|
96 |
-
}
|
97 |
-
},
|
98 |
-
meridiem : function (hour, minute, isLower) {
|
99 |
-
if (hour < 4) {
|
100 |
-
return 'রাত';
|
101 |
-
} else if (hour < 10) {
|
102 |
-
return 'সকাল';
|
103 |
-
} else if (hour < 17) {
|
104 |
-
return 'দুপুর';
|
105 |
-
} else if (hour < 20) {
|
106 |
-
return 'বিকাল';
|
107 |
-
} else {
|
108 |
-
return 'রাত';
|
109 |
-
}
|
110 |
-
},
|
111 |
-
week : {
|
112 |
-
dow : 0, // Sunday is the first day of the week.
|
113 |
-
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
114 |
-
}
|
115 |
-
});
|
116 |
-
|
117 |
-
return bn;
|
118 |
-
|
119 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},_={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};return e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return _[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,_){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})});
|
|
@@ -1,119 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Tibetan [bo]
|
3 |
-
//! author : Thupten N. Chakrishar : https://github.com/vajradog
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var symbolMap = {
|
14 |
-
'1': '༡',
|
15 |
-
'2': '༢',
|
16 |
-
'3': '༣',
|
17 |
-
'4': '༤',
|
18 |
-
'5': '༥',
|
19 |
-
'6': '༦',
|
20 |
-
'7': '༧',
|
21 |
-
'8': '༨',
|
22 |
-
'9': '༩',
|
23 |
-
'0': '༠'
|
24 |
-
},
|
25 |
-
numberMap = {
|
26 |
-
'༡': '1',
|
27 |
-
'༢': '2',
|
28 |
-
'༣': '3',
|
29 |
-
'༤': '4',
|
30 |
-
'༥': '5',
|
31 |
-
'༦': '6',
|
32 |
-
'༧': '7',
|
33 |
-
'༨': '8',
|
34 |
-
'༩': '9',
|
35 |
-
'༠': '0'
|
36 |
-
};
|
37 |
-
|
38 |
-
var bo = moment.defineLocale('bo', {
|
39 |
-
months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
|
40 |
-
monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
|
41 |
-
weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
|
42 |
-
weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
|
43 |
-
weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
|
44 |
-
longDateFormat : {
|
45 |
-
LT : 'A h:mm',
|
46 |
-
LTS : 'A h:mm:ss',
|
47 |
-
L : 'DD/MM/YYYY',
|
48 |
-
LL : 'D MMMM YYYY',
|
49 |
-
LLL : 'D MMMM YYYY, A h:mm',
|
50 |
-
LLLL : 'dddd, D MMMM YYYY, A h:mm'
|
51 |
-
},
|
52 |
-
calendar : {
|
53 |
-
sameDay : '[དི་རིང] LT',
|
54 |
-
nextDay : '[སང་ཉིན] LT',
|
55 |
-
nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
|
56 |
-
lastDay : '[ཁ་སང] LT',
|
57 |
-
lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
|
58 |
-
sameElse : 'L'
|
59 |
-
},
|
60 |
-
relativeTime : {
|
61 |
-
future : '%s ལ་',
|
62 |
-
past : '%s སྔན་ལ',
|
63 |
-
s : 'ལམ་སང',
|
64 |
-
m : 'སྐར་མ་གཅིག',
|
65 |
-
mm : '%d སྐར་མ',
|
66 |
-
h : 'ཆུ་ཚོད་གཅིག',
|
67 |
-
hh : '%d ཆུ་ཚོད',
|
68 |
-
d : 'ཉིན་གཅིག',
|
69 |
-
dd : '%d ཉིན་',
|
70 |
-
M : 'ཟླ་བ་གཅིག',
|
71 |
-
MM : '%d ཟླ་བ',
|
72 |
-
y : 'ལོ་གཅིག',
|
73 |
-
yy : '%d ལོ'
|
74 |
-
},
|
75 |
-
preparse: function (string) {
|
76 |
-
return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
|
77 |
-
return numberMap[match];
|
78 |
-
});
|
79 |
-
},
|
80 |
-
postformat: function (string) {
|
81 |
-
return string.replace(/\d/g, function (match) {
|
82 |
-
return symbolMap[match];
|
83 |
-
});
|
84 |
-
},
|
85 |
-
meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
|
86 |
-
meridiemHour : function (hour, meridiem) {
|
87 |
-
if (hour === 12) {
|
88 |
-
hour = 0;
|
89 |
-
}
|
90 |
-
if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
|
91 |
-
(meridiem === 'ཉིན་གུང' && hour < 5) ||
|
92 |
-
meridiem === 'དགོང་དག') {
|
93 |
-
return hour + 12;
|
94 |
-
} else {
|
95 |
-
return hour;
|
96 |
-
}
|
97 |
-
},
|
98 |
-
meridiem : function (hour, minute, isLower) {
|
99 |
-
if (hour < 4) {
|
100 |
-
return 'མཚན་མོ';
|
101 |
-
} else if (hour < 10) {
|
102 |
-
return 'ཞོགས་ཀས';
|
103 |
-
} else if (hour < 17) {
|
104 |
-
return 'ཉིན་གུང';
|
105 |
-
} else if (hour < 20) {
|
106 |
-
return 'དགོང་དག';
|
107 |
-
} else {
|
108 |
-
return 'མཚན་མོ';
|
109 |
-
}
|
110 |
-
},
|
111 |
-
week : {
|
112 |
-
dow : 0, // Sunday is the first day of the week.
|
113 |
-
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
114 |
-
}
|
115 |
-
});
|
116 |
-
|
117 |
-
return bo;
|
118 |
-
|
119 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";var t={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},_={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};return e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return _[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,_){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})});
|
|
@@ -1,108 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Breton [br]
|
3 |
-
//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
function relativeTimeWithMutation(number, withoutSuffix, key) {
|
14 |
-
var format = {
|
15 |
-
'mm': 'munutenn',
|
16 |
-
'MM': 'miz',
|
17 |
-
'dd': 'devezh'
|
18 |
-
};
|
19 |
-
return number + ' ' + mutation(format[key], number);
|
20 |
-
}
|
21 |
-
function specialMutationForYears(number) {
|
22 |
-
switch (lastNumber(number)) {
|
23 |
-
case 1:
|
24 |
-
case 3:
|
25 |
-
case 4:
|
26 |
-
case 5:
|
27 |
-
case 9:
|
28 |
-
return number + ' bloaz';
|
29 |
-
default:
|
30 |
-
return number + ' vloaz';
|
31 |
-
}
|
32 |
-
}
|
33 |
-
function lastNumber(number) {
|
34 |
-
if (number > 9) {
|
35 |
-
return lastNumber(number % 10);
|
36 |
-
}
|
37 |
-
return number;
|
38 |
-
}
|
39 |
-
function mutation(text, number) {
|
40 |
-
if (number === 2) {
|
41 |
-
return softMutation(text);
|
42 |
-
}
|
43 |
-
return text;
|
44 |
-
}
|
45 |
-
function softMutation(text) {
|
46 |
-
var mutationTable = {
|
47 |
-
'm': 'v',
|
48 |
-
'b': 'v',
|
49 |
-
'd': 'z'
|
50 |
-
};
|
51 |
-
if (mutationTable[text.charAt(0)] === undefined) {
|
52 |
-
return text;
|
53 |
-
}
|
54 |
-
return mutationTable[text.charAt(0)] + text.substring(1);
|
55 |
-
}
|
56 |
-
|
57 |
-
var br = moment.defineLocale('br', {
|
58 |
-
months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
|
59 |
-
monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
|
60 |
-
weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
|
61 |
-
weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
|
62 |
-
weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
|
63 |
-
weekdaysParseExact : true,
|
64 |
-
longDateFormat : {
|
65 |
-
LT : 'h[e]mm A',
|
66 |
-
LTS : 'h[e]mm:ss A',
|
67 |
-
L : 'DD/MM/YYYY',
|
68 |
-
LL : 'D [a viz] MMMM YYYY',
|
69 |
-
LLL : 'D [a viz] MMMM YYYY h[e]mm A',
|
70 |
-
LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
|
71 |
-
},
|
72 |
-
calendar : {
|
73 |
-
sameDay : '[Hiziv da] LT',
|
74 |
-
nextDay : '[Warc\'hoazh da] LT',
|
75 |
-
nextWeek : 'dddd [da] LT',
|
76 |
-
lastDay : '[Dec\'h da] LT',
|
77 |
-
lastWeek : 'dddd [paset da] LT',
|
78 |
-
sameElse : 'L'
|
79 |
-
},
|
80 |
-
relativeTime : {
|
81 |
-
future : 'a-benn %s',
|
82 |
-
past : '%s \'zo',
|
83 |
-
s : 'un nebeud segondennoù',
|
84 |
-
m : 'ur vunutenn',
|
85 |
-
mm : relativeTimeWithMutation,
|
86 |
-
h : 'un eur',
|
87 |
-
hh : '%d eur',
|
88 |
-
d : 'un devezh',
|
89 |
-
dd : relativeTimeWithMutation,
|
90 |
-
M : 'ur miz',
|
91 |
-
MM : relativeTimeWithMutation,
|
92 |
-
y : 'ur bloaz',
|
93 |
-
yy : specialMutationForYears
|
94 |
-
},
|
95 |
-
ordinalParse: /\d{1,2}(añ|vet)/,
|
96 |
-
ordinal : function (number) {
|
97 |
-
var output = (number === 1) ? 'añ' : 'vet';
|
98 |
-
return number + output;
|
99 |
-
},
|
100 |
-
week : {
|
101 |
-
dow : 1, // Monday is the first day of the week.
|
102 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
103 |
-
}
|
104 |
-
});
|
105 |
-
|
106 |
-
return br;
|
107 |
-
|
108 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";function n(e,n,r){return e+" "+t({mm:"munutenn",MM:"miz",dd:"devezh"}[r],e)}function r(e){return e>9?r(e%10):e}function t(e,n){return 2===n?a(e):e}function a(e){var n={m:"v",b:"v",d:"z"};return void 0===n[e.charAt(0)]?e:n[e.charAt(0)]+e.substring(1)}return e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:n,h:"un eur",hh:"%d eur",d:"un devezh",dd:n,M:"ur miz",MM:n,y:"ur bloaz",yy:function(e){switch(r(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},ordinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){return e+(1===e?"añ":"vet")},week:{dow:1,doy:4}})});
|
|
@@ -1,143 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Bosnian [bs]
|
3 |
-
//! author : Nedim Cholich : https://github.com/frontyard
|
4 |
-
//! based on (hr) translation by Bojan Marković
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
function translate(number, withoutSuffix, key) {
|
15 |
-
var result = number + ' ';
|
16 |
-
switch (key) {
|
17 |
-
case 'm':
|
18 |
-
return withoutSuffix ? 'jedna minuta' : 'jedne minute';
|
19 |
-
case 'mm':
|
20 |
-
if (number === 1) {
|
21 |
-
result += 'minuta';
|
22 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
23 |
-
result += 'minute';
|
24 |
-
} else {
|
25 |
-
result += 'minuta';
|
26 |
-
}
|
27 |
-
return result;
|
28 |
-
case 'h':
|
29 |
-
return withoutSuffix ? 'jedan sat' : 'jednog sata';
|
30 |
-
case 'hh':
|
31 |
-
if (number === 1) {
|
32 |
-
result += 'sat';
|
33 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
34 |
-
result += 'sata';
|
35 |
-
} else {
|
36 |
-
result += 'sati';
|
37 |
-
}
|
38 |
-
return result;
|
39 |
-
case 'dd':
|
40 |
-
if (number === 1) {
|
41 |
-
result += 'dan';
|
42 |
-
} else {
|
43 |
-
result += 'dana';
|
44 |
-
}
|
45 |
-
return result;
|
46 |
-
case 'MM':
|
47 |
-
if (number === 1) {
|
48 |
-
result += 'mjesec';
|
49 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
50 |
-
result += 'mjeseca';
|
51 |
-
} else {
|
52 |
-
result += 'mjeseci';
|
53 |
-
}
|
54 |
-
return result;
|
55 |
-
case 'yy':
|
56 |
-
if (number === 1) {
|
57 |
-
result += 'godina';
|
58 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
59 |
-
result += 'godine';
|
60 |
-
} else {
|
61 |
-
result += 'godina';
|
62 |
-
}
|
63 |
-
return result;
|
64 |
-
}
|
65 |
-
}
|
66 |
-
|
67 |
-
var bs = moment.defineLocale('bs', {
|
68 |
-
months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
|
69 |
-
monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
|
70 |
-
monthsParseExact: true,
|
71 |
-
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
|
72 |
-
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
|
73 |
-
weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
|
74 |
-
weekdaysParseExact : true,
|
75 |
-
longDateFormat : {
|
76 |
-
LT : 'H:mm',
|
77 |
-
LTS : 'H:mm:ss',
|
78 |
-
L : 'DD.MM.YYYY',
|
79 |
-
LL : 'D. MMMM YYYY',
|
80 |
-
LLL : 'D. MMMM YYYY H:mm',
|
81 |
-
LLLL : 'dddd, D. MMMM YYYY H:mm'
|
82 |
-
},
|
83 |
-
calendar : {
|
84 |
-
sameDay : '[danas u] LT',
|
85 |
-
nextDay : '[sutra u] LT',
|
86 |
-
nextWeek : function () {
|
87 |
-
switch (this.day()) {
|
88 |
-
case 0:
|
89 |
-
return '[u] [nedjelju] [u] LT';
|
90 |
-
case 3:
|
91 |
-
return '[u] [srijedu] [u] LT';
|
92 |
-
case 6:
|
93 |
-
return '[u] [subotu] [u] LT';
|
94 |
-
case 1:
|
95 |
-
case 2:
|
96 |
-
case 4:
|
97 |
-
case 5:
|
98 |
-
return '[u] dddd [u] LT';
|
99 |
-
}
|
100 |
-
},
|
101 |
-
lastDay : '[jučer u] LT',
|
102 |
-
lastWeek : function () {
|
103 |
-
switch (this.day()) {
|
104 |
-
case 0:
|
105 |
-
case 3:
|
106 |
-
return '[prošlu] dddd [u] LT';
|
107 |
-
case 6:
|
108 |
-
return '[prošle] [subote] [u] LT';
|
109 |
-
case 1:
|
110 |
-
case 2:
|
111 |
-
case 4:
|
112 |
-
case 5:
|
113 |
-
return '[prošli] dddd [u] LT';
|
114 |
-
}
|
115 |
-
},
|
116 |
-
sameElse : 'L'
|
117 |
-
},
|
118 |
-
relativeTime : {
|
119 |
-
future : 'za %s',
|
120 |
-
past : 'prije %s',
|
121 |
-
s : 'par sekundi',
|
122 |
-
m : translate,
|
123 |
-
mm : translate,
|
124 |
-
h : translate,
|
125 |
-
hh : translate,
|
126 |
-
d : 'dan',
|
127 |
-
dd : translate,
|
128 |
-
M : 'mjesec',
|
129 |
-
MM : translate,
|
130 |
-
y : 'godinu',
|
131 |
-
yy : translate
|
132 |
-
},
|
133 |
-
ordinalParse: /\d{1,2}\./,
|
134 |
-
ordinal : '%d.',
|
135 |
-
week : {
|
136 |
-
dow : 1, // Monday is the first day of the week.
|
137 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
138 |
-
}
|
139 |
-
});
|
140 |
-
|
141 |
-
return bs;
|
142 |
-
|
143 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";function a(e,a,t){var s=e+" ";switch(t){case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}return e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:a,mm:a,h:a,hh:a,d:"dan",dd:a,M:"mjesec",MM:a,y:"godinu",yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})});
|
|
@@ -1,81 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Catalan [ca]
|
3 |
-
//! author : Juan G. Hurtado : https://github.com/juanghurtado
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var ca = moment.defineLocale('ca', {
|
14 |
-
months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
|
15 |
-
monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.'.split('_'),
|
16 |
-
monthsParseExact : true,
|
17 |
-
weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
|
18 |
-
weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
|
19 |
-
weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'H:mm',
|
23 |
-
LTS : 'H:mm:ss',
|
24 |
-
L : 'DD/MM/YYYY',
|
25 |
-
LL : 'D MMMM YYYY',
|
26 |
-
LLL : 'D MMMM YYYY H:mm',
|
27 |
-
LLLL : 'dddd D MMMM YYYY H:mm'
|
28 |
-
},
|
29 |
-
calendar : {
|
30 |
-
sameDay : function () {
|
31 |
-
return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
32 |
-
},
|
33 |
-
nextDay : function () {
|
34 |
-
return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
35 |
-
},
|
36 |
-
nextWeek : function () {
|
37 |
-
return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
38 |
-
},
|
39 |
-
lastDay : function () {
|
40 |
-
return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
41 |
-
},
|
42 |
-
lastWeek : function () {
|
43 |
-
return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
|
44 |
-
},
|
45 |
-
sameElse : 'L'
|
46 |
-
},
|
47 |
-
relativeTime : {
|
48 |
-
future : 'en %s',
|
49 |
-
past : 'fa %s',
|
50 |
-
s : 'uns segons',
|
51 |
-
m : 'un minut',
|
52 |
-
mm : '%d minuts',
|
53 |
-
h : 'una hora',
|
54 |
-
hh : '%d hores',
|
55 |
-
d : 'un dia',
|
56 |
-
dd : '%d dies',
|
57 |
-
M : 'un mes',
|
58 |
-
MM : '%d mesos',
|
59 |
-
y : 'un any',
|
60 |
-
yy : '%d anys'
|
61 |
-
},
|
62 |
-
ordinalParse: /\d{1,2}(r|n|t|è|a)/,
|
63 |
-
ordinal : function (number, period) {
|
64 |
-
var output = (number === 1) ? 'r' :
|
65 |
-
(number === 2) ? 'n' :
|
66 |
-
(number === 3) ? 'r' :
|
67 |
-
(number === 4) ? 't' : 'è';
|
68 |
-
if (period === 'w' || period === 'W') {
|
69 |
-
output = 'a';
|
70 |
-
}
|
71 |
-
return number + output;
|
72 |
-
},
|
73 |
-
week : {
|
74 |
-
dow : 1, // Monday is the first day of the week.
|
75 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
76 |
-
}
|
77 |
-
});
|
78 |
-
|
79 |
-
return ca;
|
80 |
-
|
81 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,s){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?s(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],s):s(e.moment)}(this,function(e){"use strict";return e.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,s){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==s&&"W"!==s||(n="a"),e+n},week:{dow:1,doy:4}})});
|
|
@@ -1,172 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Czech [cs]
|
3 |
-
//! author : petrbela : https://github.com/petrbela
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
|
14 |
-
monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
|
15 |
-
function plural(n) {
|
16 |
-
return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
|
17 |
-
}
|
18 |
-
function translate(number, withoutSuffix, key, isFuture) {
|
19 |
-
var result = number + ' ';
|
20 |
-
switch (key) {
|
21 |
-
case 's': // a few seconds / in a few seconds / a few seconds ago
|
22 |
-
return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
|
23 |
-
case 'm': // a minute / in a minute / a minute ago
|
24 |
-
return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
|
25 |
-
case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
|
26 |
-
if (withoutSuffix || isFuture) {
|
27 |
-
return result + (plural(number) ? 'minuty' : 'minut');
|
28 |
-
} else {
|
29 |
-
return result + 'minutami';
|
30 |
-
}
|
31 |
-
break;
|
32 |
-
case 'h': // an hour / in an hour / an hour ago
|
33 |
-
return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
|
34 |
-
case 'hh': // 9 hours / in 9 hours / 9 hours ago
|
35 |
-
if (withoutSuffix || isFuture) {
|
36 |
-
return result + (plural(number) ? 'hodiny' : 'hodin');
|
37 |
-
} else {
|
38 |
-
return result + 'hodinami';
|
39 |
-
}
|
40 |
-
break;
|
41 |
-
case 'd': // a day / in a day / a day ago
|
42 |
-
return (withoutSuffix || isFuture) ? 'den' : 'dnem';
|
43 |
-
case 'dd': // 9 days / in 9 days / 9 days ago
|
44 |
-
if (withoutSuffix || isFuture) {
|
45 |
-
return result + (plural(number) ? 'dny' : 'dní');
|
46 |
-
} else {
|
47 |
-
return result + 'dny';
|
48 |
-
}
|
49 |
-
break;
|
50 |
-
case 'M': // a month / in a month / a month ago
|
51 |
-
return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
|
52 |
-
case 'MM': // 9 months / in 9 months / 9 months ago
|
53 |
-
if (withoutSuffix || isFuture) {
|
54 |
-
return result + (plural(number) ? 'měsíce' : 'měsíců');
|
55 |
-
} else {
|
56 |
-
return result + 'měsíci';
|
57 |
-
}
|
58 |
-
break;
|
59 |
-
case 'y': // a year / in a year / a year ago
|
60 |
-
return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
|
61 |
-
case 'yy': // 9 years / in 9 years / 9 years ago
|
62 |
-
if (withoutSuffix || isFuture) {
|
63 |
-
return result + (plural(number) ? 'roky' : 'let');
|
64 |
-
} else {
|
65 |
-
return result + 'lety';
|
66 |
-
}
|
67 |
-
break;
|
68 |
-
}
|
69 |
-
}
|
70 |
-
|
71 |
-
var cs = moment.defineLocale('cs', {
|
72 |
-
months : months,
|
73 |
-
monthsShort : monthsShort,
|
74 |
-
monthsParse : (function (months, monthsShort) {
|
75 |
-
var i, _monthsParse = [];
|
76 |
-
for (i = 0; i < 12; i++) {
|
77 |
-
// use custom parser to solve problem with July (červenec)
|
78 |
-
_monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
|
79 |
-
}
|
80 |
-
return _monthsParse;
|
81 |
-
}(months, monthsShort)),
|
82 |
-
shortMonthsParse : (function (monthsShort) {
|
83 |
-
var i, _shortMonthsParse = [];
|
84 |
-
for (i = 0; i < 12; i++) {
|
85 |
-
_shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');
|
86 |
-
}
|
87 |
-
return _shortMonthsParse;
|
88 |
-
}(monthsShort)),
|
89 |
-
longMonthsParse : (function (months) {
|
90 |
-
var i, _longMonthsParse = [];
|
91 |
-
for (i = 0; i < 12; i++) {
|
92 |
-
_longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');
|
93 |
-
}
|
94 |
-
return _longMonthsParse;
|
95 |
-
}(months)),
|
96 |
-
weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
|
97 |
-
weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
|
98 |
-
weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
|
99 |
-
longDateFormat : {
|
100 |
-
LT: 'H:mm',
|
101 |
-
LTS : 'H:mm:ss',
|
102 |
-
L : 'DD.MM.YYYY',
|
103 |
-
LL : 'D. MMMM YYYY',
|
104 |
-
LLL : 'D. MMMM YYYY H:mm',
|
105 |
-
LLLL : 'dddd D. MMMM YYYY H:mm',
|
106 |
-
l : 'D. M. YYYY'
|
107 |
-
},
|
108 |
-
calendar : {
|
109 |
-
sameDay: '[dnes v] LT',
|
110 |
-
nextDay: '[zítra v] LT',
|
111 |
-
nextWeek: function () {
|
112 |
-
switch (this.day()) {
|
113 |
-
case 0:
|
114 |
-
return '[v neděli v] LT';
|
115 |
-
case 1:
|
116 |
-
case 2:
|
117 |
-
return '[v] dddd [v] LT';
|
118 |
-
case 3:
|
119 |
-
return '[ve středu v] LT';
|
120 |
-
case 4:
|
121 |
-
return '[ve čtvrtek v] LT';
|
122 |
-
case 5:
|
123 |
-
return '[v pátek v] LT';
|
124 |
-
case 6:
|
125 |
-
return '[v sobotu v] LT';
|
126 |
-
}
|
127 |
-
},
|
128 |
-
lastDay: '[včera v] LT',
|
129 |
-
lastWeek: function () {
|
130 |
-
switch (this.day()) {
|
131 |
-
case 0:
|
132 |
-
return '[minulou neděli v] LT';
|
133 |
-
case 1:
|
134 |
-
case 2:
|
135 |
-
return '[minulé] dddd [v] LT';
|
136 |
-
case 3:
|
137 |
-
return '[minulou středu v] LT';
|
138 |
-
case 4:
|
139 |
-
case 5:
|
140 |
-
return '[minulý] dddd [v] LT';
|
141 |
-
case 6:
|
142 |
-
return '[minulou sobotu v] LT';
|
143 |
-
}
|
144 |
-
},
|
145 |
-
sameElse: 'L'
|
146 |
-
},
|
147 |
-
relativeTime : {
|
148 |
-
future : 'za %s',
|
149 |
-
past : 'před %s',
|
150 |
-
s : translate,
|
151 |
-
m : translate,
|
152 |
-
mm : translate,
|
153 |
-
h : translate,
|
154 |
-
hh : translate,
|
155 |
-
d : translate,
|
156 |
-
dd : translate,
|
157 |
-
M : translate,
|
158 |
-
MM : translate,
|
159 |
-
y : translate,
|
160 |
-
yy : translate
|
161 |
-
},
|
162 |
-
ordinalParse : /\d{1,2}\./,
|
163 |
-
ordinal : '%d.',
|
164 |
-
week : {
|
165 |
-
dow : 1, // Monday is the first day of the week.
|
166 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
167 |
-
}
|
168 |
-
});
|
169 |
-
|
170 |
-
return cs;
|
171 |
-
|
172 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";function n(e){return e>1&&e<5&&1!=~~(e/10)}function t(e,t,r,s){var u=e+" ";switch(r){case"s":return t||s?"pár sekund":"pár sekundami";case"m":return t?"minuta":s?"minutu":"minutou";case"mm":return t||s?u+(n(e)?"minuty":"minut"):u+"minutami";case"h":return t?"hodina":s?"hodinu":"hodinou";case"hh":return t||s?u+(n(e)?"hodiny":"hodin"):u+"hodinami";case"d":return t||s?"den":"dnem";case"dd":return t||s?u+(n(e)?"dny":"dní"):u+"dny";case"M":return t||s?"měsíc":"měsícem";case"MM":return t||s?u+(n(e)?"měsíce":"měsíců"):u+"měsíci";case"y":return t||s?"rok":"rokem";case"yy":return t||s?u+(n(e)?"roky":"let"):u+"lety"}}var r="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),s="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");return e.defineLocale("cs",{months:r,monthsShort:s,monthsParse:function(e,n){var t,r=[];for(t=0;t<12;t++)r[t]=new RegExp("^"+e[t]+"$|^"+n[t]+"$","i");return r}(r,s),shortMonthsParse:function(e){var n,t=[];for(n=0;n<12;n++)t[n]=new RegExp("^"+e[n]+"$","i");return t}(s),longMonthsParse:function(e){var n,t=[];for(n=0;n<12;n++)t[n]=new RegExp("^"+e[n]+"$","i");return t}(r),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,63 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Chuvash [cv]
|
3 |
-
//! author : Anatoly Mironov : https://github.com/mirontoli
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var cv = moment.defineLocale('cv', {
|
14 |
-
months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
|
15 |
-
monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
|
16 |
-
weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
|
17 |
-
weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
|
18 |
-
weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'HH:mm',
|
21 |
-
LTS : 'HH:mm:ss',
|
22 |
-
L : 'DD-MM-YYYY',
|
23 |
-
LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
|
24 |
-
LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
|
25 |
-
LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay: '[Паян] LT [сехетре]',
|
29 |
-
nextDay: '[Ыран] LT [сехетре]',
|
30 |
-
lastDay: '[Ӗнер] LT [сехетре]',
|
31 |
-
nextWeek: '[Ҫитес] dddd LT [сехетре]',
|
32 |
-
lastWeek: '[Иртнӗ] dddd LT [сехетре]',
|
33 |
-
sameElse: 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : function (output) {
|
37 |
-
var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
|
38 |
-
return output + affix;
|
39 |
-
},
|
40 |
-
past : '%s каялла',
|
41 |
-
s : 'пӗр-ик ҫеккунт',
|
42 |
-
m : 'пӗр минут',
|
43 |
-
mm : '%d минут',
|
44 |
-
h : 'пӗр сехет',
|
45 |
-
hh : '%d сехет',
|
46 |
-
d : 'пӗр кун',
|
47 |
-
dd : '%d кун',
|
48 |
-
M : 'пӗр уйӑх',
|
49 |
-
MM : '%d уйӑх',
|
50 |
-
y : 'пӗр ҫул',
|
51 |
-
yy : '%d ҫул'
|
52 |
-
},
|
53 |
-
ordinalParse: /\d{1,2}-мӗш/,
|
54 |
-
ordinal : '%d-мӗш',
|
55 |
-
week : {
|
56 |
-
dow : 1, // Monday is the first day of the week.
|
57 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
58 |
-
}
|
59 |
-
});
|
60 |
-
|
61 |
-
return cv;
|
62 |
-
|
63 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){return e+(/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},ordinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})});
|
|
@@ -1,81 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Welsh [cy]
|
3 |
-
//! author : Robert Allen : https://github.com/robgallen
|
4 |
-
//! author : https://github.com/ryangreaves
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var cy = moment.defineLocale('cy', {
|
15 |
-
months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
|
16 |
-
monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
|
17 |
-
weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
|
18 |
-
weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
|
19 |
-
weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
// time formats are the same as en-gb
|
22 |
-
longDateFormat: {
|
23 |
-
LT: 'HH:mm',
|
24 |
-
LTS : 'HH:mm:ss',
|
25 |
-
L: 'DD/MM/YYYY',
|
26 |
-
LL: 'D MMMM YYYY',
|
27 |
-
LLL: 'D MMMM YYYY HH:mm',
|
28 |
-
LLLL: 'dddd, D MMMM YYYY HH:mm'
|
29 |
-
},
|
30 |
-
calendar: {
|
31 |
-
sameDay: '[Heddiw am] LT',
|
32 |
-
nextDay: '[Yfory am] LT',
|
33 |
-
nextWeek: 'dddd [am] LT',
|
34 |
-
lastDay: '[Ddoe am] LT',
|
35 |
-
lastWeek: 'dddd [diwethaf am] LT',
|
36 |
-
sameElse: 'L'
|
37 |
-
},
|
38 |
-
relativeTime: {
|
39 |
-
future: 'mewn %s',
|
40 |
-
past: '%s yn ôl',
|
41 |
-
s: 'ychydig eiliadau',
|
42 |
-
m: 'munud',
|
43 |
-
mm: '%d munud',
|
44 |
-
h: 'awr',
|
45 |
-
hh: '%d awr',
|
46 |
-
d: 'diwrnod',
|
47 |
-
dd: '%d diwrnod',
|
48 |
-
M: 'mis',
|
49 |
-
MM: '%d mis',
|
50 |
-
y: 'blwyddyn',
|
51 |
-
yy: '%d flynedd'
|
52 |
-
},
|
53 |
-
ordinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
|
54 |
-
// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
|
55 |
-
ordinal: function (number) {
|
56 |
-
var b = number,
|
57 |
-
output = '',
|
58 |
-
lookup = [
|
59 |
-
'', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
|
60 |
-
'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
|
61 |
-
];
|
62 |
-
if (b > 20) {
|
63 |
-
if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
|
64 |
-
output = 'fed'; // not 30ain, 70ain or 90ain
|
65 |
-
} else {
|
66 |
-
output = 'ain';
|
67 |
-
}
|
68 |
-
} else if (b > 0) {
|
69 |
-
output = lookup[b];
|
70 |
-
}
|
71 |
-
return number + output;
|
72 |
-
},
|
73 |
-
week : {
|
74 |
-
dow : 1, // Monday is the first day of the week.
|
75 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
76 |
-
}
|
77 |
-
});
|
78 |
-
|
79 |
-
return cy;
|
80 |
-
|
81 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,d){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?d(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],d):d(e.moment)}(this,function(e){"use strict";return e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var d=e,a="",n=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return d>20?a=40===d||50===d||60===d||80===d||100===d?"fed":"ain":d>0&&(a=n[d]),e+a},week:{dow:1,doy:4}})});
|
|
@@ -1,60 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Danish [da]
|
3 |
-
//! author : Ulrik Nielsen : https://github.com/mrbase
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var da = moment.defineLocale('da', {
|
14 |
-
months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
|
15 |
-
monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
|
16 |
-
weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
|
17 |
-
weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
|
18 |
-
weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'HH:mm',
|
21 |
-
LTS : 'HH:mm:ss',
|
22 |
-
L : 'DD/MM/YYYY',
|
23 |
-
LL : 'D. MMMM YYYY',
|
24 |
-
LLL : 'D. MMMM YYYY HH:mm',
|
25 |
-
LLLL : 'dddd [d.] D. MMMM YYYY HH:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[I dag kl.] LT',
|
29 |
-
nextDay : '[I morgen kl.] LT',
|
30 |
-
nextWeek : 'dddd [kl.] LT',
|
31 |
-
lastDay : '[I går kl.] LT',
|
32 |
-
lastWeek : '[sidste] dddd [kl] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'om %s',
|
37 |
-
past : '%s siden',
|
38 |
-
s : 'få sekunder',
|
39 |
-
m : 'et minut',
|
40 |
-
mm : '%d minutter',
|
41 |
-
h : 'en time',
|
42 |
-
hh : '%d timer',
|
43 |
-
d : 'en dag',
|
44 |
-
dd : '%d dage',
|
45 |
-
M : 'en måned',
|
46 |
-
MM : '%d måneder',
|
47 |
-
y : 'et år',
|
48 |
-
yy : '%d år'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}\./,
|
51 |
-
ordinal : '%d.',
|
52 |
-
week : {
|
53 |
-
dow : 1, // Monday is the first day of the week.
|
54 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
55 |
-
}
|
56 |
-
});
|
57 |
-
|
58 |
-
return da;
|
59 |
-
|
60 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,d){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?d(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],d):d(e.moment)}(this,function(e){"use strict";return e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,79 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : German (Austria) [de-at]
|
3 |
-
//! author : lluchs : https://github.com/lluchs
|
4 |
-
//! author: Menelion Elensúle: https://github.com/Oire
|
5 |
-
//! author : Martin Groller : https://github.com/MadMG
|
6 |
-
//! author : Mikolaj Dadela : https://github.com/mik01aj
|
7 |
-
|
8 |
-
;(function (global, factory) {
|
9 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
10 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
11 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
12 |
-
factory(global.moment)
|
13 |
-
}(this, function (moment) { 'use strict';
|
14 |
-
|
15 |
-
|
16 |
-
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
17 |
-
var format = {
|
18 |
-
'm': ['eine Minute', 'einer Minute'],
|
19 |
-
'h': ['eine Stunde', 'einer Stunde'],
|
20 |
-
'd': ['ein Tag', 'einem Tag'],
|
21 |
-
'dd': [number + ' Tage', number + ' Tagen'],
|
22 |
-
'M': ['ein Monat', 'einem Monat'],
|
23 |
-
'MM': [number + ' Monate', number + ' Monaten'],
|
24 |
-
'y': ['ein Jahr', 'einem Jahr'],
|
25 |
-
'yy': [number + ' Jahre', number + ' Jahren']
|
26 |
-
};
|
27 |
-
return withoutSuffix ? format[key][0] : format[key][1];
|
28 |
-
}
|
29 |
-
|
30 |
-
var de_at = moment.defineLocale('de-at', {
|
31 |
-
months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
32 |
-
monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
|
33 |
-
monthsParseExact : true,
|
34 |
-
weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
35 |
-
weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
|
36 |
-
weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
37 |
-
weekdaysParseExact : true,
|
38 |
-
longDateFormat : {
|
39 |
-
LT: 'HH:mm',
|
40 |
-
LTS: 'HH:mm:ss',
|
41 |
-
L : 'DD.MM.YYYY',
|
42 |
-
LL : 'D. MMMM YYYY',
|
43 |
-
LLL : 'D. MMMM YYYY HH:mm',
|
44 |
-
LLLL : 'dddd, D. MMMM YYYY HH:mm'
|
45 |
-
},
|
46 |
-
calendar : {
|
47 |
-
sameDay: '[heute um] LT [Uhr]',
|
48 |
-
sameElse: 'L',
|
49 |
-
nextDay: '[morgen um] LT [Uhr]',
|
50 |
-
nextWeek: 'dddd [um] LT [Uhr]',
|
51 |
-
lastDay: '[gestern um] LT [Uhr]',
|
52 |
-
lastWeek: '[letzten] dddd [um] LT [Uhr]'
|
53 |
-
},
|
54 |
-
relativeTime : {
|
55 |
-
future : 'in %s',
|
56 |
-
past : 'vor %s',
|
57 |
-
s : 'ein paar Sekunden',
|
58 |
-
m : processRelativeTime,
|
59 |
-
mm : '%d Minuten',
|
60 |
-
h : processRelativeTime,
|
61 |
-
hh : '%d Stunden',
|
62 |
-
d : processRelativeTime,
|
63 |
-
dd : processRelativeTime,
|
64 |
-
M : processRelativeTime,
|
65 |
-
MM : processRelativeTime,
|
66 |
-
y : processRelativeTime,
|
67 |
-
yy : processRelativeTime
|
68 |
-
},
|
69 |
-
ordinalParse: /\d{1,2}\./,
|
70 |
-
ordinal : '%d.',
|
71 |
-
week : {
|
72 |
-
dow : 1, // Monday is the first day of the week.
|
73 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
74 |
-
}
|
75 |
-
});
|
76 |
-
|
77 |
-
return de_at;
|
78 |
-
|
79 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";function n(e,n,t,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return n?r[t][0]:r[t][1]}return e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:n,mm:"%d Minuten",h:n,hh:"%d Stunden",d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,78 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : German [de]
|
3 |
-
//! author : lluchs : https://github.com/lluchs
|
4 |
-
//! author: Menelion Elensúle: https://github.com/Oire
|
5 |
-
//! author : Mikolaj Dadela : https://github.com/mik01aj
|
6 |
-
|
7 |
-
;(function (global, factory) {
|
8 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
9 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
10 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
11 |
-
factory(global.moment)
|
12 |
-
}(this, function (moment) { 'use strict';
|
13 |
-
|
14 |
-
|
15 |
-
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
16 |
-
var format = {
|
17 |
-
'm': ['eine Minute', 'einer Minute'],
|
18 |
-
'h': ['eine Stunde', 'einer Stunde'],
|
19 |
-
'd': ['ein Tag', 'einem Tag'],
|
20 |
-
'dd': [number + ' Tage', number + ' Tagen'],
|
21 |
-
'M': ['ein Monat', 'einem Monat'],
|
22 |
-
'MM': [number + ' Monate', number + ' Monaten'],
|
23 |
-
'y': ['ein Jahr', 'einem Jahr'],
|
24 |
-
'yy': [number + ' Jahre', number + ' Jahren']
|
25 |
-
};
|
26 |
-
return withoutSuffix ? format[key][0] : format[key][1];
|
27 |
-
}
|
28 |
-
|
29 |
-
var de = moment.defineLocale('de', {
|
30 |
-
months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
31 |
-
monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
|
32 |
-
monthsParseExact : true,
|
33 |
-
weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
|
34 |
-
weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
|
35 |
-
weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
|
36 |
-
weekdaysParseExact : true,
|
37 |
-
longDateFormat : {
|
38 |
-
LT: 'HH:mm',
|
39 |
-
LTS: 'HH:mm:ss',
|
40 |
-
L : 'DD.MM.YYYY',
|
41 |
-
LL : 'D. MMMM YYYY',
|
42 |
-
LLL : 'D. MMMM YYYY HH:mm',
|
43 |
-
LLLL : 'dddd, D. MMMM YYYY HH:mm'
|
44 |
-
},
|
45 |
-
calendar : {
|
46 |
-
sameDay: '[heute um] LT [Uhr]',
|
47 |
-
sameElse: 'L',
|
48 |
-
nextDay: '[morgen um] LT [Uhr]',
|
49 |
-
nextWeek: 'dddd [um] LT [Uhr]',
|
50 |
-
lastDay: '[gestern um] LT [Uhr]',
|
51 |
-
lastWeek: '[letzten] dddd [um] LT [Uhr]'
|
52 |
-
},
|
53 |
-
relativeTime : {
|
54 |
-
future : 'in %s',
|
55 |
-
past : 'vor %s',
|
56 |
-
s : 'ein paar Sekunden',
|
57 |
-
m : processRelativeTime,
|
58 |
-
mm : '%d Minuten',
|
59 |
-
h : processRelativeTime,
|
60 |
-
hh : '%d Stunden',
|
61 |
-
d : processRelativeTime,
|
62 |
-
dd : processRelativeTime,
|
63 |
-
M : processRelativeTime,
|
64 |
-
MM : processRelativeTime,
|
65 |
-
y : processRelativeTime,
|
66 |
-
yy : processRelativeTime
|
67 |
-
},
|
68 |
-
ordinalParse: /\d{1,2}\./,
|
69 |
-
ordinal : '%d.',
|
70 |
-
week : {
|
71 |
-
dow : 1, // Monday is the first day of the week.
|
72 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
73 |
-
}
|
74 |
-
});
|
75 |
-
|
76 |
-
return de;
|
77 |
-
|
78 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";function n(e,n,t,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return n?r[t][0]:r[t][1]}return e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:n,mm:"%d Minuten",h:n,hh:"%d Stunden",d:n,dd:n,M:n,MM:n,y:n,yy:n},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,99 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Maldivian [dv]
|
3 |
-
//! author : Jawish Hameed : https://github.com/jawish
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var months = [
|
14 |
-
'ޖެނުއަރީ',
|
15 |
-
'ފެބްރުއަރީ',
|
16 |
-
'މާރިޗު',
|
17 |
-
'އޭޕްރީލު',
|
18 |
-
'މޭ',
|
19 |
-
'ޖޫން',
|
20 |
-
'ޖުލައި',
|
21 |
-
'އޯގަސްޓު',
|
22 |
-
'ސެޕްޓެމްބަރު',
|
23 |
-
'އޮކްޓޯބަރު',
|
24 |
-
'ނޮވެމްބަރު',
|
25 |
-
'ޑިސެމްބަރު'
|
26 |
-
], weekdays = [
|
27 |
-
'އާދިއްތަ',
|
28 |
-
'ހޯމަ',
|
29 |
-
'އަންގާރަ',
|
30 |
-
'ބުދަ',
|
31 |
-
'ބުރާސްފަތި',
|
32 |
-
'ހުކުރު',
|
33 |
-
'ހޮނިހިރު'
|
34 |
-
];
|
35 |
-
|
36 |
-
var dv = moment.defineLocale('dv', {
|
37 |
-
months : months,
|
38 |
-
monthsShort : months,
|
39 |
-
weekdays : weekdays,
|
40 |
-
weekdaysShort : weekdays,
|
41 |
-
weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
|
42 |
-
longDateFormat : {
|
43 |
-
|
44 |
-
LT : 'HH:mm',
|
45 |
-
LTS : 'HH:mm:ss',
|
46 |
-
L : 'D/M/YYYY',
|
47 |
-
LL : 'D MMMM YYYY',
|
48 |
-
LLL : 'D MMMM YYYY HH:mm',
|
49 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
50 |
-
},
|
51 |
-
meridiemParse: /މކ|މފ/,
|
52 |
-
isPM : function (input) {
|
53 |
-
return 'މފ' === input;
|
54 |
-
},
|
55 |
-
meridiem : function (hour, minute, isLower) {
|
56 |
-
if (hour < 12) {
|
57 |
-
return 'މކ';
|
58 |
-
} else {
|
59 |
-
return 'މފ';
|
60 |
-
}
|
61 |
-
},
|
62 |
-
calendar : {
|
63 |
-
sameDay : '[މިއަދު] LT',
|
64 |
-
nextDay : '[މާދަމާ] LT',
|
65 |
-
nextWeek : 'dddd LT',
|
66 |
-
lastDay : '[އިއްޔެ] LT',
|
67 |
-
lastWeek : '[ފާއިތުވި] dddd LT',
|
68 |
-
sameElse : 'L'
|
69 |
-
},
|
70 |
-
relativeTime : {
|
71 |
-
future : 'ތެރޭގައި %s',
|
72 |
-
past : 'ކުރިން %s',
|
73 |
-
s : 'ސިކުންތުކޮޅެއް',
|
74 |
-
m : 'މިނިޓެއް',
|
75 |
-
mm : 'މިނިޓު %d',
|
76 |
-
h : 'ގަޑިއިރެއް',
|
77 |
-
hh : 'ގަޑިއިރު %d',
|
78 |
-
d : 'ދުވަހެއް',
|
79 |
-
dd : 'ދުވަސް %d',
|
80 |
-
M : 'މަހެއް',
|
81 |
-
MM : 'މަސް %d',
|
82 |
-
y : 'އަހަރެއް',
|
83 |
-
yy : 'އަހަރު %d'
|
84 |
-
},
|
85 |
-
preparse: function (string) {
|
86 |
-
return string.replace(/،/g, ',');
|
87 |
-
},
|
88 |
-
postformat: function (string) {
|
89 |
-
return string.replace(/,/g, '،');
|
90 |
-
},
|
91 |
-
week : {
|
92 |
-
dow : 7, // Sunday is the first day of the week.
|
93 |
-
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
94 |
-
}
|
95 |
-
});
|
96 |
-
|
97 |
-
return dv;
|
98 |
-
|
99 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],d=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];return e.defineLocale("dv",{months:t,monthsShort:t,weekdays:d,weekdaysShort:d,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,d){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}})});
|
|
@@ -1,98 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Greek [el]
|
3 |
-
//! author : Aggelos Karalias : https://github.com/mehiel
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
function isFunction(input) {
|
13 |
-
return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
|
14 |
-
}
|
15 |
-
|
16 |
-
|
17 |
-
var el = moment.defineLocale('el', {
|
18 |
-
monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
|
19 |
-
monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
|
20 |
-
months : function (momentToFormat, format) {
|
21 |
-
if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
|
22 |
-
return this._monthsGenitiveEl[momentToFormat.month()];
|
23 |
-
} else {
|
24 |
-
return this._monthsNominativeEl[momentToFormat.month()];
|
25 |
-
}
|
26 |
-
},
|
27 |
-
monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
|
28 |
-
weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
|
29 |
-
weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
|
30 |
-
weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
|
31 |
-
meridiem : function (hours, minutes, isLower) {
|
32 |
-
if (hours > 11) {
|
33 |
-
return isLower ? 'μμ' : 'ΜΜ';
|
34 |
-
} else {
|
35 |
-
return isLower ? 'πμ' : 'ΠΜ';
|
36 |
-
}
|
37 |
-
},
|
38 |
-
isPM : function (input) {
|
39 |
-
return ((input + '').toLowerCase()[0] === 'μ');
|
40 |
-
},
|
41 |
-
meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
|
42 |
-
longDateFormat : {
|
43 |
-
LT : 'h:mm A',
|
44 |
-
LTS : 'h:mm:ss A',
|
45 |
-
L : 'DD/MM/YYYY',
|
46 |
-
LL : 'D MMMM YYYY',
|
47 |
-
LLL : 'D MMMM YYYY h:mm A',
|
48 |
-
LLLL : 'dddd, D MMMM YYYY h:mm A'
|
49 |
-
},
|
50 |
-
calendarEl : {
|
51 |
-
sameDay : '[Σήμερα {}] LT',
|
52 |
-
nextDay : '[Αύριο {}] LT',
|
53 |
-
nextWeek : 'dddd [{}] LT',
|
54 |
-
lastDay : '[Χθες {}] LT',
|
55 |
-
lastWeek : function () {
|
56 |
-
switch (this.day()) {
|
57 |
-
case 6:
|
58 |
-
return '[το προηγούμενο] dddd [{}] LT';
|
59 |
-
default:
|
60 |
-
return '[την προηγούμενη] dddd [{}] LT';
|
61 |
-
}
|
62 |
-
},
|
63 |
-
sameElse : 'L'
|
64 |
-
},
|
65 |
-
calendar : function (key, mom) {
|
66 |
-
var output = this._calendarEl[key],
|
67 |
-
hours = mom && mom.hours();
|
68 |
-
if (isFunction(output)) {
|
69 |
-
output = output.apply(mom);
|
70 |
-
}
|
71 |
-
return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
|
72 |
-
},
|
73 |
-
relativeTime : {
|
74 |
-
future : 'σε %s',
|
75 |
-
past : '%s πριν',
|
76 |
-
s : 'λίγα δευτερόλεπτα',
|
77 |
-
m : 'ένα λεπτό',
|
78 |
-
mm : '%d λεπτά',
|
79 |
-
h : 'μία ώρα',
|
80 |
-
hh : '%d ώρες',
|
81 |
-
d : 'μία μέρα',
|
82 |
-
dd : '%d μέρες',
|
83 |
-
M : 'ένας μήνας',
|
84 |
-
MM : '%d μήνες',
|
85 |
-
y : 'ένας χρόνος',
|
86 |
-
yy : '%d χρόνια'
|
87 |
-
},
|
88 |
-
ordinalParse: /\d{1,2}η/,
|
89 |
-
ordinal: '%dη',
|
90 |
-
week : {
|
91 |
-
dow : 1, // Monday is the first day of the week.
|
92 |
-
doy : 4 // The week that contains Jan 4st is the first week of the year.
|
93 |
-
}
|
94 |
-
});
|
95 |
-
|
96 |
-
return el;
|
97 |
-
|
98 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";function t(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}return e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,n){var _=this._calendarEl[e],i=n&&n.hours();return t(_)&&(_=_.apply(n)),_.replace("{}",i%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})});
|
|
@@ -1,67 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : English (Australia) [en-au]
|
3 |
-
//! author : Jared Morse : https://github.com/jarcoal
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var en_au = moment.defineLocale('en-au', {
|
14 |
-
months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
|
15 |
-
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
|
16 |
-
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
17 |
-
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
|
18 |
-
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'h:mm A',
|
21 |
-
LTS : 'h:mm:ss A',
|
22 |
-
L : 'DD/MM/YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY h:mm A',
|
25 |
-
LLLL : 'dddd, D MMMM YYYY h:mm A'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Today at] LT',
|
29 |
-
nextDay : '[Tomorrow at] LT',
|
30 |
-
nextWeek : 'dddd [at] LT',
|
31 |
-
lastDay : '[Yesterday at] LT',
|
32 |
-
lastWeek : '[Last] dddd [at] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'in %s',
|
37 |
-
past : '%s ago',
|
38 |
-
s : 'a few seconds',
|
39 |
-
m : 'a minute',
|
40 |
-
mm : '%d minutes',
|
41 |
-
h : 'an hour',
|
42 |
-
hh : '%d hours',
|
43 |
-
d : 'a day',
|
44 |
-
dd : '%d days',
|
45 |
-
M : 'a month',
|
46 |
-
MM : '%d months',
|
47 |
-
y : 'a year',
|
48 |
-
yy : '%d years'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}(st|nd|rd|th)/,
|
51 |
-
ordinal : function (number) {
|
52 |
-
var b = number % 10,
|
53 |
-
output = (~~(number % 100 / 10) === 1) ? 'th' :
|
54 |
-
(b === 1) ? 'st' :
|
55 |
-
(b === 2) ? 'nd' :
|
56 |
-
(b === 3) ? 'rd' : 'th';
|
57 |
-
return number + output;
|
58 |
-
},
|
59 |
-
week : {
|
60 |
-
dow : 1, // Monday is the first day of the week.
|
61 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
62 |
-
}
|
63 |
-
});
|
64 |
-
|
65 |
-
return en_au;
|
66 |
-
|
67 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})});
|
|
@@ -1,63 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : English (Canada) [en-ca]
|
3 |
-
//! author : Jonathan Abourbih : https://github.com/jonbca
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var en_ca = moment.defineLocale('en-ca', {
|
14 |
-
months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
|
15 |
-
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
|
16 |
-
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
17 |
-
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
|
18 |
-
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'h:mm A',
|
21 |
-
LTS : 'h:mm:ss A',
|
22 |
-
L : 'YYYY-MM-DD',
|
23 |
-
LL : 'MMMM D, YYYY',
|
24 |
-
LLL : 'MMMM D, YYYY h:mm A',
|
25 |
-
LLLL : 'dddd, MMMM D, YYYY h:mm A'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Today at] LT',
|
29 |
-
nextDay : '[Tomorrow at] LT',
|
30 |
-
nextWeek : 'dddd [at] LT',
|
31 |
-
lastDay : '[Yesterday at] LT',
|
32 |
-
lastWeek : '[Last] dddd [at] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'in %s',
|
37 |
-
past : '%s ago',
|
38 |
-
s : 'a few seconds',
|
39 |
-
m : 'a minute',
|
40 |
-
mm : '%d minutes',
|
41 |
-
h : 'an hour',
|
42 |
-
hh : '%d hours',
|
43 |
-
d : 'a day',
|
44 |
-
dd : '%d days',
|
45 |
-
M : 'a month',
|
46 |
-
MM : '%d months',
|
47 |
-
y : 'a year',
|
48 |
-
yy : '%d years'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}(st|nd|rd|th)/,
|
51 |
-
ordinal : function (number) {
|
52 |
-
var b = number % 10,
|
53 |
-
output = (~~(number % 100 / 10) === 1) ? 'th' :
|
54 |
-
(b === 1) ? 'st' :
|
55 |
-
(b === 2) ? 'nd' :
|
56 |
-
(b === 3) ? 'rd' : 'th';
|
57 |
-
return number + output;
|
58 |
-
}
|
59 |
-
});
|
60 |
-
|
61 |
-
return en_ca;
|
62 |
-
|
63 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}})});
|
|
@@ -1,67 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : English (United Kingdom) [en-gb]
|
3 |
-
//! author : Chris Gedrim : https://github.com/chrisgedrim
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var en_gb = moment.defineLocale('en-gb', {
|
14 |
-
months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
|
15 |
-
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
|
16 |
-
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
17 |
-
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
|
18 |
-
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'HH:mm',
|
21 |
-
LTS : 'HH:mm:ss',
|
22 |
-
L : 'DD/MM/YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY HH:mm',
|
25 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Today at] LT',
|
29 |
-
nextDay : '[Tomorrow at] LT',
|
30 |
-
nextWeek : 'dddd [at] LT',
|
31 |
-
lastDay : '[Yesterday at] LT',
|
32 |
-
lastWeek : '[Last] dddd [at] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'in %s',
|
37 |
-
past : '%s ago',
|
38 |
-
s : 'a few seconds',
|
39 |
-
m : 'a minute',
|
40 |
-
mm : '%d minutes',
|
41 |
-
h : 'an hour',
|
42 |
-
hh : '%d hours',
|
43 |
-
d : 'a day',
|
44 |
-
dd : '%d days',
|
45 |
-
M : 'a month',
|
46 |
-
MM : '%d months',
|
47 |
-
y : 'a year',
|
48 |
-
yy : '%d years'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}(st|nd|rd|th)/,
|
51 |
-
ordinal : function (number) {
|
52 |
-
var b = number % 10,
|
53 |
-
output = (~~(number % 100 / 10) === 1) ? 'th' :
|
54 |
-
(b === 1) ? 'st' :
|
55 |
-
(b === 2) ? 'nd' :
|
56 |
-
(b === 3) ? 'rd' : 'th';
|
57 |
-
return number + output;
|
58 |
-
},
|
59 |
-
week : {
|
60 |
-
dow : 1, // Monday is the first day of the week.
|
61 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
62 |
-
}
|
63 |
-
});
|
64 |
-
|
65 |
-
return en_gb;
|
66 |
-
|
67 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})});
|
|
@@ -1,67 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : English (Ireland) [en-ie]
|
3 |
-
//! author : Chris Cartlidge : https://github.com/chriscartlidge
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var en_ie = moment.defineLocale('en-ie', {
|
14 |
-
months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
|
15 |
-
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
|
16 |
-
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
17 |
-
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
|
18 |
-
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'HH:mm',
|
21 |
-
LTS : 'HH:mm:ss',
|
22 |
-
L : 'DD-MM-YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY HH:mm',
|
25 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Today at] LT',
|
29 |
-
nextDay : '[Tomorrow at] LT',
|
30 |
-
nextWeek : 'dddd [at] LT',
|
31 |
-
lastDay : '[Yesterday at] LT',
|
32 |
-
lastWeek : '[Last] dddd [at] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'in %s',
|
37 |
-
past : '%s ago',
|
38 |
-
s : 'a few seconds',
|
39 |
-
m : 'a minute',
|
40 |
-
mm : '%d minutes',
|
41 |
-
h : 'an hour',
|
42 |
-
hh : '%d hours',
|
43 |
-
d : 'a day',
|
44 |
-
dd : '%d days',
|
45 |
-
M : 'a month',
|
46 |
-
MM : '%d months',
|
47 |
-
y : 'a year',
|
48 |
-
yy : '%d years'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}(st|nd|rd|th)/,
|
51 |
-
ordinal : function (number) {
|
52 |
-
var b = number % 10,
|
53 |
-
output = (~~(number % 100 / 10) === 1) ? 'th' :
|
54 |
-
(b === 1) ? 'st' :
|
55 |
-
(b === 2) ? 'nd' :
|
56 |
-
(b === 3) ? 'rd' : 'th';
|
57 |
-
return number + output;
|
58 |
-
},
|
59 |
-
week : {
|
60 |
-
dow : 1, // Monday is the first day of the week.
|
61 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
62 |
-
}
|
63 |
-
});
|
64 |
-
|
65 |
-
return en_ie;
|
66 |
-
|
67 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})});
|
|
@@ -1,67 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : English (New Zealand) [en-nz]
|
3 |
-
//! author : Luke McGregor : https://github.com/lukemcgregor
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var en_nz = moment.defineLocale('en-nz', {
|
14 |
-
months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
|
15 |
-
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
|
16 |
-
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
|
17 |
-
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
|
18 |
-
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'h:mm A',
|
21 |
-
LTS : 'h:mm:ss A',
|
22 |
-
L : 'DD/MM/YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY h:mm A',
|
25 |
-
LLLL : 'dddd, D MMMM YYYY h:mm A'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Today at] LT',
|
29 |
-
nextDay : '[Tomorrow at] LT',
|
30 |
-
nextWeek : 'dddd [at] LT',
|
31 |
-
lastDay : '[Yesterday at] LT',
|
32 |
-
lastWeek : '[Last] dddd [at] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'in %s',
|
37 |
-
past : '%s ago',
|
38 |
-
s : 'a few seconds',
|
39 |
-
m : 'a minute',
|
40 |
-
mm : '%d minutes',
|
41 |
-
h : 'an hour',
|
42 |
-
hh : '%d hours',
|
43 |
-
d : 'a day',
|
44 |
-
dd : '%d days',
|
45 |
-
M : 'a month',
|
46 |
-
MM : '%d months',
|
47 |
-
y : 'a year',
|
48 |
-
yy : '%d years'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}(st|nd|rd|th)/,
|
51 |
-
ordinal : function (number) {
|
52 |
-
var b = number % 10,
|
53 |
-
output = (~~(number % 100 / 10) === 1) ? 'th' :
|
54 |
-
(b === 1) ? 'st' :
|
55 |
-
(b === 2) ? 'nd' :
|
56 |
-
(b === 3) ? 'rd' : 'th';
|
57 |
-
return number + output;
|
58 |
-
},
|
59 |
-
week : {
|
60 |
-
dow : 1, // Monday is the first day of the week.
|
61 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
62 |
-
}
|
63 |
-
});
|
64 |
-
|
65 |
-
return en_nz;
|
66 |
-
|
67 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})});
|
|
@@ -1,73 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Esperanto [eo]
|
3 |
-
//! author : Colin Dean : https://github.com/colindean
|
4 |
-
//! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.
|
5 |
-
//! Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!
|
6 |
-
|
7 |
-
;(function (global, factory) {
|
8 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
9 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
10 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
11 |
-
factory(global.moment)
|
12 |
-
}(this, function (moment) { 'use strict';
|
13 |
-
|
14 |
-
|
15 |
-
var eo = moment.defineLocale('eo', {
|
16 |
-
months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),
|
17 |
-
monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),
|
18 |
-
weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato'.split('_'),
|
19 |
-
weekdaysShort : 'Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab'.split('_'),
|
20 |
-
weekdaysMin : 'Di_Lu_Ma_Me_Ĵa_Ve_Sa'.split('_'),
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'YYYY-MM-DD',
|
25 |
-
LL : 'D[-an de] MMMM, YYYY',
|
26 |
-
LLL : 'D[-an de] MMMM, YYYY HH:mm',
|
27 |
-
LLLL : 'dddd, [la] D[-an de] MMMM, YYYY HH:mm'
|
28 |
-
},
|
29 |
-
meridiemParse: /[ap]\.t\.m/i,
|
30 |
-
isPM: function (input) {
|
31 |
-
return input.charAt(0).toLowerCase() === 'p';
|
32 |
-
},
|
33 |
-
meridiem : function (hours, minutes, isLower) {
|
34 |
-
if (hours > 11) {
|
35 |
-
return isLower ? 'p.t.m.' : 'P.T.M.';
|
36 |
-
} else {
|
37 |
-
return isLower ? 'a.t.m.' : 'A.T.M.';
|
38 |
-
}
|
39 |
-
},
|
40 |
-
calendar : {
|
41 |
-
sameDay : '[Hodiaŭ je] LT',
|
42 |
-
nextDay : '[Morgaŭ je] LT',
|
43 |
-
nextWeek : 'dddd [je] LT',
|
44 |
-
lastDay : '[Hieraŭ je] LT',
|
45 |
-
lastWeek : '[pasinta] dddd [je] LT',
|
46 |
-
sameElse : 'L'
|
47 |
-
},
|
48 |
-
relativeTime : {
|
49 |
-
future : 'je %s',
|
50 |
-
past : 'antaŭ %s',
|
51 |
-
s : 'sekundoj',
|
52 |
-
m : 'minuto',
|
53 |
-
mm : '%d minutoj',
|
54 |
-
h : 'horo',
|
55 |
-
hh : '%d horoj',
|
56 |
-
d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
|
57 |
-
dd : '%d tagoj',
|
58 |
-
M : 'monato',
|
59 |
-
MM : '%d monatoj',
|
60 |
-
y : 'jaro',
|
61 |
-
yy : '%d jaroj'
|
62 |
-
},
|
63 |
-
ordinalParse: /\d{1,2}a/,
|
64 |
-
ordinal : '%da',
|
65 |
-
week : {
|
66 |
-
dow : 1, // Monday is the first day of the week.
|
67 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
68 |
-
}
|
69 |
-
});
|
70 |
-
|
71 |
-
return eo;
|
72 |
-
|
73 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?o(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],o):o(e.moment)}(this,function(e){"use strict";return e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-an de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,o,a){return e>11?a?"p.t.m.":"P.T.M.":a?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})});
|
|
@@ -1,80 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Spanish (Dominican Republic) [es-do]
|
3 |
-
|
4 |
-
;(function (global, factory) {
|
5 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
6 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
7 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
8 |
-
factory(global.moment)
|
9 |
-
}(this, function (moment) { 'use strict';
|
10 |
-
|
11 |
-
|
12 |
-
var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
|
13 |
-
monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
|
14 |
-
|
15 |
-
var es_do = moment.defineLocale('es-do', {
|
16 |
-
months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
|
17 |
-
monthsShort : function (m, format) {
|
18 |
-
if (/-MMM-/.test(format)) {
|
19 |
-
return monthsShort[m.month()];
|
20 |
-
} else {
|
21 |
-
return monthsShortDot[m.month()];
|
22 |
-
}
|
23 |
-
},
|
24 |
-
monthsParseExact : true,
|
25 |
-
weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
|
26 |
-
weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
|
27 |
-
weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
|
28 |
-
weekdaysParseExact : true,
|
29 |
-
longDateFormat : {
|
30 |
-
LT : 'h:mm A',
|
31 |
-
LTS : 'h:mm:ss A',
|
32 |
-
L : 'DD/MM/YYYY',
|
33 |
-
LL : 'D [de] MMMM [de] YYYY',
|
34 |
-
LLL : 'D [de] MMMM [de] YYYY h:mm A',
|
35 |
-
LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
|
36 |
-
},
|
37 |
-
calendar : {
|
38 |
-
sameDay : function () {
|
39 |
-
return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
40 |
-
},
|
41 |
-
nextDay : function () {
|
42 |
-
return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
43 |
-
},
|
44 |
-
nextWeek : function () {
|
45 |
-
return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
46 |
-
},
|
47 |
-
lastDay : function () {
|
48 |
-
return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
49 |
-
},
|
50 |
-
lastWeek : function () {
|
51 |
-
return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
52 |
-
},
|
53 |
-
sameElse : 'L'
|
54 |
-
},
|
55 |
-
relativeTime : {
|
56 |
-
future : 'en %s',
|
57 |
-
past : 'hace %s',
|
58 |
-
s : 'unos segundos',
|
59 |
-
m : 'un minuto',
|
60 |
-
mm : '%d minutos',
|
61 |
-
h : 'una hora',
|
62 |
-
hh : '%d horas',
|
63 |
-
d : 'un día',
|
64 |
-
dd : '%d días',
|
65 |
-
M : 'un mes',
|
66 |
-
MM : '%d meses',
|
67 |
-
y : 'un año',
|
68 |
-
yy : '%d años'
|
69 |
-
},
|
70 |
-
ordinalParse : /\d{1,2}º/,
|
71 |
-
ordinal : '%dº',
|
72 |
-
week : {
|
73 |
-
dow : 1, // Monday is the first day of the week.
|
74 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
75 |
-
}
|
76 |
-
});
|
77 |
-
|
78 |
-
return es_do;
|
79 |
-
|
80 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";var n="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),o="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,s){return/-MMM-/.test(s)?o[e.month()]:n[e.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})});
|
|
@@ -1,81 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Spanish [es]
|
3 |
-
//! author : Julio Napurí : https://github.com/julionc
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
|
14 |
-
monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
|
15 |
-
|
16 |
-
var es = moment.defineLocale('es', {
|
17 |
-
months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
|
18 |
-
monthsShort : function (m, format) {
|
19 |
-
if (/-MMM-/.test(format)) {
|
20 |
-
return monthsShort[m.month()];
|
21 |
-
} else {
|
22 |
-
return monthsShortDot[m.month()];
|
23 |
-
}
|
24 |
-
},
|
25 |
-
monthsParseExact : true,
|
26 |
-
weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
|
27 |
-
weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
|
28 |
-
weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
|
29 |
-
weekdaysParseExact : true,
|
30 |
-
longDateFormat : {
|
31 |
-
LT : 'H:mm',
|
32 |
-
LTS : 'H:mm:ss',
|
33 |
-
L : 'DD/MM/YYYY',
|
34 |
-
LL : 'D [de] MMMM [de] YYYY',
|
35 |
-
LLL : 'D [de] MMMM [de] YYYY H:mm',
|
36 |
-
LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
|
37 |
-
},
|
38 |
-
calendar : {
|
39 |
-
sameDay : function () {
|
40 |
-
return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
41 |
-
},
|
42 |
-
nextDay : function () {
|
43 |
-
return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
44 |
-
},
|
45 |
-
nextWeek : function () {
|
46 |
-
return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
47 |
-
},
|
48 |
-
lastDay : function () {
|
49 |
-
return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
50 |
-
},
|
51 |
-
lastWeek : function () {
|
52 |
-
return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
|
53 |
-
},
|
54 |
-
sameElse : 'L'
|
55 |
-
},
|
56 |
-
relativeTime : {
|
57 |
-
future : 'en %s',
|
58 |
-
past : 'hace %s',
|
59 |
-
s : 'unos segundos',
|
60 |
-
m : 'un minuto',
|
61 |
-
mm : '%d minutos',
|
62 |
-
h : 'una hora',
|
63 |
-
hh : '%d horas',
|
64 |
-
d : 'un día',
|
65 |
-
dd : '%d días',
|
66 |
-
M : 'un mes',
|
67 |
-
MM : '%d meses',
|
68 |
-
y : 'un año',
|
69 |
-
yy : '%d años'
|
70 |
-
},
|
71 |
-
ordinalParse : /\d{1,2}º/,
|
72 |
-
ordinal : '%dº',
|
73 |
-
week : {
|
74 |
-
dow : 1, // Monday is the first day of the week.
|
75 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
76 |
-
}
|
77 |
-
});
|
78 |
-
|
79 |
-
return es;
|
80 |
-
|
81 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";var n="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),o="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,s){return/-MMM-/.test(s)?o[e.month()]:n[e.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})});
|
|
@@ -1,80 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Estonian [et]
|
3 |
-
//! author : Henry Kehlmann : https://github.com/madhenry
|
4 |
-
//! improvements : Illimar Tambek : https://github.com/ragulka
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
15 |
-
var format = {
|
16 |
-
's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
|
17 |
-
'm' : ['ühe minuti', 'üks minut'],
|
18 |
-
'mm': [number + ' minuti', number + ' minutit'],
|
19 |
-
'h' : ['ühe tunni', 'tund aega', 'üks tund'],
|
20 |
-
'hh': [number + ' tunni', number + ' tundi'],
|
21 |
-
'd' : ['ühe päeva', 'üks päev'],
|
22 |
-
'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
|
23 |
-
'MM': [number + ' kuu', number + ' kuud'],
|
24 |
-
'y' : ['ühe aasta', 'aasta', 'üks aasta'],
|
25 |
-
'yy': [number + ' aasta', number + ' aastat']
|
26 |
-
};
|
27 |
-
if (withoutSuffix) {
|
28 |
-
return format[key][2] ? format[key][2] : format[key][1];
|
29 |
-
}
|
30 |
-
return isFuture ? format[key][0] : format[key][1];
|
31 |
-
}
|
32 |
-
|
33 |
-
var et = moment.defineLocale('et', {
|
34 |
-
months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
|
35 |
-
monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
|
36 |
-
weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
|
37 |
-
weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
|
38 |
-
weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),
|
39 |
-
longDateFormat : {
|
40 |
-
LT : 'H:mm',
|
41 |
-
LTS : 'H:mm:ss',
|
42 |
-
L : 'DD.MM.YYYY',
|
43 |
-
LL : 'D. MMMM YYYY',
|
44 |
-
LLL : 'D. MMMM YYYY H:mm',
|
45 |
-
LLLL : 'dddd, D. MMMM YYYY H:mm'
|
46 |
-
},
|
47 |
-
calendar : {
|
48 |
-
sameDay : '[Täna,] LT',
|
49 |
-
nextDay : '[Homme,] LT',
|
50 |
-
nextWeek : '[Järgmine] dddd LT',
|
51 |
-
lastDay : '[Eile,] LT',
|
52 |
-
lastWeek : '[Eelmine] dddd LT',
|
53 |
-
sameElse : 'L'
|
54 |
-
},
|
55 |
-
relativeTime : {
|
56 |
-
future : '%s pärast',
|
57 |
-
past : '%s tagasi',
|
58 |
-
s : processRelativeTime,
|
59 |
-
m : processRelativeTime,
|
60 |
-
mm : processRelativeTime,
|
61 |
-
h : processRelativeTime,
|
62 |
-
hh : processRelativeTime,
|
63 |
-
d : processRelativeTime,
|
64 |
-
dd : '%d päeva',
|
65 |
-
M : processRelativeTime,
|
66 |
-
MM : processRelativeTime,
|
67 |
-
y : processRelativeTime,
|
68 |
-
yy : processRelativeTime
|
69 |
-
},
|
70 |
-
ordinalParse: /\d{1,2}\./,
|
71 |
-
ordinal : '%d.',
|
72 |
-
week : {
|
73 |
-
dow : 1, // Monday is the first day of the week.
|
74 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
75 |
-
}
|
76 |
-
});
|
77 |
-
|
78 |
-
return et;
|
79 |
-
|
80 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";function a(e,a,t,n){var s={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return a?s[t][2]?s[t][2]:s[t][1]:n?s[t][0]:s[t][1]}return e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:"%d päeva",M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,66 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Basque [eu]
|
3 |
-
//! author : Eneko Illarramendi : https://github.com/eillarra
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var eu = moment.defineLocale('eu', {
|
14 |
-
months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
|
15 |
-
monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
|
16 |
-
monthsParseExact : true,
|
17 |
-
weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
|
18 |
-
weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
|
19 |
-
weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'YYYY-MM-DD',
|
25 |
-
LL : 'YYYY[ko] MMMM[ren] D[a]',
|
26 |
-
LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
|
27 |
-
LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
|
28 |
-
l : 'YYYY-M-D',
|
29 |
-
ll : 'YYYY[ko] MMM D[a]',
|
30 |
-
lll : 'YYYY[ko] MMM D[a] HH:mm',
|
31 |
-
llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
|
32 |
-
},
|
33 |
-
calendar : {
|
34 |
-
sameDay : '[gaur] LT[etan]',
|
35 |
-
nextDay : '[bihar] LT[etan]',
|
36 |
-
nextWeek : 'dddd LT[etan]',
|
37 |
-
lastDay : '[atzo] LT[etan]',
|
38 |
-
lastWeek : '[aurreko] dddd LT[etan]',
|
39 |
-
sameElse : 'L'
|
40 |
-
},
|
41 |
-
relativeTime : {
|
42 |
-
future : '%s barru',
|
43 |
-
past : 'duela %s',
|
44 |
-
s : 'segundo batzuk',
|
45 |
-
m : 'minutu bat',
|
46 |
-
mm : '%d minutu',
|
47 |
-
h : 'ordu bat',
|
48 |
-
hh : '%d ordu',
|
49 |
-
d : 'egun bat',
|
50 |
-
dd : '%d egun',
|
51 |
-
M : 'hilabete bat',
|
52 |
-
MM : '%d hilabete',
|
53 |
-
y : 'urte bat',
|
54 |
-
yy : '%d urte'
|
55 |
-
},
|
56 |
-
ordinalParse: /\d{1,2}\./,
|
57 |
-
ordinal : '%d.',
|
58 |
-
week : {
|
59 |
-
dow : 1, // Monday is the first day of the week.
|
60 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
61 |
-
}
|
62 |
-
});
|
63 |
-
|
64 |
-
return eu;
|
65 |
-
|
66 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(a,e){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?e(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],e):e(a.moment)}(this,function(a){"use strict";return a.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})});
|
|
@@ -1,106 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Persian [fa]
|
3 |
-
//! author : Ebrahim Byagowi : https://github.com/ebraminio
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var symbolMap = {
|
14 |
-
'1': '۱',
|
15 |
-
'2': '۲',
|
16 |
-
'3': '۳',
|
17 |
-
'4': '۴',
|
18 |
-
'5': '۵',
|
19 |
-
'6': '۶',
|
20 |
-
'7': '۷',
|
21 |
-
'8': '۸',
|
22 |
-
'9': '۹',
|
23 |
-
'0': '۰'
|
24 |
-
}, numberMap = {
|
25 |
-
'۱': '1',
|
26 |
-
'۲': '2',
|
27 |
-
'۳': '3',
|
28 |
-
'۴': '4',
|
29 |
-
'۵': '5',
|
30 |
-
'۶': '6',
|
31 |
-
'۷': '7',
|
32 |
-
'۸': '8',
|
33 |
-
'۹': '9',
|
34 |
-
'۰': '0'
|
35 |
-
};
|
36 |
-
|
37 |
-
var fa = moment.defineLocale('fa', {
|
38 |
-
months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
|
39 |
-
monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
|
40 |
-
weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
|
41 |
-
weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
|
42 |
-
weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
|
43 |
-
weekdaysParseExact : true,
|
44 |
-
longDateFormat : {
|
45 |
-
LT : 'HH:mm',
|
46 |
-
LTS : 'HH:mm:ss',
|
47 |
-
L : 'DD/MM/YYYY',
|
48 |
-
LL : 'D MMMM YYYY',
|
49 |
-
LLL : 'D MMMM YYYY HH:mm',
|
50 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
51 |
-
},
|
52 |
-
meridiemParse: /قبل از ظهر|بعد از ظهر/,
|
53 |
-
isPM: function (input) {
|
54 |
-
return /بعد از ظهر/.test(input);
|
55 |
-
},
|
56 |
-
meridiem : function (hour, minute, isLower) {
|
57 |
-
if (hour < 12) {
|
58 |
-
return 'قبل از ظهر';
|
59 |
-
} else {
|
60 |
-
return 'بعد از ظهر';
|
61 |
-
}
|
62 |
-
},
|
63 |
-
calendar : {
|
64 |
-
sameDay : '[امروز ساعت] LT',
|
65 |
-
nextDay : '[فردا ساعت] LT',
|
66 |
-
nextWeek : 'dddd [ساعت] LT',
|
67 |
-
lastDay : '[دیروز ساعت] LT',
|
68 |
-
lastWeek : 'dddd [پیش] [ساعت] LT',
|
69 |
-
sameElse : 'L'
|
70 |
-
},
|
71 |
-
relativeTime : {
|
72 |
-
future : 'در %s',
|
73 |
-
past : '%s پیش',
|
74 |
-
s : 'چندین ثانیه',
|
75 |
-
m : 'یک دقیقه',
|
76 |
-
mm : '%d دقیقه',
|
77 |
-
h : 'یک ساعت',
|
78 |
-
hh : '%d ساعت',
|
79 |
-
d : 'یک روز',
|
80 |
-
dd : '%d روز',
|
81 |
-
M : 'یک ماه',
|
82 |
-
MM : '%d ماه',
|
83 |
-
y : 'یک سال',
|
84 |
-
yy : '%d سال'
|
85 |
-
},
|
86 |
-
preparse: function (string) {
|
87 |
-
return string.replace(/[۰-۹]/g, function (match) {
|
88 |
-
return numberMap[match];
|
89 |
-
}).replace(/،/g, ',');
|
90 |
-
},
|
91 |
-
postformat: function (string) {
|
92 |
-
return string.replace(/\d/g, function (match) {
|
93 |
-
return symbolMap[match];
|
94 |
-
}).replace(/,/g, '،');
|
95 |
-
},
|
96 |
-
ordinalParse: /\d{1,2}م/,
|
97 |
-
ordinal : '%dم',
|
98 |
-
week : {
|
99 |
-
dow : 6, // Saturday is the first day of the week.
|
100 |
-
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
101 |
-
}
|
102 |
-
});
|
103 |
-
|
104 |
-
return fa;
|
105 |
-
|
106 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysShort:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})});
|
|
@@ -1,107 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Finnish [fi]
|
3 |
-
//! author : Tarmo Aidantausta : https://github.com/bleadof
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
|
14 |
-
numbersFuture = [
|
15 |
-
'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
|
16 |
-
numbersPast[7], numbersPast[8], numbersPast[9]
|
17 |
-
];
|
18 |
-
function translate(number, withoutSuffix, key, isFuture) {
|
19 |
-
var result = '';
|
20 |
-
switch (key) {
|
21 |
-
case 's':
|
22 |
-
return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
|
23 |
-
case 'm':
|
24 |
-
return isFuture ? 'minuutin' : 'minuutti';
|
25 |
-
case 'mm':
|
26 |
-
result = isFuture ? 'minuutin' : 'minuuttia';
|
27 |
-
break;
|
28 |
-
case 'h':
|
29 |
-
return isFuture ? 'tunnin' : 'tunti';
|
30 |
-
case 'hh':
|
31 |
-
result = isFuture ? 'tunnin' : 'tuntia';
|
32 |
-
break;
|
33 |
-
case 'd':
|
34 |
-
return isFuture ? 'päivän' : 'päivä';
|
35 |
-
case 'dd':
|
36 |
-
result = isFuture ? 'päivän' : 'päivää';
|
37 |
-
break;
|
38 |
-
case 'M':
|
39 |
-
return isFuture ? 'kuukauden' : 'kuukausi';
|
40 |
-
case 'MM':
|
41 |
-
result = isFuture ? 'kuukauden' : 'kuukautta';
|
42 |
-
break;
|
43 |
-
case 'y':
|
44 |
-
return isFuture ? 'vuoden' : 'vuosi';
|
45 |
-
case 'yy':
|
46 |
-
result = isFuture ? 'vuoden' : 'vuotta';
|
47 |
-
break;
|
48 |
-
}
|
49 |
-
result = verbalNumber(number, isFuture) + ' ' + result;
|
50 |
-
return result;
|
51 |
-
}
|
52 |
-
function verbalNumber(number, isFuture) {
|
53 |
-
return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
|
54 |
-
}
|
55 |
-
|
56 |
-
var fi = moment.defineLocale('fi', {
|
57 |
-
months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
|
58 |
-
monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
|
59 |
-
weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
|
60 |
-
weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
|
61 |
-
weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
|
62 |
-
longDateFormat : {
|
63 |
-
LT : 'HH.mm',
|
64 |
-
LTS : 'HH.mm.ss',
|
65 |
-
L : 'DD.MM.YYYY',
|
66 |
-
LL : 'Do MMMM[ta] YYYY',
|
67 |
-
LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
|
68 |
-
LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
|
69 |
-
l : 'D.M.YYYY',
|
70 |
-
ll : 'Do MMM YYYY',
|
71 |
-
lll : 'Do MMM YYYY, [klo] HH.mm',
|
72 |
-
llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
|
73 |
-
},
|
74 |
-
calendar : {
|
75 |
-
sameDay : '[tänään] [klo] LT',
|
76 |
-
nextDay : '[huomenna] [klo] LT',
|
77 |
-
nextWeek : 'dddd [klo] LT',
|
78 |
-
lastDay : '[eilen] [klo] LT',
|
79 |
-
lastWeek : '[viime] dddd[na] [klo] LT',
|
80 |
-
sameElse : 'L'
|
81 |
-
},
|
82 |
-
relativeTime : {
|
83 |
-
future : '%s päästä',
|
84 |
-
past : '%s sitten',
|
85 |
-
s : translate,
|
86 |
-
m : translate,
|
87 |
-
mm : translate,
|
88 |
-
h : translate,
|
89 |
-
hh : translate,
|
90 |
-
d : translate,
|
91 |
-
dd : translate,
|
92 |
-
M : translate,
|
93 |
-
MM : translate,
|
94 |
-
y : translate,
|
95 |
-
yy : translate
|
96 |
-
},
|
97 |
-
ordinalParse: /\d{1,2}\./,
|
98 |
-
ordinal : '%d.',
|
99 |
-
week : {
|
100 |
-
dow : 1, // Monday is the first day of the week.
|
101 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
102 |
-
}
|
103 |
-
});
|
104 |
-
|
105 |
-
return fi;
|
106 |
-
|
107 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,u){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?u(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],u):u(e.moment)}(this,function(e){"use strict";function u(e,u,t,a){var i="";switch(t){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"m":return a?"minuutin":"minuutti";case"mm":i=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":i=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":i=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":i=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":i=a?"vuoden":"vuotta"}return i=n(e,a)+" "+i}function n(e,u){return e<10?u?a[e]:t[e]:e}var t="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),a=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",t[7],t[8],t[9]];return e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,60 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Faroese [fo]
|
3 |
-
//! author : Ragnar Johannesen : https://github.com/ragnar123
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var fo = moment.defineLocale('fo', {
|
14 |
-
months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
|
15 |
-
monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
|
16 |
-
weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
|
17 |
-
weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
|
18 |
-
weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'HH:mm',
|
21 |
-
LTS : 'HH:mm:ss',
|
22 |
-
L : 'DD/MM/YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY HH:mm',
|
25 |
-
LLLL : 'dddd D. MMMM, YYYY HH:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Í dag kl.] LT',
|
29 |
-
nextDay : '[Í morgin kl.] LT',
|
30 |
-
nextWeek : 'dddd [kl.] LT',
|
31 |
-
lastDay : '[Í gjár kl.] LT',
|
32 |
-
lastWeek : '[síðstu] dddd [kl] LT',
|
33 |
-
sameElse : 'L'
|
34 |
-
},
|
35 |
-
relativeTime : {
|
36 |
-
future : 'um %s',
|
37 |
-
past : '%s síðani',
|
38 |
-
s : 'fá sekund',
|
39 |
-
m : 'ein minutt',
|
40 |
-
mm : '%d minuttir',
|
41 |
-
h : 'ein tími',
|
42 |
-
hh : '%d tímar',
|
43 |
-
d : 'ein dagur',
|
44 |
-
dd : '%d dagar',
|
45 |
-
M : 'ein mánaði',
|
46 |
-
MM : '%d mánaðir',
|
47 |
-
y : 'eitt ár',
|
48 |
-
yy : '%d ár'
|
49 |
-
},
|
50 |
-
ordinalParse: /\d{1,2}\./,
|
51 |
-
ordinal : '%d.',
|
52 |
-
week : {
|
53 |
-
dow : 1, // Monday is the first day of the week.
|
54 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
55 |
-
}
|
56 |
-
});
|
57 |
-
|
58 |
-
return fo;
|
59 |
-
|
60 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,60 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : French (Canada) [fr-ca]
|
3 |
-
//! author : Jonathan Abourbih : https://github.com/jonbca
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var fr_ca = moment.defineLocale('fr-ca', {
|
14 |
-
months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
|
15 |
-
monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
|
16 |
-
monthsParseExact : true,
|
17 |
-
weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
|
18 |
-
weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
|
19 |
-
weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'YYYY-MM-DD',
|
25 |
-
LL : 'D MMMM YYYY',
|
26 |
-
LLL : 'D MMMM YYYY HH:mm',
|
27 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
28 |
-
},
|
29 |
-
calendar : {
|
30 |
-
sameDay: '[Aujourd\'hui à] LT',
|
31 |
-
nextDay: '[Demain à] LT',
|
32 |
-
nextWeek: 'dddd [à] LT',
|
33 |
-
lastDay: '[Hier à] LT',
|
34 |
-
lastWeek: 'dddd [dernier à] LT',
|
35 |
-
sameElse: 'L'
|
36 |
-
},
|
37 |
-
relativeTime : {
|
38 |
-
future : 'dans %s',
|
39 |
-
past : 'il y a %s',
|
40 |
-
s : 'quelques secondes',
|
41 |
-
m : 'une minute',
|
42 |
-
mm : '%d minutes',
|
43 |
-
h : 'une heure',
|
44 |
-
hh : '%d heures',
|
45 |
-
d : 'un jour',
|
46 |
-
dd : '%d jours',
|
47 |
-
M : 'un mois',
|
48 |
-
MM : '%d mois',
|
49 |
-
y : 'un an',
|
50 |
-
yy : '%d ans'
|
51 |
-
},
|
52 |
-
ordinalParse: /\d{1,2}(er|e)/,
|
53 |
-
ordinal : function (number) {
|
54 |
-
return number + (number === 1 ? 'er' : 'e');
|
55 |
-
}
|
56 |
-
});
|
57 |
-
|
58 |
-
return fr_ca;
|
59 |
-
|
60 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";return e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(e){return e+(1===e?"er":"e")}})});
|
|
@@ -1,64 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : French (Switzerland) [fr-ch]
|
3 |
-
//! author : Gaspard Bucher : https://github.com/gaspard
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var fr_ch = moment.defineLocale('fr-ch', {
|
14 |
-
months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
|
15 |
-
monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
|
16 |
-
monthsParseExact : true,
|
17 |
-
weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
|
18 |
-
weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
|
19 |
-
weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'DD.MM.YYYY',
|
25 |
-
LL : 'D MMMM YYYY',
|
26 |
-
LLL : 'D MMMM YYYY HH:mm',
|
27 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
28 |
-
},
|
29 |
-
calendar : {
|
30 |
-
sameDay: '[Aujourd\'hui à] LT',
|
31 |
-
nextDay: '[Demain à] LT',
|
32 |
-
nextWeek: 'dddd [à] LT',
|
33 |
-
lastDay: '[Hier à] LT',
|
34 |
-
lastWeek: 'dddd [dernier à] LT',
|
35 |
-
sameElse: 'L'
|
36 |
-
},
|
37 |
-
relativeTime : {
|
38 |
-
future : 'dans %s',
|
39 |
-
past : 'il y a %s',
|
40 |
-
s : 'quelques secondes',
|
41 |
-
m : 'une minute',
|
42 |
-
mm : '%d minutes',
|
43 |
-
h : 'une heure',
|
44 |
-
hh : '%d heures',
|
45 |
-
d : 'un jour',
|
46 |
-
dd : '%d jours',
|
47 |
-
M : 'un mois',
|
48 |
-
MM : '%d mois',
|
49 |
-
y : 'un an',
|
50 |
-
yy : '%d ans'
|
51 |
-
},
|
52 |
-
ordinalParse: /\d{1,2}(er|e)/,
|
53 |
-
ordinal : function (number) {
|
54 |
-
return number + (number === 1 ? 'er' : 'e');
|
55 |
-
},
|
56 |
-
week : {
|
57 |
-
dow : 1, // Monday is the first day of the week.
|
58 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
59 |
-
}
|
60 |
-
});
|
61 |
-
|
62 |
-
return fr_ch;
|
63 |
-
|
64 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";return e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(e){return e+(1===e?"er":"e")},week:{dow:1,doy:4}})});
|
|
@@ -1,64 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : French [fr]
|
3 |
-
//! author : John Fischer : https://github.com/jfroffice
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var fr = moment.defineLocale('fr', {
|
14 |
-
months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
|
15 |
-
monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
|
16 |
-
monthsParseExact : true,
|
17 |
-
weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
|
18 |
-
weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
|
19 |
-
weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'DD/MM/YYYY',
|
25 |
-
LL : 'D MMMM YYYY',
|
26 |
-
LLL : 'D MMMM YYYY HH:mm',
|
27 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
28 |
-
},
|
29 |
-
calendar : {
|
30 |
-
sameDay: '[Aujourd\'hui à] LT',
|
31 |
-
nextDay: '[Demain à] LT',
|
32 |
-
nextWeek: 'dddd [à] LT',
|
33 |
-
lastDay: '[Hier à] LT',
|
34 |
-
lastWeek: 'dddd [dernier à] LT',
|
35 |
-
sameElse: 'L'
|
36 |
-
},
|
37 |
-
relativeTime : {
|
38 |
-
future : 'dans %s',
|
39 |
-
past : 'il y a %s',
|
40 |
-
s : 'quelques secondes',
|
41 |
-
m : 'une minute',
|
42 |
-
mm : '%d minutes',
|
43 |
-
h : 'une heure',
|
44 |
-
hh : '%d heures',
|
45 |
-
d : 'un jour',
|
46 |
-
dd : '%d jours',
|
47 |
-
M : 'un mois',
|
48 |
-
MM : '%d mois',
|
49 |
-
y : 'un an',
|
50 |
-
yy : '%d ans'
|
51 |
-
},
|
52 |
-
ordinalParse: /\d{1,2}(er|)/,
|
53 |
-
ordinal : function (number) {
|
54 |
-
return number + (number === 1 ? 'er' : '');
|
55 |
-
},
|
56 |
-
week : {
|
57 |
-
dow : 1, // Monday is the first day of the week.
|
58 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
59 |
-
}
|
60 |
-
});
|
61 |
-
|
62 |
-
return fr;
|
63 |
-
|
64 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";return e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(e){return e+(1===e?"er":"")},week:{dow:1,doy:4}})});
|
|
@@ -1,73 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Frisian [fy]
|
3 |
-
//! author : Robin van der Vliet : https://github.com/robin0van0der0v
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
|
14 |
-
monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
|
15 |
-
|
16 |
-
var fy = moment.defineLocale('fy', {
|
17 |
-
months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
|
18 |
-
monthsShort : function (m, format) {
|
19 |
-
if (/-MMM-/.test(format)) {
|
20 |
-
return monthsShortWithoutDots[m.month()];
|
21 |
-
} else {
|
22 |
-
return monthsShortWithDots[m.month()];
|
23 |
-
}
|
24 |
-
},
|
25 |
-
monthsParseExact : true,
|
26 |
-
weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
|
27 |
-
weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
|
28 |
-
weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
|
29 |
-
weekdaysParseExact : true,
|
30 |
-
longDateFormat : {
|
31 |
-
LT : 'HH:mm',
|
32 |
-
LTS : 'HH:mm:ss',
|
33 |
-
L : 'DD-MM-YYYY',
|
34 |
-
LL : 'D MMMM YYYY',
|
35 |
-
LLL : 'D MMMM YYYY HH:mm',
|
36 |
-
LLLL : 'dddd D MMMM YYYY HH:mm'
|
37 |
-
},
|
38 |
-
calendar : {
|
39 |
-
sameDay: '[hjoed om] LT',
|
40 |
-
nextDay: '[moarn om] LT',
|
41 |
-
nextWeek: 'dddd [om] LT',
|
42 |
-
lastDay: '[juster om] LT',
|
43 |
-
lastWeek: '[ôfrûne] dddd [om] LT',
|
44 |
-
sameElse: 'L'
|
45 |
-
},
|
46 |
-
relativeTime : {
|
47 |
-
future : 'oer %s',
|
48 |
-
past : '%s lyn',
|
49 |
-
s : 'in pear sekonden',
|
50 |
-
m : 'ien minút',
|
51 |
-
mm : '%d minuten',
|
52 |
-
h : 'ien oere',
|
53 |
-
hh : '%d oeren',
|
54 |
-
d : 'ien dei',
|
55 |
-
dd : '%d dagen',
|
56 |
-
M : 'ien moanne',
|
57 |
-
MM : '%d moannen',
|
58 |
-
y : 'ien jier',
|
59 |
-
yy : '%d jierren'
|
60 |
-
},
|
61 |
-
ordinalParse: /\d{1,2}(ste|de)/,
|
62 |
-
ordinal : function (number) {
|
63 |
-
return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
|
64 |
-
},
|
65 |
-
week : {
|
66 |
-
dow : 1, // Monday is the first day of the week.
|
67 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
68 |
-
}
|
69 |
-
});
|
70 |
-
|
71 |
-
return fy;
|
72 |
-
|
73 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";var n="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),t="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");return e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,o){return/-MMM-/.test(o)?t[e.month()]:n[e.month()]},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})});
|
|
@@ -1,76 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Scottish Gaelic [gd]
|
3 |
-
//! author : Jon Ashdown : https://github.com/jonashdown
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var months = [
|
14 |
-
'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
|
15 |
-
];
|
16 |
-
|
17 |
-
var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
|
18 |
-
|
19 |
-
var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
|
20 |
-
|
21 |
-
var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
|
22 |
-
|
23 |
-
var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
|
24 |
-
|
25 |
-
var gd = moment.defineLocale('gd', {
|
26 |
-
months : months,
|
27 |
-
monthsShort : monthsShort,
|
28 |
-
monthsParseExact : true,
|
29 |
-
weekdays : weekdays,
|
30 |
-
weekdaysShort : weekdaysShort,
|
31 |
-
weekdaysMin : weekdaysMin,
|
32 |
-
longDateFormat : {
|
33 |
-
LT : 'HH:mm',
|
34 |
-
LTS : 'HH:mm:ss',
|
35 |
-
L : 'DD/MM/YYYY',
|
36 |
-
LL : 'D MMMM YYYY',
|
37 |
-
LLL : 'D MMMM YYYY HH:mm',
|
38 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
39 |
-
},
|
40 |
-
calendar : {
|
41 |
-
sameDay : '[An-diugh aig] LT',
|
42 |
-
nextDay : '[A-màireach aig] LT',
|
43 |
-
nextWeek : 'dddd [aig] LT',
|
44 |
-
lastDay : '[An-dè aig] LT',
|
45 |
-
lastWeek : 'dddd [seo chaidh] [aig] LT',
|
46 |
-
sameElse : 'L'
|
47 |
-
},
|
48 |
-
relativeTime : {
|
49 |
-
future : 'ann an %s',
|
50 |
-
past : 'bho chionn %s',
|
51 |
-
s : 'beagan diogan',
|
52 |
-
m : 'mionaid',
|
53 |
-
mm : '%d mionaidean',
|
54 |
-
h : 'uair',
|
55 |
-
hh : '%d uairean',
|
56 |
-
d : 'latha',
|
57 |
-
dd : '%d latha',
|
58 |
-
M : 'mìos',
|
59 |
-
MM : '%d mìosan',
|
60 |
-
y : 'bliadhna',
|
61 |
-
yy : '%d bliadhna'
|
62 |
-
},
|
63 |
-
ordinalParse : /\d{1,2}(d|na|mh)/,
|
64 |
-
ordinal : function (number) {
|
65 |
-
var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
|
66 |
-
return number + output;
|
67 |
-
},
|
68 |
-
week : {
|
69 |
-
dow : 1, // Monday is the first day of the week.
|
70 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
71 |
-
}
|
72 |
-
});
|
73 |
-
|
74 |
-
return gd;
|
75 |
-
|
76 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(a,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(a.moment)}(this,function(a){"use strict";var n=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],i=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],e=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],d=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],t=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];return a.defineLocale("gd",{months:n,monthsShort:i,monthsParseExact:!0,weekdays:e,weekdaysShort:d,weekdaysMin:t,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},ordinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(a){return a+(1===a?"d":a%10==2?"na":"mh")},week:{dow:1,doy:4}})});
|
|
@@ -1,77 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Galician [gl]
|
3 |
-
//! author : Juan G. Hurtado : https://github.com/juanghurtado
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var gl = moment.defineLocale('gl', {
|
14 |
-
months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
|
15 |
-
monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
|
16 |
-
monthsParseExact: true,
|
17 |
-
weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
|
18 |
-
weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
|
19 |
-
weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
|
20 |
-
weekdaysParseExact : true,
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'H:mm',
|
23 |
-
LTS : 'H:mm:ss',
|
24 |
-
L : 'DD/MM/YYYY',
|
25 |
-
LL : 'D [de] MMMM [de] YYYY',
|
26 |
-
LLL : 'D [de] MMMM [de] YYYY H:mm',
|
27 |
-
LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
|
28 |
-
},
|
29 |
-
calendar : {
|
30 |
-
sameDay : function () {
|
31 |
-
return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
|
32 |
-
},
|
33 |
-
nextDay : function () {
|
34 |
-
return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
|
35 |
-
},
|
36 |
-
nextWeek : function () {
|
37 |
-
return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
|
38 |
-
},
|
39 |
-
lastDay : function () {
|
40 |
-
return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
|
41 |
-
},
|
42 |
-
lastWeek : function () {
|
43 |
-
return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
|
44 |
-
},
|
45 |
-
sameElse : 'L'
|
46 |
-
},
|
47 |
-
relativeTime : {
|
48 |
-
future : function (str) {
|
49 |
-
if (str.indexOf('un') === 0) {
|
50 |
-
return 'n' + str;
|
51 |
-
}
|
52 |
-
return 'en ' + str;
|
53 |
-
},
|
54 |
-
past : 'hai %s',
|
55 |
-
s : 'uns segundos',
|
56 |
-
m : 'un minuto',
|
57 |
-
mm : '%d minutos',
|
58 |
-
h : 'unha hora',
|
59 |
-
hh : '%d horas',
|
60 |
-
d : 'un día',
|
61 |
-
dd : '%d días',
|
62 |
-
M : 'un mes',
|
63 |
-
MM : '%d meses',
|
64 |
-
y : 'un ano',
|
65 |
-
yy : '%d anos'
|
66 |
-
},
|
67 |
-
ordinalParse : /\d{1,2}º/,
|
68 |
-
ordinal : '%dº',
|
69 |
-
week : {
|
70 |
-
dow : 1, // Monday is the first day of the week.
|
71 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
72 |
-
}
|
73 |
-
});
|
74 |
-
|
75 |
-
return gl;
|
76 |
-
|
77 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?o(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],o):o(e.moment)}(this,function(e){"use strict";return e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})});
|
|
@@ -1,99 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Hebrew [he]
|
3 |
-
//! author : Tomer Cohen : https://github.com/tomer
|
4 |
-
//! author : Moshe Simantov : https://github.com/DevelopmentIL
|
5 |
-
//! author : Tal Ater : https://github.com/TalAter
|
6 |
-
|
7 |
-
;(function (global, factory) {
|
8 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
9 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
10 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
11 |
-
factory(global.moment)
|
12 |
-
}(this, function (moment) { 'use strict';
|
13 |
-
|
14 |
-
|
15 |
-
var he = moment.defineLocale('he', {
|
16 |
-
months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
|
17 |
-
monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
|
18 |
-
weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
|
19 |
-
weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
|
20 |
-
weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
|
21 |
-
longDateFormat : {
|
22 |
-
LT : 'HH:mm',
|
23 |
-
LTS : 'HH:mm:ss',
|
24 |
-
L : 'DD/MM/YYYY',
|
25 |
-
LL : 'D [ב]MMMM YYYY',
|
26 |
-
LLL : 'D [ב]MMMM YYYY HH:mm',
|
27 |
-
LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
|
28 |
-
l : 'D/M/YYYY',
|
29 |
-
ll : 'D MMM YYYY',
|
30 |
-
lll : 'D MMM YYYY HH:mm',
|
31 |
-
llll : 'ddd, D MMM YYYY HH:mm'
|
32 |
-
},
|
33 |
-
calendar : {
|
34 |
-
sameDay : '[היום ב־]LT',
|
35 |
-
nextDay : '[מחר ב־]LT',
|
36 |
-
nextWeek : 'dddd [בשעה] LT',
|
37 |
-
lastDay : '[אתמול ב־]LT',
|
38 |
-
lastWeek : '[ביום] dddd [האחרון בשעה] LT',
|
39 |
-
sameElse : 'L'
|
40 |
-
},
|
41 |
-
relativeTime : {
|
42 |
-
future : 'בעוד %s',
|
43 |
-
past : 'לפני %s',
|
44 |
-
s : 'מספר שניות',
|
45 |
-
m : 'דקה',
|
46 |
-
mm : '%d דקות',
|
47 |
-
h : 'שעה',
|
48 |
-
hh : function (number) {
|
49 |
-
if (number === 2) {
|
50 |
-
return 'שעתיים';
|
51 |
-
}
|
52 |
-
return number + ' שעות';
|
53 |
-
},
|
54 |
-
d : 'יום',
|
55 |
-
dd : function (number) {
|
56 |
-
if (number === 2) {
|
57 |
-
return 'יומיים';
|
58 |
-
}
|
59 |
-
return number + ' ימים';
|
60 |
-
},
|
61 |
-
M : 'חודש',
|
62 |
-
MM : function (number) {
|
63 |
-
if (number === 2) {
|
64 |
-
return 'חודשיים';
|
65 |
-
}
|
66 |
-
return number + ' חודשים';
|
67 |
-
},
|
68 |
-
y : 'שנה',
|
69 |
-
yy : function (number) {
|
70 |
-
if (number === 2) {
|
71 |
-
return 'שנתיים';
|
72 |
-
} else if (number % 10 === 0 && number !== 10) {
|
73 |
-
return number + ' שנה';
|
74 |
-
}
|
75 |
-
return number + ' שנים';
|
76 |
-
}
|
77 |
-
},
|
78 |
-
meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
|
79 |
-
isPM : function (input) {
|
80 |
-
return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
|
81 |
-
},
|
82 |
-
meridiem : function (hour, minute, isLower) {
|
83 |
-
if (hour < 5) {
|
84 |
-
return 'לפנות בוקר';
|
85 |
-
} else if (hour < 10) {
|
86 |
-
return 'בבוקר';
|
87 |
-
} else if (hour < 12) {
|
88 |
-
return isLower ? 'לפנה"צ' : 'לפני הצהריים';
|
89 |
-
} else if (hour < 18) {
|
90 |
-
return isLower ? 'אחה"צ' : 'אחרי הצהריים';
|
91 |
-
} else {
|
92 |
-
return 'בערב';
|
93 |
-
}
|
94 |
-
}
|
95 |
-
});
|
96 |
-
|
97 |
-
return he;
|
98 |
-
|
99 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";return e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10==0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,_){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?_?'לפנה"צ':"לפני הצהריים":e<18?_?'אחה"צ':"אחרי הצהריים":"בערב"}})});
|
|
@@ -1,124 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Hindi [hi]
|
3 |
-
//! author : Mayank Singhal : https://github.com/mayanksinghal
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var symbolMap = {
|
14 |
-
'1': '१',
|
15 |
-
'2': '२',
|
16 |
-
'3': '३',
|
17 |
-
'4': '४',
|
18 |
-
'5': '५',
|
19 |
-
'6': '६',
|
20 |
-
'7': '७',
|
21 |
-
'8': '८',
|
22 |
-
'9': '९',
|
23 |
-
'0': '०'
|
24 |
-
},
|
25 |
-
numberMap = {
|
26 |
-
'१': '1',
|
27 |
-
'२': '2',
|
28 |
-
'३': '3',
|
29 |
-
'४': '4',
|
30 |
-
'५': '5',
|
31 |
-
'६': '6',
|
32 |
-
'७': '7',
|
33 |
-
'८': '8',
|
34 |
-
'९': '9',
|
35 |
-
'०': '0'
|
36 |
-
};
|
37 |
-
|
38 |
-
var hi = moment.defineLocale('hi', {
|
39 |
-
months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
|
40 |
-
monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
|
41 |
-
monthsParseExact: true,
|
42 |
-
weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
|
43 |
-
weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
|
44 |
-
weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
|
45 |
-
longDateFormat : {
|
46 |
-
LT : 'A h:mm बजे',
|
47 |
-
LTS : 'A h:mm:ss बजे',
|
48 |
-
L : 'DD/MM/YYYY',
|
49 |
-
LL : 'D MMMM YYYY',
|
50 |
-
LLL : 'D MMMM YYYY, A h:mm बजे',
|
51 |
-
LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
|
52 |
-
},
|
53 |
-
calendar : {
|
54 |
-
sameDay : '[आज] LT',
|
55 |
-
nextDay : '[कल] LT',
|
56 |
-
nextWeek : 'dddd, LT',
|
57 |
-
lastDay : '[कल] LT',
|
58 |
-
lastWeek : '[पिछले] dddd, LT',
|
59 |
-
sameElse : 'L'
|
60 |
-
},
|
61 |
-
relativeTime : {
|
62 |
-
future : '%s में',
|
63 |
-
past : '%s पहले',
|
64 |
-
s : 'कुछ ही क्षण',
|
65 |
-
m : 'एक मिनट',
|
66 |
-
mm : '%d मिनट',
|
67 |
-
h : 'एक घंटा',
|
68 |
-
hh : '%d घंटे',
|
69 |
-
d : 'एक दिन',
|
70 |
-
dd : '%d दिन',
|
71 |
-
M : 'एक महीने',
|
72 |
-
MM : '%d महीने',
|
73 |
-
y : 'एक वर्ष',
|
74 |
-
yy : '%d वर्ष'
|
75 |
-
},
|
76 |
-
preparse: function (string) {
|
77 |
-
return string.replace(/[१२३४५६७८९०]/g, function (match) {
|
78 |
-
return numberMap[match];
|
79 |
-
});
|
80 |
-
},
|
81 |
-
postformat: function (string) {
|
82 |
-
return string.replace(/\d/g, function (match) {
|
83 |
-
return symbolMap[match];
|
84 |
-
});
|
85 |
-
},
|
86 |
-
// Hindi notation for meridiems are quite fuzzy in practice. While there exists
|
87 |
-
// a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
|
88 |
-
meridiemParse: /रात|सुबह|दोपहर|शाम/,
|
89 |
-
meridiemHour : function (hour, meridiem) {
|
90 |
-
if (hour === 12) {
|
91 |
-
hour = 0;
|
92 |
-
}
|
93 |
-
if (meridiem === 'रात') {
|
94 |
-
return hour < 4 ? hour : hour + 12;
|
95 |
-
} else if (meridiem === 'सुबह') {
|
96 |
-
return hour;
|
97 |
-
} else if (meridiem === 'दोपहर') {
|
98 |
-
return hour >= 10 ? hour : hour + 12;
|
99 |
-
} else if (meridiem === 'शाम') {
|
100 |
-
return hour + 12;
|
101 |
-
}
|
102 |
-
},
|
103 |
-
meridiem : function (hour, minute, isLower) {
|
104 |
-
if (hour < 4) {
|
105 |
-
return 'रात';
|
106 |
-
} else if (hour < 10) {
|
107 |
-
return 'सुबह';
|
108 |
-
} else if (hour < 17) {
|
109 |
-
return 'दोपहर';
|
110 |
-
} else if (hour < 20) {
|
111 |
-
return 'शाम';
|
112 |
-
} else {
|
113 |
-
return 'रात';
|
114 |
-
}
|
115 |
-
},
|
116 |
-
week : {
|
117 |
-
dow : 0, // Sunday is the first day of the week.
|
118 |
-
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
119 |
-
}
|
120 |
-
});
|
121 |
-
|
122 |
-
return hi;
|
123 |
-
|
124 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?t(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],t):t(e.moment)}(this,function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},_={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return _[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,_){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}})});
|
|
@@ -1,145 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Croatian [hr]
|
3 |
-
//! author : Bojan Marković : https://github.com/bmarkovic
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
function translate(number, withoutSuffix, key) {
|
14 |
-
var result = number + ' ';
|
15 |
-
switch (key) {
|
16 |
-
case 'm':
|
17 |
-
return withoutSuffix ? 'jedna minuta' : 'jedne minute';
|
18 |
-
case 'mm':
|
19 |
-
if (number === 1) {
|
20 |
-
result += 'minuta';
|
21 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
22 |
-
result += 'minute';
|
23 |
-
} else {
|
24 |
-
result += 'minuta';
|
25 |
-
}
|
26 |
-
return result;
|
27 |
-
case 'h':
|
28 |
-
return withoutSuffix ? 'jedan sat' : 'jednog sata';
|
29 |
-
case 'hh':
|
30 |
-
if (number === 1) {
|
31 |
-
result += 'sat';
|
32 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
33 |
-
result += 'sata';
|
34 |
-
} else {
|
35 |
-
result += 'sati';
|
36 |
-
}
|
37 |
-
return result;
|
38 |
-
case 'dd':
|
39 |
-
if (number === 1) {
|
40 |
-
result += 'dan';
|
41 |
-
} else {
|
42 |
-
result += 'dana';
|
43 |
-
}
|
44 |
-
return result;
|
45 |
-
case 'MM':
|
46 |
-
if (number === 1) {
|
47 |
-
result += 'mjesec';
|
48 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
49 |
-
result += 'mjeseca';
|
50 |
-
} else {
|
51 |
-
result += 'mjeseci';
|
52 |
-
}
|
53 |
-
return result;
|
54 |
-
case 'yy':
|
55 |
-
if (number === 1) {
|
56 |
-
result += 'godina';
|
57 |
-
} else if (number === 2 || number === 3 || number === 4) {
|
58 |
-
result += 'godine';
|
59 |
-
} else {
|
60 |
-
result += 'godina';
|
61 |
-
}
|
62 |
-
return result;
|
63 |
-
}
|
64 |
-
}
|
65 |
-
|
66 |
-
var hr = moment.defineLocale('hr', {
|
67 |
-
months : {
|
68 |
-
format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
|
69 |
-
standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
|
70 |
-
},
|
71 |
-
monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
|
72 |
-
monthsParseExact: true,
|
73 |
-
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
|
74 |
-
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
|
75 |
-
weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
|
76 |
-
weekdaysParseExact : true,
|
77 |
-
longDateFormat : {
|
78 |
-
LT : 'H:mm',
|
79 |
-
LTS : 'H:mm:ss',
|
80 |
-
L : 'DD.MM.YYYY',
|
81 |
-
LL : 'D. MMMM YYYY',
|
82 |
-
LLL : 'D. MMMM YYYY H:mm',
|
83 |
-
LLLL : 'dddd, D. MMMM YYYY H:mm'
|
84 |
-
},
|
85 |
-
calendar : {
|
86 |
-
sameDay : '[danas u] LT',
|
87 |
-
nextDay : '[sutra u] LT',
|
88 |
-
nextWeek : function () {
|
89 |
-
switch (this.day()) {
|
90 |
-
case 0:
|
91 |
-
return '[u] [nedjelju] [u] LT';
|
92 |
-
case 3:
|
93 |
-
return '[u] [srijedu] [u] LT';
|
94 |
-
case 6:
|
95 |
-
return '[u] [subotu] [u] LT';
|
96 |
-
case 1:
|
97 |
-
case 2:
|
98 |
-
case 4:
|
99 |
-
case 5:
|
100 |
-
return '[u] dddd [u] LT';
|
101 |
-
}
|
102 |
-
},
|
103 |
-
lastDay : '[jučer u] LT',
|
104 |
-
lastWeek : function () {
|
105 |
-
switch (this.day()) {
|
106 |
-
case 0:
|
107 |
-
case 3:
|
108 |
-
return '[prošlu] dddd [u] LT';
|
109 |
-
case 6:
|
110 |
-
return '[prošle] [subote] [u] LT';
|
111 |
-
case 1:
|
112 |
-
case 2:
|
113 |
-
case 4:
|
114 |
-
case 5:
|
115 |
-
return '[prošli] dddd [u] LT';
|
116 |
-
}
|
117 |
-
},
|
118 |
-
sameElse : 'L'
|
119 |
-
},
|
120 |
-
relativeTime : {
|
121 |
-
future : 'za %s',
|
122 |
-
past : 'prije %s',
|
123 |
-
s : 'par sekundi',
|
124 |
-
m : translate,
|
125 |
-
mm : translate,
|
126 |
-
h : translate,
|
127 |
-
hh : translate,
|
128 |
-
d : 'dan',
|
129 |
-
dd : translate,
|
130 |
-
M : 'mjesec',
|
131 |
-
MM : translate,
|
132 |
-
y : 'godinu',
|
133 |
-
yy : translate
|
134 |
-
},
|
135 |
-
ordinalParse: /\d{1,2}\./,
|
136 |
-
ordinal : '%d.',
|
137 |
-
week : {
|
138 |
-
dow : 1, // Monday is the first day of the week.
|
139 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
140 |
-
}
|
141 |
-
});
|
142 |
-
|
143 |
-
return hr;
|
144 |
-
|
145 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";function a(e,a,s){var t=e+" ";switch(s){case"m":return a?"jedna minuta":"jedne minute";case"mm":return t+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return t+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return t+=1===e?"dan":"dana";case"MM":return t+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return t+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}return e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:a,mm:a,h:a,hh:a,d:"dan",dd:a,M:"mjesec",MM:a,y:"godinu",yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})});
|
|
@@ -1,109 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Hungarian [hu]
|
3 |
-
//! author : Adam Brunner : https://github.com/adambrunner
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
|
14 |
-
function translate(number, withoutSuffix, key, isFuture) {
|
15 |
-
var num = number,
|
16 |
-
suffix;
|
17 |
-
switch (key) {
|
18 |
-
case 's':
|
19 |
-
return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
|
20 |
-
case 'm':
|
21 |
-
return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
|
22 |
-
case 'mm':
|
23 |
-
return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
|
24 |
-
case 'h':
|
25 |
-
return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
|
26 |
-
case 'hh':
|
27 |
-
return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
|
28 |
-
case 'd':
|
29 |
-
return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
|
30 |
-
case 'dd':
|
31 |
-
return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
|
32 |
-
case 'M':
|
33 |
-
return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
|
34 |
-
case 'MM':
|
35 |
-
return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
|
36 |
-
case 'y':
|
37 |
-
return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
|
38 |
-
case 'yy':
|
39 |
-
return num + (isFuture || withoutSuffix ? ' év' : ' éve');
|
40 |
-
}
|
41 |
-
return '';
|
42 |
-
}
|
43 |
-
function week(isFuture) {
|
44 |
-
return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
|
45 |
-
}
|
46 |
-
|
47 |
-
var hu = moment.defineLocale('hu', {
|
48 |
-
months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
|
49 |
-
monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
|
50 |
-
weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
|
51 |
-
weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
|
52 |
-
weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
|
53 |
-
longDateFormat : {
|
54 |
-
LT : 'H:mm',
|
55 |
-
LTS : 'H:mm:ss',
|
56 |
-
L : 'YYYY.MM.DD.',
|
57 |
-
LL : 'YYYY. MMMM D.',
|
58 |
-
LLL : 'YYYY. MMMM D. H:mm',
|
59 |
-
LLLL : 'YYYY. MMMM D., dddd H:mm'
|
60 |
-
},
|
61 |
-
meridiemParse: /de|du/i,
|
62 |
-
isPM: function (input) {
|
63 |
-
return input.charAt(1).toLowerCase() === 'u';
|
64 |
-
},
|
65 |
-
meridiem : function (hours, minutes, isLower) {
|
66 |
-
if (hours < 12) {
|
67 |
-
return isLower === true ? 'de' : 'DE';
|
68 |
-
} else {
|
69 |
-
return isLower === true ? 'du' : 'DU';
|
70 |
-
}
|
71 |
-
},
|
72 |
-
calendar : {
|
73 |
-
sameDay : '[ma] LT[-kor]',
|
74 |
-
nextDay : '[holnap] LT[-kor]',
|
75 |
-
nextWeek : function () {
|
76 |
-
return week.call(this, true);
|
77 |
-
},
|
78 |
-
lastDay : '[tegnap] LT[-kor]',
|
79 |
-
lastWeek : function () {
|
80 |
-
return week.call(this, false);
|
81 |
-
},
|
82 |
-
sameElse : 'L'
|
83 |
-
},
|
84 |
-
relativeTime : {
|
85 |
-
future : '%s múlva',
|
86 |
-
past : '%s',
|
87 |
-
s : translate,
|
88 |
-
m : translate,
|
89 |
-
mm : translate,
|
90 |
-
h : translate,
|
91 |
-
hh : translate,
|
92 |
-
d : translate,
|
93 |
-
dd : translate,
|
94 |
-
M : translate,
|
95 |
-
MM : translate,
|
96 |
-
y : translate,
|
97 |
-
yy : translate
|
98 |
-
},
|
99 |
-
ordinalParse: /\d{1,2}\./,
|
100 |
-
ordinal : '%d.',
|
101 |
-
week : {
|
102 |
-
dow : 1, // Monday is the first day of the week.
|
103 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
104 |
-
}
|
105 |
-
});
|
106 |
-
|
107 |
-
return hu;
|
108 |
-
|
109 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?r(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],r):r(e.moment)}(this,function(e){"use strict";function r(e,r,n,t){var a=e;switch(n){case"s":return t||r?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(t||r?" perc":" perce");case"mm":return a+(t||r?" perc":" perce");case"h":return"egy"+(t||r?" óra":" órája");case"hh":return a+(t||r?" óra":" órája");case"d":return"egy"+(t||r?" nap":" napja");case"dd":return a+(t||r?" nap":" napja");case"M":return"egy"+(t||r?" hónap":" hónapja");case"MM":return a+(t||r?" hónap":" hónapja");case"y":return"egy"+(t||r?" év":" éve");case"yy":return a+(t||r?" év":" éve")}return""}function n(e){return(e?"":"[múlt] ")+"["+t[this.day()]+"] LT[-kor]"}var t="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,r,n){return e<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return n.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return n.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})});
|
|
@@ -1,95 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Armenian [hy-am]
|
3 |
-
//! author : Armendarabyan : https://github.com/armendarabyan
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var hy_am = moment.defineLocale('hy-am', {
|
14 |
-
months : {
|
15 |
-
format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
|
16 |
-
standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
|
17 |
-
},
|
18 |
-
monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
|
19 |
-
weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
|
20 |
-
weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
|
21 |
-
weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
|
22 |
-
longDateFormat : {
|
23 |
-
LT : 'HH:mm',
|
24 |
-
LTS : 'HH:mm:ss',
|
25 |
-
L : 'DD.MM.YYYY',
|
26 |
-
LL : 'D MMMM YYYY թ.',
|
27 |
-
LLL : 'D MMMM YYYY թ., HH:mm',
|
28 |
-
LLLL : 'dddd, D MMMM YYYY թ., HH:mm'
|
29 |
-
},
|
30 |
-
calendar : {
|
31 |
-
sameDay: '[այսօր] LT',
|
32 |
-
nextDay: '[վաղը] LT',
|
33 |
-
lastDay: '[երեկ] LT',
|
34 |
-
nextWeek: function () {
|
35 |
-
return 'dddd [օրը ժամը] LT';
|
36 |
-
},
|
37 |
-
lastWeek: function () {
|
38 |
-
return '[անցած] dddd [օրը ժամը] LT';
|
39 |
-
},
|
40 |
-
sameElse: 'L'
|
41 |
-
},
|
42 |
-
relativeTime : {
|
43 |
-
future : '%s հետո',
|
44 |
-
past : '%s առաջ',
|
45 |
-
s : 'մի քանի վայրկյան',
|
46 |
-
m : 'րոպե',
|
47 |
-
mm : '%d րոպե',
|
48 |
-
h : 'ժամ',
|
49 |
-
hh : '%d ժամ',
|
50 |
-
d : 'օր',
|
51 |
-
dd : '%d օր',
|
52 |
-
M : 'ամիս',
|
53 |
-
MM : '%d ամիս',
|
54 |
-
y : 'տարի',
|
55 |
-
yy : '%d տարի'
|
56 |
-
},
|
57 |
-
meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
|
58 |
-
isPM: function (input) {
|
59 |
-
return /^(ցերեկվա|երեկոյան)$/.test(input);
|
60 |
-
},
|
61 |
-
meridiem : function (hour) {
|
62 |
-
if (hour < 4) {
|
63 |
-
return 'գիշերվա';
|
64 |
-
} else if (hour < 12) {
|
65 |
-
return 'առավոտվա';
|
66 |
-
} else if (hour < 17) {
|
67 |
-
return 'ցերեկվա';
|
68 |
-
} else {
|
69 |
-
return 'երեկոյան';
|
70 |
-
}
|
71 |
-
},
|
72 |
-
ordinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
|
73 |
-
ordinal: function (number, period) {
|
74 |
-
switch (period) {
|
75 |
-
case 'DDD':
|
76 |
-
case 'w':
|
77 |
-
case 'W':
|
78 |
-
case 'DDDo':
|
79 |
-
if (number === 1) {
|
80 |
-
return number + '-ին';
|
81 |
-
}
|
82 |
-
return number + '-րդ';
|
83 |
-
default:
|
84 |
-
return number;
|
85 |
-
}
|
86 |
-
},
|
87 |
-
week : {
|
88 |
-
dow : 1, // Monday is the first day of the week.
|
89 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
90 |
-
}
|
91 |
-
});
|
92 |
-
|
93 |
-
return hy_am;
|
94 |
-
|
95 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},ordinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,_){switch(_){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}})});
|
|
@@ -1,83 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Indonesian [id]
|
3 |
-
//! author : Mohammad Satrio Utomo : https://github.com/tyok
|
4 |
-
//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var id = moment.defineLocale('id', {
|
15 |
-
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
|
16 |
-
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),
|
17 |
-
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
|
18 |
-
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
|
19 |
-
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
|
20 |
-
longDateFormat : {
|
21 |
-
LT : 'HH.mm',
|
22 |
-
LTS : 'HH.mm.ss',
|
23 |
-
L : 'DD/MM/YYYY',
|
24 |
-
LL : 'D MMMM YYYY',
|
25 |
-
LLL : 'D MMMM YYYY [pukul] HH.mm',
|
26 |
-
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
|
27 |
-
},
|
28 |
-
meridiemParse: /pagi|siang|sore|malam/,
|
29 |
-
meridiemHour : function (hour, meridiem) {
|
30 |
-
if (hour === 12) {
|
31 |
-
hour = 0;
|
32 |
-
}
|
33 |
-
if (meridiem === 'pagi') {
|
34 |
-
return hour;
|
35 |
-
} else if (meridiem === 'siang') {
|
36 |
-
return hour >= 11 ? hour : hour + 12;
|
37 |
-
} else if (meridiem === 'sore' || meridiem === 'malam') {
|
38 |
-
return hour + 12;
|
39 |
-
}
|
40 |
-
},
|
41 |
-
meridiem : function (hours, minutes, isLower) {
|
42 |
-
if (hours < 11) {
|
43 |
-
return 'pagi';
|
44 |
-
} else if (hours < 15) {
|
45 |
-
return 'siang';
|
46 |
-
} else if (hours < 19) {
|
47 |
-
return 'sore';
|
48 |
-
} else {
|
49 |
-
return 'malam';
|
50 |
-
}
|
51 |
-
},
|
52 |
-
calendar : {
|
53 |
-
sameDay : '[Hari ini pukul] LT',
|
54 |
-
nextDay : '[Besok pukul] LT',
|
55 |
-
nextWeek : 'dddd [pukul] LT',
|
56 |
-
lastDay : '[Kemarin pukul] LT',
|
57 |
-
lastWeek : 'dddd [lalu pukul] LT',
|
58 |
-
sameElse : 'L'
|
59 |
-
},
|
60 |
-
relativeTime : {
|
61 |
-
future : 'dalam %s',
|
62 |
-
past : '%s yang lalu',
|
63 |
-
s : 'beberapa detik',
|
64 |
-
m : 'semenit',
|
65 |
-
mm : '%d menit',
|
66 |
-
h : 'sejam',
|
67 |
-
hh : '%d jam',
|
68 |
-
d : 'sehari',
|
69 |
-
dd : '%d hari',
|
70 |
-
M : 'sebulan',
|
71 |
-
MM : '%d bulan',
|
72 |
-
y : 'setahun',
|
73 |
-
yy : '%d tahun'
|
74 |
-
},
|
75 |
-
week : {
|
76 |
-
dow : 1, // Monday is the first day of the week.
|
77 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
78 |
-
}
|
79 |
-
});
|
80 |
-
|
81 |
-
return id;
|
82 |
-
|
83 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?e>=11?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,i){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})});
|
|
@@ -1,127 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Icelandic [is]
|
3 |
-
//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
function plural(n) {
|
14 |
-
if (n % 100 === 11) {
|
15 |
-
return true;
|
16 |
-
} else if (n % 10 === 1) {
|
17 |
-
return false;
|
18 |
-
}
|
19 |
-
return true;
|
20 |
-
}
|
21 |
-
function translate(number, withoutSuffix, key, isFuture) {
|
22 |
-
var result = number + ' ';
|
23 |
-
switch (key) {
|
24 |
-
case 's':
|
25 |
-
return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
|
26 |
-
case 'm':
|
27 |
-
return withoutSuffix ? 'mínúta' : 'mínútu';
|
28 |
-
case 'mm':
|
29 |
-
if (plural(number)) {
|
30 |
-
return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
|
31 |
-
} else if (withoutSuffix) {
|
32 |
-
return result + 'mínúta';
|
33 |
-
}
|
34 |
-
return result + 'mínútu';
|
35 |
-
case 'hh':
|
36 |
-
if (plural(number)) {
|
37 |
-
return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
|
38 |
-
}
|
39 |
-
return result + 'klukkustund';
|
40 |
-
case 'd':
|
41 |
-
if (withoutSuffix) {
|
42 |
-
return 'dagur';
|
43 |
-
}
|
44 |
-
return isFuture ? 'dag' : 'degi';
|
45 |
-
case 'dd':
|
46 |
-
if (plural(number)) {
|
47 |
-
if (withoutSuffix) {
|
48 |
-
return result + 'dagar';
|
49 |
-
}
|
50 |
-
return result + (isFuture ? 'daga' : 'dögum');
|
51 |
-
} else if (withoutSuffix) {
|
52 |
-
return result + 'dagur';
|
53 |
-
}
|
54 |
-
return result + (isFuture ? 'dag' : 'degi');
|
55 |
-
case 'M':
|
56 |
-
if (withoutSuffix) {
|
57 |
-
return 'mánuður';
|
58 |
-
}
|
59 |
-
return isFuture ? 'mánuð' : 'mánuði';
|
60 |
-
case 'MM':
|
61 |
-
if (plural(number)) {
|
62 |
-
if (withoutSuffix) {
|
63 |
-
return result + 'mánuðir';
|
64 |
-
}
|
65 |
-
return result + (isFuture ? 'mánuði' : 'mánuðum');
|
66 |
-
} else if (withoutSuffix) {
|
67 |
-
return result + 'mánuður';
|
68 |
-
}
|
69 |
-
return result + (isFuture ? 'mánuð' : 'mánuði');
|
70 |
-
case 'y':
|
71 |
-
return withoutSuffix || isFuture ? 'ár' : 'ári';
|
72 |
-
case 'yy':
|
73 |
-
if (plural(number)) {
|
74 |
-
return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
|
75 |
-
}
|
76 |
-
return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
|
77 |
-
}
|
78 |
-
}
|
79 |
-
|
80 |
-
var is = moment.defineLocale('is', {
|
81 |
-
months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
|
82 |
-
monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
|
83 |
-
weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
|
84 |
-
weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
|
85 |
-
weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
|
86 |
-
longDateFormat : {
|
87 |
-
LT : 'H:mm',
|
88 |
-
LTS : 'H:mm:ss',
|
89 |
-
L : 'DD.MM.YYYY',
|
90 |
-
LL : 'D. MMMM YYYY',
|
91 |
-
LLL : 'D. MMMM YYYY [kl.] H:mm',
|
92 |
-
LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
|
93 |
-
},
|
94 |
-
calendar : {
|
95 |
-
sameDay : '[í dag kl.] LT',
|
96 |
-
nextDay : '[á morgun kl.] LT',
|
97 |
-
nextWeek : 'dddd [kl.] LT',
|
98 |
-
lastDay : '[í gær kl.] LT',
|
99 |
-
lastWeek : '[síðasta] dddd [kl.] LT',
|
100 |
-
sameElse : 'L'
|
101 |
-
},
|
102 |
-
relativeTime : {
|
103 |
-
future : 'eftir %s',
|
104 |
-
past : 'fyrir %s síðan',
|
105 |
-
s : translate,
|
106 |
-
m : translate,
|
107 |
-
mm : translate,
|
108 |
-
h : 'klukkustund',
|
109 |
-
hh : translate,
|
110 |
-
d : translate,
|
111 |
-
dd : translate,
|
112 |
-
M : translate,
|
113 |
-
MM : translate,
|
114 |
-
y : translate,
|
115 |
-
yy : translate
|
116 |
-
},
|
117 |
-
ordinalParse: /\d{1,2}\./,
|
118 |
-
ordinal : '%d.',
|
119 |
-
week : {
|
120 |
-
dow : 1, // Monday is the first day of the week.
|
121 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
122 |
-
}
|
123 |
-
});
|
124 |
-
|
125 |
-
return is;
|
126 |
-
|
127 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?r(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],r):r(e.moment)}(this,function(e){"use strict";function r(e){return e%100==11||e%10!=1}function u(e,u,n,a){var t=e+" ";switch(n){case"s":return u||a?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return u?"mínúta":"mínútu";case"mm":return r(e)?t+(u||a?"mínútur":"mínútum"):u?t+"mínúta":t+"mínútu";case"hh":return r(e)?t+(u||a?"klukkustundir":"klukkustundum"):t+"klukkustund";case"d":return u?"dagur":a?"dag":"degi";case"dd":return r(e)?u?t+"dagar":t+(a?"daga":"dögum"):u?t+"dagur":t+(a?"dag":"degi");case"M":return u?"mánuður":a?"mánuð":"mánuði";case"MM":return r(e)?u?t+"mánuðir":t+(a?"mánuði":"mánuðum"):u?t+"mánuður":t+(a?"mánuð":"mánuði");case"y":return u||a?"ár":"ári";case"yy":return r(e)?t+(u||a?"ár":"árum"):t+(u||a?"ár":"ári")}}return e.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:u,m:u,mm:u,h:"klukkustund",hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,70 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Italian [it]
|
3 |
-
//! author : Lorenzo : https://github.com/aliem
|
4 |
-
//! author: Mattia Larentis: https://github.com/nostalgiaz
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var it = moment.defineLocale('it', {
|
15 |
-
months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
|
16 |
-
monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
|
17 |
-
weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato'.split('_'),
|
18 |
-
weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab'.split('_'),
|
19 |
-
weekdaysMin : 'Do_Lu_Ma_Me_Gi_Ve_Sa'.split('_'),
|
20 |
-
longDateFormat : {
|
21 |
-
LT : 'HH:mm',
|
22 |
-
LTS : 'HH:mm:ss',
|
23 |
-
L : 'DD/MM/YYYY',
|
24 |
-
LL : 'D MMMM YYYY',
|
25 |
-
LLL : 'D MMMM YYYY HH:mm',
|
26 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
27 |
-
},
|
28 |
-
calendar : {
|
29 |
-
sameDay: '[Oggi alle] LT',
|
30 |
-
nextDay: '[Domani alle] LT',
|
31 |
-
nextWeek: 'dddd [alle] LT',
|
32 |
-
lastDay: '[Ieri alle] LT',
|
33 |
-
lastWeek: function () {
|
34 |
-
switch (this.day()) {
|
35 |
-
case 0:
|
36 |
-
return '[la scorsa] dddd [alle] LT';
|
37 |
-
default:
|
38 |
-
return '[lo scorso] dddd [alle] LT';
|
39 |
-
}
|
40 |
-
},
|
41 |
-
sameElse: 'L'
|
42 |
-
},
|
43 |
-
relativeTime : {
|
44 |
-
future : function (s) {
|
45 |
-
return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
|
46 |
-
},
|
47 |
-
past : '%s fa',
|
48 |
-
s : 'alcuni secondi',
|
49 |
-
m : 'un minuto',
|
50 |
-
mm : '%d minuti',
|
51 |
-
h : 'un\'ora',
|
52 |
-
hh : '%d ore',
|
53 |
-
d : 'un giorno',
|
54 |
-
dd : '%d giorni',
|
55 |
-
M : 'un mese',
|
56 |
-
MM : '%d mesi',
|
57 |
-
y : 'un anno',
|
58 |
-
yy : '%d anni'
|
59 |
-
},
|
60 |
-
ordinalParse : /\d{1,2}º/,
|
61 |
-
ordinal: '%dº',
|
62 |
-
week : {
|
63 |
-
dow : 1, // Monday is the first day of the week.
|
64 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
65 |
-
}
|
66 |
-
});
|
67 |
-
|
68 |
-
return it;
|
69 |
-
|
70 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";return e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})});
|
|
@@ -1,76 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Japanese [ja]
|
3 |
-
//! author : LI Long : https://github.com/baryon
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var ja = moment.defineLocale('ja', {
|
14 |
-
months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
|
15 |
-
monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
|
16 |
-
weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
|
17 |
-
weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
|
18 |
-
weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'Ah時m分',
|
21 |
-
LTS : 'Ah時m分s秒',
|
22 |
-
L : 'YYYY/MM/DD',
|
23 |
-
LL : 'YYYY年M月D日',
|
24 |
-
LLL : 'YYYY年M月D日Ah時m分',
|
25 |
-
LLLL : 'YYYY年M月D日Ah時m分 dddd'
|
26 |
-
},
|
27 |
-
meridiemParse: /午前|午後/i,
|
28 |
-
isPM : function (input) {
|
29 |
-
return input === '午後';
|
30 |
-
},
|
31 |
-
meridiem : function (hour, minute, isLower) {
|
32 |
-
if (hour < 12) {
|
33 |
-
return '午前';
|
34 |
-
} else {
|
35 |
-
return '午後';
|
36 |
-
}
|
37 |
-
},
|
38 |
-
calendar : {
|
39 |
-
sameDay : '[今日] LT',
|
40 |
-
nextDay : '[明日] LT',
|
41 |
-
nextWeek : '[来週]dddd LT',
|
42 |
-
lastDay : '[昨日] LT',
|
43 |
-
lastWeek : '[前週]dddd LT',
|
44 |
-
sameElse : 'L'
|
45 |
-
},
|
46 |
-
ordinalParse : /\d{1,2}日/,
|
47 |
-
ordinal : function (number, period) {
|
48 |
-
switch (period) {
|
49 |
-
case 'd':
|
50 |
-
case 'D':
|
51 |
-
case 'DDD':
|
52 |
-
return number + '日';
|
53 |
-
default:
|
54 |
-
return number;
|
55 |
-
}
|
56 |
-
},
|
57 |
-
relativeTime : {
|
58 |
-
future : '%s後',
|
59 |
-
past : '%s前',
|
60 |
-
s : '数秒',
|
61 |
-
m : '1分',
|
62 |
-
mm : '%d分',
|
63 |
-
h : '1時間',
|
64 |
-
hh : '%d時間',
|
65 |
-
d : '1日',
|
66 |
-
dd : '%d日',
|
67 |
-
M : '1ヶ月',
|
68 |
-
MM : '%dヶ月',
|
69 |
-
y : '1年',
|
70 |
-
yy : '%d年'
|
71 |
-
}
|
72 |
-
});
|
73 |
-
|
74 |
-
return ja;
|
75 |
-
|
76 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,_,t){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},ordinalParse:/\d{1,2}日/,ordinal:function(e,_){switch(_){case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})});
|
|
@@ -1,83 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Japanese [jv]
|
3 |
-
//! author : Rony Lantip : https://github.com/lantip
|
4 |
-
//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var jv = moment.defineLocale('jv', {
|
15 |
-
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
|
16 |
-
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
|
17 |
-
weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
|
18 |
-
weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
|
19 |
-
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
|
20 |
-
longDateFormat : {
|
21 |
-
LT : 'HH.mm',
|
22 |
-
LTS : 'HH.mm.ss',
|
23 |
-
L : 'DD/MM/YYYY',
|
24 |
-
LL : 'D MMMM YYYY',
|
25 |
-
LLL : 'D MMMM YYYY [pukul] HH.mm',
|
26 |
-
LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
|
27 |
-
},
|
28 |
-
meridiemParse: /enjing|siyang|sonten|ndalu/,
|
29 |
-
meridiemHour : function (hour, meridiem) {
|
30 |
-
if (hour === 12) {
|
31 |
-
hour = 0;
|
32 |
-
}
|
33 |
-
if (meridiem === 'enjing') {
|
34 |
-
return hour;
|
35 |
-
} else if (meridiem === 'siyang') {
|
36 |
-
return hour >= 11 ? hour : hour + 12;
|
37 |
-
} else if (meridiem === 'sonten' || meridiem === 'ndalu') {
|
38 |
-
return hour + 12;
|
39 |
-
}
|
40 |
-
},
|
41 |
-
meridiem : function (hours, minutes, isLower) {
|
42 |
-
if (hours < 11) {
|
43 |
-
return 'enjing';
|
44 |
-
} else if (hours < 15) {
|
45 |
-
return 'siyang';
|
46 |
-
} else if (hours < 19) {
|
47 |
-
return 'sonten';
|
48 |
-
} else {
|
49 |
-
return 'ndalu';
|
50 |
-
}
|
51 |
-
},
|
52 |
-
calendar : {
|
53 |
-
sameDay : '[Dinten puniko pukul] LT',
|
54 |
-
nextDay : '[Mbenjang pukul] LT',
|
55 |
-
nextWeek : 'dddd [pukul] LT',
|
56 |
-
lastDay : '[Kala wingi pukul] LT',
|
57 |
-
lastWeek : 'dddd [kepengker pukul] LT',
|
58 |
-
sameElse : 'L'
|
59 |
-
},
|
60 |
-
relativeTime : {
|
61 |
-
future : 'wonten ing %s',
|
62 |
-
past : '%s ingkang kepengker',
|
63 |
-
s : 'sawetawis detik',
|
64 |
-
m : 'setunggal menit',
|
65 |
-
mm : '%d menit',
|
66 |
-
h : 'setunggal jam',
|
67 |
-
hh : '%d jam',
|
68 |
-
d : 'sedinten',
|
69 |
-
dd : '%d dinten',
|
70 |
-
M : 'sewulan',
|
71 |
-
MM : '%d wulan',
|
72 |
-
y : 'setaun',
|
73 |
-
yy : '%d taun'
|
74 |
-
},
|
75 |
-
week : {
|
76 |
-
dow : 1, // Monday is the first day of the week.
|
77 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
78 |
-
}
|
79 |
-
});
|
80 |
-
|
81 |
-
return jv;
|
82 |
-
|
83 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";return e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,n){return 12===e&&(e=0),"enjing"===n?e:"siyang"===n?e>=11?e:e+12:"sonten"===n||"ndalu"===n?e+12:void 0},meridiem:function(e,n,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})});
|
|
@@ -1,89 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Georgian [ka]
|
3 |
-
//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var ka = moment.defineLocale('ka', {
|
14 |
-
months : {
|
15 |
-
standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
|
16 |
-
format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
|
17 |
-
},
|
18 |
-
monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
|
19 |
-
weekdays : {
|
20 |
-
standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
|
21 |
-
format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
|
22 |
-
isFormat: /(წინა|შემდეგ)/
|
23 |
-
},
|
24 |
-
weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
|
25 |
-
weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
|
26 |
-
longDateFormat : {
|
27 |
-
LT : 'h:mm A',
|
28 |
-
LTS : 'h:mm:ss A',
|
29 |
-
L : 'DD/MM/YYYY',
|
30 |
-
LL : 'D MMMM YYYY',
|
31 |
-
LLL : 'D MMMM YYYY h:mm A',
|
32 |
-
LLLL : 'dddd, D MMMM YYYY h:mm A'
|
33 |
-
},
|
34 |
-
calendar : {
|
35 |
-
sameDay : '[დღეს] LT[-ზე]',
|
36 |
-
nextDay : '[ხვალ] LT[-ზე]',
|
37 |
-
lastDay : '[გუშინ] LT[-ზე]',
|
38 |
-
nextWeek : '[შემდეგ] dddd LT[-ზე]',
|
39 |
-
lastWeek : '[წინა] dddd LT-ზე',
|
40 |
-
sameElse : 'L'
|
41 |
-
},
|
42 |
-
relativeTime : {
|
43 |
-
future : function (s) {
|
44 |
-
return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
|
45 |
-
s.replace(/ი$/, 'ში') :
|
46 |
-
s + 'ში';
|
47 |
-
},
|
48 |
-
past : function (s) {
|
49 |
-
if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
|
50 |
-
return s.replace(/(ი|ე)$/, 'ის წინ');
|
51 |
-
}
|
52 |
-
if ((/წელი/).test(s)) {
|
53 |
-
return s.replace(/წელი$/, 'წლის წინ');
|
54 |
-
}
|
55 |
-
},
|
56 |
-
s : 'რამდენიმე წამი',
|
57 |
-
m : 'წუთი',
|
58 |
-
mm : '%d წუთი',
|
59 |
-
h : 'საათი',
|
60 |
-
hh : '%d საათი',
|
61 |
-
d : 'დღე',
|
62 |
-
dd : '%d დღე',
|
63 |
-
M : 'თვე',
|
64 |
-
MM : '%d თვე',
|
65 |
-
y : 'წელი',
|
66 |
-
yy : '%d წელი'
|
67 |
-
},
|
68 |
-
ordinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
|
69 |
-
ordinal : function (number) {
|
70 |
-
if (number === 0) {
|
71 |
-
return number;
|
72 |
-
}
|
73 |
-
if (number === 1) {
|
74 |
-
return number + '-ლი';
|
75 |
-
}
|
76 |
-
if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
|
77 |
-
return 'მე-' + number;
|
78 |
-
}
|
79 |
-
return number + '-ე';
|
80 |
-
},
|
81 |
-
week : {
|
82 |
-
dow : 1,
|
83 |
-
doy : 7
|
84 |
-
}
|
85 |
-
});
|
86 |
-
|
87 |
-
return ka;
|
88 |
-
|
89 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(e)?e.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},ordinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20==0||e%100==0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}})});
|
|
@@ -1,87 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Kazakh [kk]
|
3 |
-
//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var suffixes = {
|
14 |
-
0: '-ші',
|
15 |
-
1: '-ші',
|
16 |
-
2: '-ші',
|
17 |
-
3: '-ші',
|
18 |
-
4: '-ші',
|
19 |
-
5: '-ші',
|
20 |
-
6: '-шы',
|
21 |
-
7: '-ші',
|
22 |
-
8: '-ші',
|
23 |
-
9: '-шы',
|
24 |
-
10: '-шы',
|
25 |
-
20: '-шы',
|
26 |
-
30: '-шы',
|
27 |
-
40: '-шы',
|
28 |
-
50: '-ші',
|
29 |
-
60: '-шы',
|
30 |
-
70: '-ші',
|
31 |
-
80: '-ші',
|
32 |
-
90: '-шы',
|
33 |
-
100: '-ші'
|
34 |
-
};
|
35 |
-
|
36 |
-
var kk = moment.defineLocale('kk', {
|
37 |
-
months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
|
38 |
-
monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
|
39 |
-
weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
|
40 |
-
weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
|
41 |
-
weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
|
42 |
-
longDateFormat : {
|
43 |
-
LT : 'HH:mm',
|
44 |
-
LTS : 'HH:mm:ss',
|
45 |
-
L : 'DD.MM.YYYY',
|
46 |
-
LL : 'D MMMM YYYY',
|
47 |
-
LLL : 'D MMMM YYYY HH:mm',
|
48 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
49 |
-
},
|
50 |
-
calendar : {
|
51 |
-
sameDay : '[Бүгін сағат] LT',
|
52 |
-
nextDay : '[Ертең сағат] LT',
|
53 |
-
nextWeek : 'dddd [сағат] LT',
|
54 |
-
lastDay : '[Кеше сағат] LT',
|
55 |
-
lastWeek : '[Өткен аптаның] dddd [сағат] LT',
|
56 |
-
sameElse : 'L'
|
57 |
-
},
|
58 |
-
relativeTime : {
|
59 |
-
future : '%s ішінде',
|
60 |
-
past : '%s бұрын',
|
61 |
-
s : 'бірнеше секунд',
|
62 |
-
m : 'бір минут',
|
63 |
-
mm : '%d минут',
|
64 |
-
h : 'бір сағат',
|
65 |
-
hh : '%d сағат',
|
66 |
-
d : 'бір күн',
|
67 |
-
dd : '%d күн',
|
68 |
-
M : 'бір ай',
|
69 |
-
MM : '%d ай',
|
70 |
-
y : 'бір жыл',
|
71 |
-
yy : '%d жыл'
|
72 |
-
},
|
73 |
-
ordinalParse: /\d{1,2}-(ші|шы)/,
|
74 |
-
ordinal : function (number) {
|
75 |
-
var a = number % 10,
|
76 |
-
b = number >= 100 ? 100 : null;
|
77 |
-
return number + (suffixes[number] || suffixes[a] || suffixes[b]);
|
78 |
-
},
|
79 |
-
week : {
|
80 |
-
dow : 1, // Monday is the first day of the week.
|
81 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
82 |
-
}
|
83 |
-
});
|
84 |
-
|
85 |
-
return kk;
|
86 |
-
|
87 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";var _={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};return e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},ordinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var d=e%10,t=e>=100?100:null;return e+(_[e]||_[d]||_[t])},week:{dow:1,doy:7}})});
|
|
@@ -1,58 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Cambodian [km]
|
3 |
-
//! author : Kruy Vanna : https://github.com/kruyvanna
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var km = moment.defineLocale('km', {
|
14 |
-
months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
|
15 |
-
monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
|
16 |
-
weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
|
17 |
-
weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
|
18 |
-
weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
|
19 |
-
longDateFormat: {
|
20 |
-
LT: 'HH:mm',
|
21 |
-
LTS : 'HH:mm:ss',
|
22 |
-
L: 'DD/MM/YYYY',
|
23 |
-
LL: 'D MMMM YYYY',
|
24 |
-
LLL: 'D MMMM YYYY HH:mm',
|
25 |
-
LLLL: 'dddd, D MMMM YYYY HH:mm'
|
26 |
-
},
|
27 |
-
calendar: {
|
28 |
-
sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
|
29 |
-
nextDay: '[ស្អែក ម៉ោង] LT',
|
30 |
-
nextWeek: 'dddd [ម៉ោង] LT',
|
31 |
-
lastDay: '[ម្សិលមិញ ម៉ោង] LT',
|
32 |
-
lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
|
33 |
-
sameElse: 'L'
|
34 |
-
},
|
35 |
-
relativeTime: {
|
36 |
-
future: '%sទៀត',
|
37 |
-
past: '%sមុន',
|
38 |
-
s: 'ប៉ុន្មានវិនាទី',
|
39 |
-
m: 'មួយនាទី',
|
40 |
-
mm: '%d នាទី',
|
41 |
-
h: 'មួយម៉ោង',
|
42 |
-
hh: '%d ម៉ោង',
|
43 |
-
d: 'មួយថ្ងៃ',
|
44 |
-
dd: '%d ថ្ងៃ',
|
45 |
-
M: 'មួយខែ',
|
46 |
-
MM: '%d ខែ',
|
47 |
-
y: 'មួយឆ្នាំ',
|
48 |
-
yy: '%d ឆ្នាំ'
|
49 |
-
},
|
50 |
-
week: {
|
51 |
-
dow: 1, // Monday is the first day of the week.
|
52 |
-
doy: 4 // The week that contains Jan 4th is the first week of the year.
|
53 |
-
}
|
54 |
-
});
|
55 |
-
|
56 |
-
return km;
|
57 |
-
|
58 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})});
|
|
@@ -1,65 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Korean [ko]
|
3 |
-
//! author : Kyungwook, Park : https://github.com/kyungw00k
|
4 |
-
//! author : Jeeeyul Lee <jeeeyul@gmail.com>
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var ko = moment.defineLocale('ko', {
|
15 |
-
months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
|
16 |
-
monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
|
17 |
-
weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
|
18 |
-
weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
|
19 |
-
weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
|
20 |
-
longDateFormat : {
|
21 |
-
LT : 'A h시 m분',
|
22 |
-
LTS : 'A h시 m분 s초',
|
23 |
-
L : 'YYYY.MM.DD',
|
24 |
-
LL : 'YYYY년 MMMM D일',
|
25 |
-
LLL : 'YYYY년 MMMM D일 A h시 m분',
|
26 |
-
LLLL : 'YYYY년 MMMM D일 dddd A h시 m분'
|
27 |
-
},
|
28 |
-
calendar : {
|
29 |
-
sameDay : '오늘 LT',
|
30 |
-
nextDay : '내일 LT',
|
31 |
-
nextWeek : 'dddd LT',
|
32 |
-
lastDay : '어제 LT',
|
33 |
-
lastWeek : '지난주 dddd LT',
|
34 |
-
sameElse : 'L'
|
35 |
-
},
|
36 |
-
relativeTime : {
|
37 |
-
future : '%s 후',
|
38 |
-
past : '%s 전',
|
39 |
-
s : '몇 초',
|
40 |
-
ss : '%d초',
|
41 |
-
m : '일분',
|
42 |
-
mm : '%d분',
|
43 |
-
h : '한 시간',
|
44 |
-
hh : '%d시간',
|
45 |
-
d : '하루',
|
46 |
-
dd : '%d일',
|
47 |
-
M : '한 달',
|
48 |
-
MM : '%d달',
|
49 |
-
y : '일 년',
|
50 |
-
yy : '%d년'
|
51 |
-
},
|
52 |
-
ordinalParse : /\d{1,2}일/,
|
53 |
-
ordinal : '%d일',
|
54 |
-
meridiemParse : /오전|오후/,
|
55 |
-
isPM : function (token) {
|
56 |
-
return token === '오후';
|
57 |
-
},
|
58 |
-
meridiem : function (hour, minute, isUpper) {
|
59 |
-
return hour < 12 ? '오전' : '오후';
|
60 |
-
}
|
61 |
-
});
|
62 |
-
|
63 |
-
return ko;
|
64 |
-
|
65 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h시 m분",LLLL:"YYYY년 MMMM D일 dddd A h시 m분"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"일분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,_,d){return e<12?"오전":"오후"}})});
|
|
@@ -1,88 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Kyrgyz [ky]
|
3 |
-
//! author : Chyngyz Arystan uulu : https://github.com/chyngyz
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
var suffixes = {
|
15 |
-
0: '-чү',
|
16 |
-
1: '-чи',
|
17 |
-
2: '-чи',
|
18 |
-
3: '-чү',
|
19 |
-
4: '-чү',
|
20 |
-
5: '-чи',
|
21 |
-
6: '-чы',
|
22 |
-
7: '-чи',
|
23 |
-
8: '-чи',
|
24 |
-
9: '-чу',
|
25 |
-
10: '-чу',
|
26 |
-
20: '-чы',
|
27 |
-
30: '-чу',
|
28 |
-
40: '-чы',
|
29 |
-
50: '-чү',
|
30 |
-
60: '-чы',
|
31 |
-
70: '-чи',
|
32 |
-
80: '-чи',
|
33 |
-
90: '-чу',
|
34 |
-
100: '-чү'
|
35 |
-
};
|
36 |
-
|
37 |
-
var ky = moment.defineLocale('ky', {
|
38 |
-
months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
|
39 |
-
monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
|
40 |
-
weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
|
41 |
-
weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
|
42 |
-
weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
|
43 |
-
longDateFormat : {
|
44 |
-
LT : 'HH:mm',
|
45 |
-
LTS : 'HH:mm:ss',
|
46 |
-
L : 'DD.MM.YYYY',
|
47 |
-
LL : 'D MMMM YYYY',
|
48 |
-
LLL : 'D MMMM YYYY HH:mm',
|
49 |
-
LLLL : 'dddd, D MMMM YYYY HH:mm'
|
50 |
-
},
|
51 |
-
calendar : {
|
52 |
-
sameDay : '[Бүгүн саат] LT',
|
53 |
-
nextDay : '[Эртең саат] LT',
|
54 |
-
nextWeek : 'dddd [саат] LT',
|
55 |
-
lastDay : '[Кече саат] LT',
|
56 |
-
lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',
|
57 |
-
sameElse : 'L'
|
58 |
-
},
|
59 |
-
relativeTime : {
|
60 |
-
future : '%s ичинде',
|
61 |
-
past : '%s мурун',
|
62 |
-
s : 'бирнече секунд',
|
63 |
-
m : 'бир мүнөт',
|
64 |
-
mm : '%d мүнөт',
|
65 |
-
h : 'бир саат',
|
66 |
-
hh : '%d саат',
|
67 |
-
d : 'бир күн',
|
68 |
-
dd : '%d күн',
|
69 |
-
M : 'бир ай',
|
70 |
-
MM : '%d ай',
|
71 |
-
y : 'бир жыл',
|
72 |
-
yy : '%d жыл'
|
73 |
-
},
|
74 |
-
ordinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
|
75 |
-
ordinal : function (number) {
|
76 |
-
var a = number % 10,
|
77 |
-
b = number >= 100 ? 100 : null;
|
78 |
-
return number + (suffixes[number] || suffixes[a] || suffixes[b]);
|
79 |
-
},
|
80 |
-
week : {
|
81 |
-
dow : 1, // Monday is the first day of the week.
|
82 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
83 |
-
}
|
84 |
-
});
|
85 |
-
|
86 |
-
return ky;
|
87 |
-
|
88 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";var _={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};return e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},ordinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var d=e%10,t=e>=100?100:null;return e+(_[e]||_[d]||_[t])},week:{dow:1,doy:7}})});
|
|
@@ -1,137 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Luxembourgish [lb]
|
3 |
-
//! author : mweimerskirch : https://github.com/mweimerskirch
|
4 |
-
//! author : David Raison : https://github.com/kwisatz
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
15 |
-
var format = {
|
16 |
-
'm': ['eng Minutt', 'enger Minutt'],
|
17 |
-
'h': ['eng Stonn', 'enger Stonn'],
|
18 |
-
'd': ['een Dag', 'engem Dag'],
|
19 |
-
'M': ['ee Mount', 'engem Mount'],
|
20 |
-
'y': ['ee Joer', 'engem Joer']
|
21 |
-
};
|
22 |
-
return withoutSuffix ? format[key][0] : format[key][1];
|
23 |
-
}
|
24 |
-
function processFutureTime(string) {
|
25 |
-
var number = string.substr(0, string.indexOf(' '));
|
26 |
-
if (eifelerRegelAppliesToNumber(number)) {
|
27 |
-
return 'a ' + string;
|
28 |
-
}
|
29 |
-
return 'an ' + string;
|
30 |
-
}
|
31 |
-
function processPastTime(string) {
|
32 |
-
var number = string.substr(0, string.indexOf(' '));
|
33 |
-
if (eifelerRegelAppliesToNumber(number)) {
|
34 |
-
return 'viru ' + string;
|
35 |
-
}
|
36 |
-
return 'virun ' + string;
|
37 |
-
}
|
38 |
-
/**
|
39 |
-
* Returns true if the word before the given number loses the '-n' ending.
|
40 |
-
* e.g. 'an 10 Deeg' but 'a 5 Deeg'
|
41 |
-
*
|
42 |
-
* @param number {integer}
|
43 |
-
* @returns {boolean}
|
44 |
-
*/
|
45 |
-
function eifelerRegelAppliesToNumber(number) {
|
46 |
-
number = parseInt(number, 10);
|
47 |
-
if (isNaN(number)) {
|
48 |
-
return false;
|
49 |
-
}
|
50 |
-
if (number < 0) {
|
51 |
-
// Negative Number --> always true
|
52 |
-
return true;
|
53 |
-
} else if (number < 10) {
|
54 |
-
// Only 1 digit
|
55 |
-
if (4 <= number && number <= 7) {
|
56 |
-
return true;
|
57 |
-
}
|
58 |
-
return false;
|
59 |
-
} else if (number < 100) {
|
60 |
-
// 2 digits
|
61 |
-
var lastDigit = number % 10, firstDigit = number / 10;
|
62 |
-
if (lastDigit === 0) {
|
63 |
-
return eifelerRegelAppliesToNumber(firstDigit);
|
64 |
-
}
|
65 |
-
return eifelerRegelAppliesToNumber(lastDigit);
|
66 |
-
} else if (number < 10000) {
|
67 |
-
// 3 or 4 digits --> recursively check first digit
|
68 |
-
while (number >= 10) {
|
69 |
-
number = number / 10;
|
70 |
-
}
|
71 |
-
return eifelerRegelAppliesToNumber(number);
|
72 |
-
} else {
|
73 |
-
// Anything larger than 4 digits: recursively check first n-3 digits
|
74 |
-
number = number / 1000;
|
75 |
-
return eifelerRegelAppliesToNumber(number);
|
76 |
-
}
|
77 |
-
}
|
78 |
-
|
79 |
-
var lb = moment.defineLocale('lb', {
|
80 |
-
months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
|
81 |
-
monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
|
82 |
-
monthsParseExact : true,
|
83 |
-
weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
|
84 |
-
weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
|
85 |
-
weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
|
86 |
-
weekdaysParseExact : true,
|
87 |
-
longDateFormat: {
|
88 |
-
LT: 'H:mm [Auer]',
|
89 |
-
LTS: 'H:mm:ss [Auer]',
|
90 |
-
L: 'DD.MM.YYYY',
|
91 |
-
LL: 'D. MMMM YYYY',
|
92 |
-
LLL: 'D. MMMM YYYY H:mm [Auer]',
|
93 |
-
LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
|
94 |
-
},
|
95 |
-
calendar: {
|
96 |
-
sameDay: '[Haut um] LT',
|
97 |
-
sameElse: 'L',
|
98 |
-
nextDay: '[Muer um] LT',
|
99 |
-
nextWeek: 'dddd [um] LT',
|
100 |
-
lastDay: '[Gëschter um] LT',
|
101 |
-
lastWeek: function () {
|
102 |
-
// Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
|
103 |
-
switch (this.day()) {
|
104 |
-
case 2:
|
105 |
-
case 4:
|
106 |
-
return '[Leschten] dddd [um] LT';
|
107 |
-
default:
|
108 |
-
return '[Leschte] dddd [um] LT';
|
109 |
-
}
|
110 |
-
}
|
111 |
-
},
|
112 |
-
relativeTime : {
|
113 |
-
future : processFutureTime,
|
114 |
-
past : processPastTime,
|
115 |
-
s : 'e puer Sekonnen',
|
116 |
-
m : processRelativeTime,
|
117 |
-
mm : '%d Minutten',
|
118 |
-
h : processRelativeTime,
|
119 |
-
hh : '%d Stonnen',
|
120 |
-
d : processRelativeTime,
|
121 |
-
dd : '%d Deeg',
|
122 |
-
M : processRelativeTime,
|
123 |
-
MM : '%d Méint',
|
124 |
-
y : processRelativeTime,
|
125 |
-
yy : '%d Joer'
|
126 |
-
},
|
127 |
-
ordinalParse: /\d{1,2}\./,
|
128 |
-
ordinal: '%d.',
|
129 |
-
week: {
|
130 |
-
dow: 1, // Monday is the first day of the week.
|
131 |
-
doy: 4 // The week that contains Jan 4th is the first week of the year.
|
132 |
-
}
|
133 |
-
});
|
134 |
-
|
135 |
-
return lb;
|
136 |
-
|
137 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";function n(e,n,t,r){var u={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return n?u[t][0]:u[t][1]}function t(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var n=e%10,r=e/10;return t(0===n?r:n)}if(e<1e4){for(;e>=10;)e/=10;return t(e)}return e/=1e3,t(e)}return e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return t(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return t(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",m:n,mm:"%d Minutten",h:n,hh:"%d Stonnen",d:n,dd:"%d Deeg",M:n,MM:"%d Méint",y:n,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,70 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Lao [lo]
|
3 |
-
//! author : Ryan Hart : https://github.com/ryanhart2
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var lo = moment.defineLocale('lo', {
|
14 |
-
months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
|
15 |
-
monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
|
16 |
-
weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
|
17 |
-
weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
|
18 |
-
weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
|
19 |
-
weekdaysParseExact : true,
|
20 |
-
longDateFormat : {
|
21 |
-
LT : 'HH:mm',
|
22 |
-
LTS : 'HH:mm:ss',
|
23 |
-
L : 'DD/MM/YYYY',
|
24 |
-
LL : 'D MMMM YYYY',
|
25 |
-
LLL : 'D MMMM YYYY HH:mm',
|
26 |
-
LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
|
27 |
-
},
|
28 |
-
meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
|
29 |
-
isPM: function (input) {
|
30 |
-
return input === 'ຕອນແລງ';
|
31 |
-
},
|
32 |
-
meridiem : function (hour, minute, isLower) {
|
33 |
-
if (hour < 12) {
|
34 |
-
return 'ຕອນເຊົ້າ';
|
35 |
-
} else {
|
36 |
-
return 'ຕອນແລງ';
|
37 |
-
}
|
38 |
-
},
|
39 |
-
calendar : {
|
40 |
-
sameDay : '[ມື້ນີ້ເວລາ] LT',
|
41 |
-
nextDay : '[ມື້ອື່ນເວລາ] LT',
|
42 |
-
nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
|
43 |
-
lastDay : '[ມື້ວານນີ້ເວລາ] LT',
|
44 |
-
lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
|
45 |
-
sameElse : 'L'
|
46 |
-
},
|
47 |
-
relativeTime : {
|
48 |
-
future : 'ອີກ %s',
|
49 |
-
past : '%sຜ່ານມາ',
|
50 |
-
s : 'ບໍ່ເທົ່າໃດວິນາທີ',
|
51 |
-
m : '1 ນາທີ',
|
52 |
-
mm : '%d ນາທີ',
|
53 |
-
h : '1 ຊົ່ວໂມງ',
|
54 |
-
hh : '%d ຊົ່ວໂມງ',
|
55 |
-
d : '1 ມື້',
|
56 |
-
dd : '%d ມື້',
|
57 |
-
M : '1 ເດືອນ',
|
58 |
-
MM : '%d ເດືອນ',
|
59 |
-
y : '1 ປີ',
|
60 |
-
yy : '%d ປີ'
|
61 |
-
},
|
62 |
-
ordinalParse: /(ທີ່)\d{1,2}/,
|
63 |
-
ordinal : function (number) {
|
64 |
-
return 'ທີ່' + number;
|
65 |
-
}
|
66 |
-
});
|
67 |
-
|
68 |
-
return lo;
|
69 |
-
|
70 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,_,t){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},ordinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}})});
|
|
@@ -1,117 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Lithuanian [lt]
|
3 |
-
//! author : Mindaugas Mozūras : https://github.com/mmozuras
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var units = {
|
14 |
-
'm' : 'minutė_minutės_minutę',
|
15 |
-
'mm': 'minutės_minučių_minutes',
|
16 |
-
'h' : 'valanda_valandos_valandą',
|
17 |
-
'hh': 'valandos_valandų_valandas',
|
18 |
-
'd' : 'diena_dienos_dieną',
|
19 |
-
'dd': 'dienos_dienų_dienas',
|
20 |
-
'M' : 'mėnuo_mėnesio_mėnesį',
|
21 |
-
'MM': 'mėnesiai_mėnesių_mėnesius',
|
22 |
-
'y' : 'metai_metų_metus',
|
23 |
-
'yy': 'metai_metų_metus'
|
24 |
-
};
|
25 |
-
function translateSeconds(number, withoutSuffix, key, isFuture) {
|
26 |
-
if (withoutSuffix) {
|
27 |
-
return 'kelios sekundės';
|
28 |
-
} else {
|
29 |
-
return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
|
30 |
-
}
|
31 |
-
}
|
32 |
-
function translateSingular(number, withoutSuffix, key, isFuture) {
|
33 |
-
return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
|
34 |
-
}
|
35 |
-
function special(number) {
|
36 |
-
return number % 10 === 0 || (number > 10 && number < 20);
|
37 |
-
}
|
38 |
-
function forms(key) {
|
39 |
-
return units[key].split('_');
|
40 |
-
}
|
41 |
-
function translate(number, withoutSuffix, key, isFuture) {
|
42 |
-
var result = number + ' ';
|
43 |
-
if (number === 1) {
|
44 |
-
return result + translateSingular(number, withoutSuffix, key[0], isFuture);
|
45 |
-
} else if (withoutSuffix) {
|
46 |
-
return result + (special(number) ? forms(key)[1] : forms(key)[0]);
|
47 |
-
} else {
|
48 |
-
if (isFuture) {
|
49 |
-
return result + forms(key)[1];
|
50 |
-
} else {
|
51 |
-
return result + (special(number) ? forms(key)[1] : forms(key)[2]);
|
52 |
-
}
|
53 |
-
}
|
54 |
-
}
|
55 |
-
var lt = moment.defineLocale('lt', {
|
56 |
-
months : {
|
57 |
-
format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
|
58 |
-
standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
|
59 |
-
isFormat: /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?|MMMM?(\[[^\[\]]*\]|\s+)+D[oD]?/
|
60 |
-
},
|
61 |
-
monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
|
62 |
-
weekdays : {
|
63 |
-
format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
|
64 |
-
standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
|
65 |
-
isFormat: /dddd HH:mm/
|
66 |
-
},
|
67 |
-
weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
|
68 |
-
weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),
|
69 |
-
weekdaysParseExact : true,
|
70 |
-
longDateFormat : {
|
71 |
-
LT : 'HH:mm',
|
72 |
-
LTS : 'HH:mm:ss',
|
73 |
-
L : 'YYYY-MM-DD',
|
74 |
-
LL : 'YYYY [m.] MMMM D [d.]',
|
75 |
-
LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
|
76 |
-
LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
|
77 |
-
l : 'YYYY-MM-DD',
|
78 |
-
ll : 'YYYY [m.] MMMM D [d.]',
|
79 |
-
lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
|
80 |
-
llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
|
81 |
-
},
|
82 |
-
calendar : {
|
83 |
-
sameDay : '[Šiandien] LT',
|
84 |
-
nextDay : '[Rytoj] LT',
|
85 |
-
nextWeek : 'dddd LT',
|
86 |
-
lastDay : '[Vakar] LT',
|
87 |
-
lastWeek : '[Praėjusį] dddd LT',
|
88 |
-
sameElse : 'L'
|
89 |
-
},
|
90 |
-
relativeTime : {
|
91 |
-
future : 'po %s',
|
92 |
-
past : 'prieš %s',
|
93 |
-
s : translateSeconds,
|
94 |
-
m : translateSingular,
|
95 |
-
mm : translate,
|
96 |
-
h : translateSingular,
|
97 |
-
hh : translate,
|
98 |
-
d : translateSingular,
|
99 |
-
dd : translate,
|
100 |
-
M : translateSingular,
|
101 |
-
MM : translate,
|
102 |
-
y : translateSingular,
|
103 |
-
yy : translate
|
104 |
-
},
|
105 |
-
ordinalParse: /\d{1,2}-oji/,
|
106 |
-
ordinal : function (number) {
|
107 |
-
return number + '-oji';
|
108 |
-
},
|
109 |
-
week : {
|
110 |
-
dow : 1, // Monday is the first day of the week.
|
111 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
112 |
-
}
|
113 |
-
});
|
114 |
-
|
115 |
-
return lt;
|
116 |
-
|
117 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,i){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?i(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],i):i(e.moment)}(this,function(e){"use strict";function i(e,i,n,s){return i?a(n)[0]:s?a(n)[1]:a(n)[2]}function n(e){return e%10==0||e>10&&e<20}function a(e){return d[e].split("_")}function s(e,s,d,t){var _=e+" ";return 1===e?_+i(e,s,d[0],t):s?_+(n(e)?a(d)[1]:a(d)[0]):t?_+a(d)[1]:_+(n(e)?a(d)[1]:a(d)[2])}var d={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};return e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?|MMMM?(\[[^\[\]]*\]|\s+)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(e,i,n,a){return i?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"},m:i,mm:s,h:i,hh:s,d:i,dd:s,M:i,MM:s,y:i,yy:s},ordinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})});
|
|
@@ -1,97 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Latvian [lv]
|
3 |
-
//! author : Kristaps Karlsons : https://github.com/skakri
|
4 |
-
//! author : Jānis Elmeris : https://github.com/JanisE
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var units = {
|
15 |
-
'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
|
16 |
-
'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
|
17 |
-
'h': 'stundas_stundām_stunda_stundas'.split('_'),
|
18 |
-
'hh': 'stundas_stundām_stunda_stundas'.split('_'),
|
19 |
-
'd': 'dienas_dienām_diena_dienas'.split('_'),
|
20 |
-
'dd': 'dienas_dienām_diena_dienas'.split('_'),
|
21 |
-
'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
|
22 |
-
'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
|
23 |
-
'y': 'gada_gadiem_gads_gadi'.split('_'),
|
24 |
-
'yy': 'gada_gadiem_gads_gadi'.split('_')
|
25 |
-
};
|
26 |
-
/**
|
27 |
-
* @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
|
28 |
-
*/
|
29 |
-
function format(forms, number, withoutSuffix) {
|
30 |
-
if (withoutSuffix) {
|
31 |
-
// E.g. "21 minūte", "3 minūtes".
|
32 |
-
return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
|
33 |
-
} else {
|
34 |
-
// E.g. "21 minūtes" as in "pēc 21 minūtes".
|
35 |
-
// E.g. "3 minūtēm" as in "pēc 3 minūtēm".
|
36 |
-
return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
|
37 |
-
}
|
38 |
-
}
|
39 |
-
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
40 |
-
return number + ' ' + format(units[key], number, withoutSuffix);
|
41 |
-
}
|
42 |
-
function relativeTimeWithSingular(number, withoutSuffix, key) {
|
43 |
-
return format(units[key], number, withoutSuffix);
|
44 |
-
}
|
45 |
-
function relativeSeconds(number, withoutSuffix) {
|
46 |
-
return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
|
47 |
-
}
|
48 |
-
|
49 |
-
var lv = moment.defineLocale('lv', {
|
50 |
-
months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
|
51 |
-
monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
|
52 |
-
weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
|
53 |
-
weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
|
54 |
-
weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
|
55 |
-
weekdaysParseExact : true,
|
56 |
-
longDateFormat : {
|
57 |
-
LT : 'HH:mm',
|
58 |
-
LTS : 'HH:mm:ss',
|
59 |
-
L : 'DD.MM.YYYY.',
|
60 |
-
LL : 'YYYY. [gada] D. MMMM',
|
61 |
-
LLL : 'YYYY. [gada] D. MMMM, HH:mm',
|
62 |
-
LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
|
63 |
-
},
|
64 |
-
calendar : {
|
65 |
-
sameDay : '[Šodien pulksten] LT',
|
66 |
-
nextDay : '[Rīt pulksten] LT',
|
67 |
-
nextWeek : 'dddd [pulksten] LT',
|
68 |
-
lastDay : '[Vakar pulksten] LT',
|
69 |
-
lastWeek : '[Pagājušā] dddd [pulksten] LT',
|
70 |
-
sameElse : 'L'
|
71 |
-
},
|
72 |
-
relativeTime : {
|
73 |
-
future : 'pēc %s',
|
74 |
-
past : 'pirms %s',
|
75 |
-
s : relativeSeconds,
|
76 |
-
m : relativeTimeWithSingular,
|
77 |
-
mm : relativeTimeWithPlural,
|
78 |
-
h : relativeTimeWithSingular,
|
79 |
-
hh : relativeTimeWithPlural,
|
80 |
-
d : relativeTimeWithSingular,
|
81 |
-
dd : relativeTimeWithPlural,
|
82 |
-
M : relativeTimeWithSingular,
|
83 |
-
MM : relativeTimeWithPlural,
|
84 |
-
y : relativeTimeWithSingular,
|
85 |
-
yy : relativeTimeWithPlural
|
86 |
-
},
|
87 |
-
ordinalParse: /\d{1,2}\./,
|
88 |
-
ordinal : '%d.',
|
89 |
-
week : {
|
90 |
-
dow : 1, // Monday is the first day of the week.
|
91 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
92 |
-
}
|
93 |
-
});
|
94 |
-
|
95 |
-
return lv;
|
96 |
-
|
97 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?n(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],n):n(e.moment)}(this,function(e){"use strict";function n(e,n,s){return s?n%10==1&&n%100!=11?e[2]:e[3]:n%10==1&&n%100!=11?e[0]:e[1]}function s(e,s,t){return e+" "+n(i[t],e,s)}function t(e,s,t){return n(i[t],e,s)}var i={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};return e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(e,n){return n?"dažas sekundes":"dažām sekundēm"},m:t,mm:s,h:t,hh:s,d:t,dd:s,M:t,MM:s,y:t,yy:s},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})});
|
|
@@ -1,111 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Montenegrin [me]
|
3 |
-
//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var translator = {
|
14 |
-
words: { //Different grammatical cases
|
15 |
-
m: ['jedan minut', 'jednog minuta'],
|
16 |
-
mm: ['minut', 'minuta', 'minuta'],
|
17 |
-
h: ['jedan sat', 'jednog sata'],
|
18 |
-
hh: ['sat', 'sata', 'sati'],
|
19 |
-
dd: ['dan', 'dana', 'dana'],
|
20 |
-
MM: ['mjesec', 'mjeseca', 'mjeseci'],
|
21 |
-
yy: ['godina', 'godine', 'godina']
|
22 |
-
},
|
23 |
-
correctGrammaticalCase: function (number, wordKey) {
|
24 |
-
return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
|
25 |
-
},
|
26 |
-
translate: function (number, withoutSuffix, key) {
|
27 |
-
var wordKey = translator.words[key];
|
28 |
-
if (key.length === 1) {
|
29 |
-
return withoutSuffix ? wordKey[0] : wordKey[1];
|
30 |
-
} else {
|
31 |
-
return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
|
32 |
-
}
|
33 |
-
}
|
34 |
-
};
|
35 |
-
|
36 |
-
var me = moment.defineLocale('me', {
|
37 |
-
months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
|
38 |
-
monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
|
39 |
-
monthsParseExact : true,
|
40 |
-
weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
|
41 |
-
weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
|
42 |
-
weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
|
43 |
-
weekdaysParseExact : true,
|
44 |
-
longDateFormat: {
|
45 |
-
LT: 'H:mm',
|
46 |
-
LTS : 'H:mm:ss',
|
47 |
-
L: 'DD.MM.YYYY',
|
48 |
-
LL: 'D. MMMM YYYY',
|
49 |
-
LLL: 'D. MMMM YYYY H:mm',
|
50 |
-
LLLL: 'dddd, D. MMMM YYYY H:mm'
|
51 |
-
},
|
52 |
-
calendar: {
|
53 |
-
sameDay: '[danas u] LT',
|
54 |
-
nextDay: '[sjutra u] LT',
|
55 |
-
|
56 |
-
nextWeek: function () {
|
57 |
-
switch (this.day()) {
|
58 |
-
case 0:
|
59 |
-
return '[u] [nedjelju] [u] LT';
|
60 |
-
case 3:
|
61 |
-
return '[u] [srijedu] [u] LT';
|
62 |
-
case 6:
|
63 |
-
return '[u] [subotu] [u] LT';
|
64 |
-
case 1:
|
65 |
-
case 2:
|
66 |
-
case 4:
|
67 |
-
case 5:
|
68 |
-
return '[u] dddd [u] LT';
|
69 |
-
}
|
70 |
-
},
|
71 |
-
lastDay : '[juče u] LT',
|
72 |
-
lastWeek : function () {
|
73 |
-
var lastWeekDays = [
|
74 |
-
'[prošle] [nedjelje] [u] LT',
|
75 |
-
'[prošlog] [ponedjeljka] [u] LT',
|
76 |
-
'[prošlog] [utorka] [u] LT',
|
77 |
-
'[prošle] [srijede] [u] LT',
|
78 |
-
'[prošlog] [četvrtka] [u] LT',
|
79 |
-
'[prošlog] [petka] [u] LT',
|
80 |
-
'[prošle] [subote] [u] LT'
|
81 |
-
];
|
82 |
-
return lastWeekDays[this.day()];
|
83 |
-
},
|
84 |
-
sameElse : 'L'
|
85 |
-
},
|
86 |
-
relativeTime : {
|
87 |
-
future : 'za %s',
|
88 |
-
past : 'prije %s',
|
89 |
-
s : 'nekoliko sekundi',
|
90 |
-
m : translator.translate,
|
91 |
-
mm : translator.translate,
|
92 |
-
h : translator.translate,
|
93 |
-
hh : translator.translate,
|
94 |
-
d : 'dan',
|
95 |
-
dd : translator.translate,
|
96 |
-
M : 'mjesec',
|
97 |
-
MM : translator.translate,
|
98 |
-
y : 'godinu',
|
99 |
-
yy : translator.translate
|
100 |
-
},
|
101 |
-
ordinalParse: /\d{1,2}\./,
|
102 |
-
ordinal : '%d.',
|
103 |
-
week : {
|
104 |
-
dow : 1, // Monday is the first day of the week.
|
105 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
106 |
-
}
|
107 |
-
});
|
108 |
-
|
109 |
-
return me;
|
110 |
-
|
111 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";var a={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:e>=2&&e<=4?a[1]:a[2]},translate:function(e,t,n){var r=a.words[n];return 1===n.length?t?r[0]:r[1]:e+" "+a.correctGrammaticalCase(e,r)}};return e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"dan",dd:a.translate,M:"mjesec",MM:a.translate,y:"godinu",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})});
|
|
@@ -1,64 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Maori [mi]
|
3 |
-
//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var mi = moment.defineLocale('mi', {
|
14 |
-
months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),
|
15 |
-
monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
|
16 |
-
monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
|
17 |
-
monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
|
18 |
-
monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
|
19 |
-
monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
|
20 |
-
weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
|
21 |
-
weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
|
22 |
-
weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
|
23 |
-
longDateFormat: {
|
24 |
-
LT: 'HH:mm',
|
25 |
-
LTS: 'HH:mm:ss',
|
26 |
-
L: 'DD/MM/YYYY',
|
27 |
-
LL: 'D MMMM YYYY',
|
28 |
-
LLL: 'D MMMM YYYY [i] HH:mm',
|
29 |
-
LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
|
30 |
-
},
|
31 |
-
calendar: {
|
32 |
-
sameDay: '[i teie mahana, i] LT',
|
33 |
-
nextDay: '[apopo i] LT',
|
34 |
-
nextWeek: 'dddd [i] LT',
|
35 |
-
lastDay: '[inanahi i] LT',
|
36 |
-
lastWeek: 'dddd [whakamutunga i] LT',
|
37 |
-
sameElse: 'L'
|
38 |
-
},
|
39 |
-
relativeTime: {
|
40 |
-
future: 'i roto i %s',
|
41 |
-
past: '%s i mua',
|
42 |
-
s: 'te hēkona ruarua',
|
43 |
-
m: 'he meneti',
|
44 |
-
mm: '%d meneti',
|
45 |
-
h: 'te haora',
|
46 |
-
hh: '%d haora',
|
47 |
-
d: 'he ra',
|
48 |
-
dd: '%d ra',
|
49 |
-
M: 'he marama',
|
50 |
-
MM: '%d marama',
|
51 |
-
y: 'he tau',
|
52 |
-
yy: '%d tau'
|
53 |
-
},
|
54 |
-
ordinalParse: /\d{1,2}º/,
|
55 |
-
ordinal: '%dº',
|
56 |
-
week : {
|
57 |
-
dow : 1, // Monday is the first day of the week.
|
58 |
-
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
59 |
-
}
|
60 |
-
});
|
61 |
-
|
62 |
-
return mi;
|
63 |
-
|
64 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})});
|
|
@@ -1,90 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Macedonian [mk]
|
3 |
-
//! author : Borislav Mickov : https://github.com/B0k0
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var mk = moment.defineLocale('mk', {
|
14 |
-
months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
|
15 |
-
monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
|
16 |
-
weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
|
17 |
-
weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
|
18 |
-
weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
|
19 |
-
longDateFormat : {
|
20 |
-
LT : 'H:mm',
|
21 |
-
LTS : 'H:mm:ss',
|
22 |
-
L : 'D.MM.YYYY',
|
23 |
-
LL : 'D MMMM YYYY',
|
24 |
-
LLL : 'D MMMM YYYY H:mm',
|
25 |
-
LLLL : 'dddd, D MMMM YYYY H:mm'
|
26 |
-
},
|
27 |
-
calendar : {
|
28 |
-
sameDay : '[Денес во] LT',
|
29 |
-
nextDay : '[Утре во] LT',
|
30 |
-
nextWeek : '[Во] dddd [во] LT',
|
31 |
-
lastDay : '[Вчера во] LT',
|
32 |
-
lastWeek : function () {
|
33 |
-
switch (this.day()) {
|
34 |
-
case 0:
|
35 |
-
case 3:
|
36 |
-
case 6:
|
37 |
-
return '[Изминатата] dddd [во] LT';
|
38 |
-
case 1:
|
39 |
-
case 2:
|
40 |
-
case 4:
|
41 |
-
case 5:
|
42 |
-
return '[Изминатиот] dddd [во] LT';
|
43 |
-
}
|
44 |
-
},
|
45 |
-
sameElse : 'L'
|
46 |
-
},
|
47 |
-
relativeTime : {
|
48 |
-
future : 'после %s',
|
49 |
-
past : 'пред %s',
|
50 |
-
s : 'неколку секунди',
|
51 |
-
m : 'минута',
|
52 |
-
mm : '%d минути',
|
53 |
-
h : 'час',
|
54 |
-
hh : '%d часа',
|
55 |
-
d : 'ден',
|
56 |
-
dd : '%d дена',
|
57 |
-
M : 'месец',
|
58 |
-
MM : '%d месеци',
|
59 |
-
y : 'година',
|
60 |
-
yy : '%d години'
|
61 |
-
},
|
62 |
-
ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
|
63 |
-
ordinal : function (number) {
|
64 |
-
var lastDigit = number % 10,
|
65 |
-
last2Digits = number % 100;
|
66 |
-
if (number === 0) {
|
67 |
-
return number + '-ев';
|
68 |
-
} else if (last2Digits === 0) {
|
69 |
-
return number + '-ен';
|
70 |
-
} else if (last2Digits > 10 && last2Digits < 20) {
|
71 |
-
return number + '-ти';
|
72 |
-
} else if (lastDigit === 1) {
|
73 |
-
return number + '-ви';
|
74 |
-
} else if (lastDigit === 2) {
|
75 |
-
return number + '-ри';
|
76 |
-
} else if (lastDigit === 7 || lastDigit === 8) {
|
77 |
-
return number + '-ми';
|
78 |
-
} else {
|
79 |
-
return number + '-ти';
|
80 |
-
}
|
81 |
-
},
|
82 |
-
week : {
|
83 |
-
dow : 1, // Monday is the first day of the week.
|
84 |
-
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
85 |
-
}
|
86 |
-
});
|
87 |
-
|
88 |
-
return mk;
|
89 |
-
|
90 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var _=e%10,d=e%100;return 0===e?e+"-ев":0===d?e+"-ен":d>10&&d<20?e+"-ти":1===_?e+"-ви":2===_?e+"-ри":7===_||8===_?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})});
|
|
@@ -1,81 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Malayalam [ml]
|
3 |
-
//! author : Floyd Pink : https://github.com/floydpink
|
4 |
-
|
5 |
-
;(function (global, factory) {
|
6 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
7 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
8 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
9 |
-
factory(global.moment)
|
10 |
-
}(this, function (moment) { 'use strict';
|
11 |
-
|
12 |
-
|
13 |
-
var ml = moment.defineLocale('ml', {
|
14 |
-
months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
|
15 |
-
monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
|
16 |
-
monthsParseExact : true,
|
17 |
-
weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
|
18 |
-
weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
|
19 |
-
weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
|
20 |
-
longDateFormat : {
|
21 |
-
LT : 'A h:mm -നു',
|
22 |
-
LTS : 'A h:mm:ss -നു',
|
23 |
-
L : 'DD/MM/YYYY',
|
24 |
-
LL : 'D MMMM YYYY',
|
25 |
-
LLL : 'D MMMM YYYY, A h:mm -നു',
|
26 |
-
LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
|
27 |
-
},
|
28 |
-
calendar : {
|
29 |
-
sameDay : '[ഇന്ന്] LT',
|
30 |
-
nextDay : '[നാളെ] LT',
|
31 |
-
nextWeek : 'dddd, LT',
|
32 |
-
lastDay : '[ഇന്നലെ] LT',
|
33 |
-
lastWeek : '[കഴിഞ്ഞ] dddd, LT',
|
34 |
-
sameElse : 'L'
|
35 |
-
},
|
36 |
-
relativeTime : {
|
37 |
-
future : '%s കഴിഞ്ഞ്',
|
38 |
-
past : '%s മുൻപ്',
|
39 |
-
s : 'അൽപ നിമിഷങ്ങൾ',
|
40 |
-
m : 'ഒരു മിനിറ്റ്',
|
41 |
-
mm : '%d മിനിറ്റ്',
|
42 |
-
h : 'ഒരു മണിക്കൂർ',
|
43 |
-
hh : '%d മണിക്കൂർ',
|
44 |
-
d : 'ഒരു ദിവസം',
|
45 |
-
dd : '%d ദിവസം',
|
46 |
-
M : 'ഒരു മാസം',
|
47 |
-
MM : '%d മാസം',
|
48 |
-
y : 'ഒരു വർഷം',
|
49 |
-
yy : '%d വർഷം'
|
50 |
-
},
|
51 |
-
meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
|
52 |
-
meridiemHour : function (hour, meridiem) {
|
53 |
-
if (hour === 12) {
|
54 |
-
hour = 0;
|
55 |
-
}
|
56 |
-
if ((meridiem === 'രാത്രി' && hour >= 4) ||
|
57 |
-
meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
|
58 |
-
meridiem === 'വൈകുന്നേരം') {
|
59 |
-
return hour + 12;
|
60 |
-
} else {
|
61 |
-
return hour;
|
62 |
-
}
|
63 |
-
},
|
64 |
-
meridiem : function (hour, minute, isLower) {
|
65 |
-
if (hour < 4) {
|
66 |
-
return 'രാത്രി';
|
67 |
-
} else if (hour < 12) {
|
68 |
-
return 'രാവിലെ';
|
69 |
-
} else if (hour < 17) {
|
70 |
-
return 'ഉച്ച കഴിഞ്ഞ്';
|
71 |
-
} else if (hour < 20) {
|
72 |
-
return 'വൈകുന്നേരം';
|
73 |
-
} else {
|
74 |
-
return 'രാത്രി';
|
75 |
-
}
|
76 |
-
}
|
77 |
-
});
|
78 |
-
|
79 |
-
return ml;
|
80 |
-
|
81 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,_){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?_(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],_):_(e.moment)}(this,function(e){"use strict";return e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,_){return 12===e&&(e=0),"രാത്രി"===_&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===_||"വൈകുന്നേരം"===_?e+12:e},meridiem:function(e,_,t){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}})});
|
|
@@ -1,159 +0,0 @@
|
|
1 |
-
//! moment.js locale configuration
|
2 |
-
//! locale : Marathi [mr]
|
3 |
-
//! author : Harshad Kale : https://github.com/kalehv
|
4 |
-
//! author : Vivek Athalye : https://github.com/vnathalye
|
5 |
-
|
6 |
-
;(function (global, factory) {
|
7 |
-
typeof exports === 'object' && typeof module !== 'undefined'
|
8 |
-
&& typeof require === 'function' ? factory(require('../moment')) :
|
9 |
-
typeof define === 'function' && define.amd ? define(['../moment'], factory) :
|
10 |
-
factory(global.moment)
|
11 |
-
}(this, function (moment) { 'use strict';
|
12 |
-
|
13 |
-
|
14 |
-
var symbolMap = {
|
15 |
-
'1': '१',
|
16 |
-
'2': '२',
|
17 |
-
'3': '३',
|
18 |
-
'4': '४',
|
19 |
-
'5': '५',
|
20 |
-
'6': '६',
|
21 |
-
'7': '७',
|
22 |
-
'8': '८',
|
23 |
-
'9': '९',
|
24 |
-
'0': '०'
|
25 |
-
},
|
26 |
-
numberMap = {
|
27 |
-
'१': '1',
|
28 |
-
'२': '2',
|
29 |
-
'३': '3',
|
30 |
-
'४': '4',
|
31 |
-
'५': '5',
|
32 |
-
'६': '6',
|
33 |
-
'७': '7',
|
34 |
-
'८': '8',
|
35 |
-
'९': '9',
|
36 |
-
'०': '0'
|
37 |
-
};
|
38 |
-
|
39 |
-
function relativeTimeMr(number, withoutSuffix, string, isFuture)
|
40 |
-
{
|
41 |
-
var output = '';
|
42 |
-
if (withoutSuffix) {
|
43 |
-
switch (string) {
|
44 |
-
case 's': output = 'काही सेकंद'; break;
|
45 |
-
case 'm': output = 'एक मिनिट'; break;
|
46 |
-
case 'mm': output = '%d मिनिटे'; break;
|
47 |
-
case 'h': output = 'एक तास'; break;
|
48 |
-
case 'hh': output = '%d तास'; break;
|
49 |
-
case 'd': output = 'एक दिवस'; break;
|
50 |
-
case 'dd': output = '%d दिवस'; break;
|
51 |
-
case 'M': output = 'एक महिना'; break;
|
52 |
-
case 'MM': output = '%d महिने'; break;
|
53 |
-
case 'y': output = 'एक वर्ष'; break;
|
54 |
-
case 'yy': output = '%d वर्षे'; break;
|
55 |
-
}
|
56 |
-
}
|
57 |
-
else {
|
58 |
-
switch (string) {
|
59 |
-
case 's': output = 'काही सेकंदां'; break;
|
60 |
-
case 'm': output = 'एका मिनिटा'; break;
|
61 |
-
case 'mm': output = '%d मिनिटां'; break;
|
62 |
-
case 'h': output = 'एका तासा'; break;
|
63 |
-
case 'hh': output = '%d तासां'; break;
|
64 |
-
case 'd': output = 'एका दिवसा'; break;
|
65 |
-
case 'dd': output = '%d दिवसां'; break;
|
66 |
-
case 'M': output = 'एका महिन्या'; break;
|
67 |
-
case 'MM': output = '%d महिन्यां'; break;
|
68 |
-
case 'y': output = 'एका वर्षा'; break;
|
69 |
-
case 'yy': output = '%d वर्षां'; break;
|
70 |
-
}
|
71 |
-
}
|
72 |
-
return output.replace(/%d/i, number);
|
73 |
-
}
|
74 |
-
|
75 |
-
var mr = moment.defineLocale('mr', {
|
76 |
-
months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
|
77 |
-
monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
|
78 |
-
monthsParseExact : true,
|
79 |
-
weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
|
80 |
-
weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
|
81 |
-
weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
|
82 |
-
longDateFormat : {
|
83 |
-
LT : 'A h:mm वाजता',
|
84 |
-
LTS : 'A h:mm:ss वाजता',
|
85 |
-
L : 'DD/MM/YYYY',
|
86 |
-
LL : 'D MMMM YYYY',
|
87 |
-
LLL : 'D MMMM YYYY, A h:mm वाजता',
|
88 |
-
LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
|
89 |
-
},
|
90 |
-
calendar : {
|
91 |
-
sameDay : '[आज] LT',
|
92 |
-
nextDay : '[उद्या] LT',
|
93 |
-
nextWeek : 'dddd, LT',
|
94 |
-
lastDay : '[काल] LT',
|
95 |
-
lastWeek: '[मागील] dddd, LT',
|
96 |
-
sameElse : 'L'
|
97 |
-
},
|
98 |
-
relativeTime : {
|
99 |
-
future: '%sमध्ये',
|
100 |
-
past: '%sपूर्वी',
|
101 |
-
s: relativeTimeMr,
|
102 |
-
m: relativeTimeMr,
|
103 |
-
mm: relativeTimeMr,
|
104 |
-
h: relativeTimeMr,
|
105 |
-
hh: relativeTimeMr,
|
106 |
-
d: relativeTimeMr,
|
107 |
-
dd: relativeTimeMr,
|
108 |
-
M: relativeTimeMr,
|
109 |
-
MM: relativeTimeMr,
|
110 |
-
y: relativeTimeMr,
|
111 |
-
yy: relativeTimeMr
|
112 |
-
},
|
113 |
-
preparse: function (string) {
|
114 |
-
return string.replace(/[१२३४५६७८९०]/g, function (match) {
|
115 |
-
return numberMap[match];
|
116 |
-
});
|
117 |
-
},
|
118 |
-
postformat: function (string) {
|
119 |
-
return string.replace(/\d/g, function (match) {
|
120 |
-
return symbolMap[match];
|
121 |
-
});
|
122 |
-
},
|
123 |
-
meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
|
124 |
-
meridiemHour : function (hour, meridiem) {
|
125 |
-
if (hour === 12) {
|
126 |
-
hour = 0;
|
127 |
-
}
|
128 |
-
if (meridiem === 'रात्री') {
|
129 |
-
return hour < 4 ? hour : hour + 12;
|
130 |
-
} else if (meridiem === 'सकाळी') {
|
131 |
-
return hour;
|
132 |
-
} else if (meridiem === 'दुपारी') {
|
133 |
-
return hour >= 10 ? hour : hour + 12;
|
134 |
-
} else if (meridiem === 'सायंकाळी') {
|
135 |
-
return hour + 12;
|
136 |
-
}
|
137 |
-
},
|
138 |
-
meridiem: function (hour, minute, isLower) {
|
139 |
-
if (hour < 4) {
|
140 |
-
return 'रात्री';
|
141 |
-
} else if (hour < 10) {
|
142 |
-
return 'सकाळी';
|
143 |
-
} else if (hour < 17) {
|
144 |
-
return 'दुपारी';
|
145 |
-
} else if (hour < 20) {
|
146 |
-
return 'सायंकाळी';
|
147 |
-
} else {
|
148 |
-
return 'रात्री';
|
149 |
-
}
|
150 |
-
},
|
151 |
-
week : {
|
152 |
-
dow : 0, // Sunday is the first day of the week.
|
153 |
-
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
154 |
-
}
|
155 |
-
});
|
156 |
-
|
157 |
-
return mr;
|
158 |
-
|
159 |
-
}));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1 +0,0 @@
|
|
1 |
-
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";function a(e,a,r,s){var t="";if(a)switch(r){case"s":t="काही सेकंद";break;case"m":t="एक मिनिट";break;case"mm":t="%d मिनिटे";break;case"h":t="एक तास";break;case"hh":t="%d तास";break;case"d":t="एक दिवस";break;case"dd":t="%d दिवस";break;case"M":t="एक महिना";break;case"MM":t="%d महिने";break;case"y":t="एक वर्ष";break;case"yy":t="%d वर्षे"}else switch(r){case"s":t="काही सेकंदां";break;case"m":t="एका मिनिटा";break;case"mm":t="%d मिनिटां";break;case"h":t="एका तासा";break;case"hh":t="%d तासां";break;case"d":t="एका दिवसा";break;case"dd":t="%d दिवसां";break;case"M":t="एका महिन्या";break;case"MM":t="%d महिन्यां";break;case"y":t="एका वर्षा";break;case"yy":t="%d वर्षां"}return t.replace(/%d/i,e)}var r={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},s={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाज�
|
|