From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id E981E1396D9 for ; Mon, 20 Nov 2017 21:52:57 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 127B0E0EA0; Mon, 20 Nov 2017 21:52:57 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 069E8E0EA0 for ; Mon, 20 Nov 2017 21:52:55 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B0B4634069A for ; Mon, 20 Nov 2017 21:52:50 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 178ACA1C5 for ; Mon, 20 Nov 2017 21:52:49 +0000 (UTC) From: "Anthony G. Basile" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Anthony G. Basile" Message-ID: <1511214638.159ec5c8052e1d061a430893a4525629849e2589.blueness@gentoo> Subject: [gentoo-commits] proj/blogs-gentoo:master commit in: plugins/jetpack/modules/contact-form/js/, plugins/jetpack/modules/search/, ... X-VCS-Repository: proj/blogs-gentoo X-VCS-Files: plugins/jetpack/3rd-party/wpml.php plugins/jetpack/_inc/build/admin.dops-style.css plugins/jetpack/_inc/build/admin.dops-style.rtl.css plugins/jetpack/_inc/build/admin.js plugins/jetpack/_inc/build/style.min.css plugins/jetpack/_inc/build/style.min.rtl.css plugins/jetpack/_inc/jetpack-strings.php plugins/jetpack/_inc/lib/admin-pages/class.jetpack-admin-page.php plugins/jetpack/_inc/lib/admin-pages/class.jetpack-react-page.php plugins/jetpack/_inc/lib/class.core-rest-api-endpoints.php plugins/jetpack/_inc/lib/core-api/class.jetpack-core-api-module-endpoints.php plugins/jetpack/_inc/lib/core-api/class.jetpack-core-api-widgets-endpoints.php plugins/jetpack/_inc/lib/icalendar-reader.php plugins/jetpack/_inc/lib/tracks/class.tracks-client.php plugins/jetpack/_inc/lib/tracks/tracks-ajax.js plugins/jetpack/_inc/lib/widgets.php plugins/jetpack/bin/partner-cancel.sh plugins/jetpack/bin/partner-provision.sh plugins/jetpack/changelog.txt plugins/jetpack/class.jetpack-cli.php plugin s/jetpack/class.jetpack-client-server.php plugins/jetpack/class.jetpack-jitm.php plugins/jetpack/class.jetpack-modules-list-table.php plugins/jetpack/class.jetpack-network.php plugins/jetpack/class.jetpack-options.php plugins/jetpack/class.jetpack-post-images.php plugins/jetpack/class.jetpack-signature.php plugins/jetpack/class.jetpack-tracks.php plugins/jetpack/class.jetpack-twitter-cards.php plugins/jetpack/class.jetpack-user-agent.php plugins/jetpack/class.jetpack-xmlrpc-server.php plugins/jetpack/class.jetpack.php plugins/jetpack/class.json-api-endpoints.php plugins/jetpack/class.photon.php plugins/jetpack/css/jetpack-rtl.css plugins/jetpack/css/jetpack.css plugins/jetpack/functions.gallery.php plugins/jetpack/functions.global.php plugins/jetpack/functions.opengraph.php plugins/jetpack/images/connect-jetpack.svg plugins/jetpack/images/generating-cash-2.svg plugins/jetpack/images/wordads.svg plugins/jetpack/jetpack.php plugins/jetpack/json-endpoints.php plugins/jetpack/json-endpo ints/class.wpcom-json-api-add-widget-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-bulk-delete-post-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-bulk-restore-post-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-comment-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-get-comments-tree-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-get-comments-tree-v1-1-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-get-site-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-list-comments-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-site-settings-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-site-settings-v1-2-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-site-settings-v1-3-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-update-comment-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-update -media-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-update-post-v1-2-endpoint.php plugins/jetpack/json-endpoints/class.wpcom-json-api-update-term-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-delete-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-get-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-install-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-list-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-modify-v1-2-endpoint.php plugins/jetpack/json-endpoints/jetpack/class.jetpack-json-api-plugins-new-endpoint.php plugins/jetpack/json-endpoints/jetpack/json-api-jetpack-endpoints.php plugins/jetpack/languages/jetpack-bg_ BG.mo plugins/jetpack/languages/jetpack-gl_ES.mo plugins/jetpack/languages/jetpack-pl_PL.mo plugins/jetpack/languages/jetpack-zh_HK.mo plugins/jetpack/languages/json/jetpack-af.json plugins/jetpack/languages/json/jetpack-ar.json plugins/jetpack/languages/json/jetpack-ary.json plugins/jetpack/languages/json/jetpack-az.json plugins/jetpack/languages/json/jetpack-bg_BG.json plugins/jetpack/languages/json/jetpack-bs_BA.json plugins/jetpack/languages/json/jetpack-ca.json plugins/jetpack/languages/json/jetpack-ckb.json plugins/jetpack/languages/json/jetpack-cs_CZ.json plugins/jetpack/languages/json/jetpack-cy.json plugins/jetpack/languages/json/jetpack-da_DK.json plugins/jetpack/languages/json/jetpack-de_DE.json plugins/jetpack/languages/json/jetpack-de_DE_formal.json plugins/jetpack/languages/json/jetpack-el.json plugins/jetpack/languages/json/jetpack-en_AU.json plugins/jetpack/languages/json/jetpack-en_CA.json plugins/jetpack/languages/json/jetpack-en_GB.json plugins/jetpack/languages/j son/jetpack-en_NZ.json plugins/jetpack/languages/json/jetpack-eo.json plugins/jetpack/languages/json/jetpack-es_AR.json plugins/jetpack/languages/json/jetpack-es_CL.json plugins/jetpack/languages/json/jetpack-es_CR.json plugins/jetpack/languages/json/jetpack-es_ES.json plugins/jetpack/languages/json/jetpack-es_VE.json plugins/jetpack/languages/json/jetpack-fa_IR.json plugins/jetpack/languages/json/jetpack-fi.json plugins/jetpack/languages/json/jetpack-fr_BE.json plugins/jetpack/languages/json/jetpack-fr_FR.json plugins/jetpack/languages/json/jetpack-gd.json plugins/jetpack/languages/json/jetpack-gl_ES.json plugins/jetpack/languages/json/jetpack-he_IL.json plugins/jetpack/languages/json/jetpack-hr.json plugins/jetpack/languages/json/jetpack-hu_HU.json plugins/jetpack/languages/json/jetpack-id_ID.json plugins/jetpack/languages/json/jetpack-is_IS.json plugins/jetpack/languages/json/jetpack-it_IT.json plugins/jetpack/languages/json/jetpack-ja.json plugins/jetpack/languages/json/jetpack- ka_GE.json plugins/jetpack/languages/json/jetpack-ko_KR.json plugins/jetpack/languages/json/jetpack-lt_LT.json plugins/jetpack/languages/json/jetpack-lv.json plugins/jetpack/languages/json/jetpack-mk_MK.json plugins/jetpack/languages/json/jetpack-ms_MY.json plugins/jetpack/languages/json/jetpack-my_MM.json plugins/jetpack/languages/json/jetpack-nb_NO.json plugins/jetpack/languages/json/jetpack-nl_NL.json plugins/jetpack/languages/json/jetpack-nl_NL_formal.json plugins/jetpack/languages/json/jetpack-nn_NO.json plugins/jetpack/languages/json/jetpack-pl_PL.json plugins/jetpack/languages/json/jetpack-pt_BR.json plugins/jetpack/languages/json/jetpack-pt_PT.json plugins/jetpack/languages/json/jetpack-ro_RO.json plugins/jetpack/languages/json/jetpack-ru_RU.json plugins/jetpack/languages/json/jetpack-sa_IN.json plugins/jetpack/languages/json/jetpack-si_LK.json plugins/jetpack/languages/json/jetpack-sk_SK.json plugins/jetpack/languages/json/jetpack-sl_SI.json plugins/jetpack/languages/json/j etpack-sq.json plugins/jetpack/languages/json/jetpack-sr_RS.json plugins/jetpack/languages/json/jetpack-sv_SE.json plugins/jetpack/languages/json/jetpack-te.json plugins/jetpack/languages/json/jetpack-th.json plugins/jetpack/languages/json/jetpack-tr_TR.json plugins/jetpack/languages/json/jetpack-uk.json plugins/jetpack/languages/json/jetpack-ur.json plugins/jetpack/languages/json/jetpack-vi.json plugins/jetpack/languages/json/jetpack-zh_CN.json plugins/jetpack/languages/json/jetpack-zh_HK.json plugins/jetpack/languages/json/jetpack-zh_TW.json plugins/jetpack/modules/carousel/jetpack-carousel-rtl.css plugins/jetpack/modules/carousel/jetpack-carousel.php plugins/jetpack/modules/comments/comments.php plugins/jetpack/modules/contact-form/css/grunion-rtl.css plugins/jetpack/modules/contact-form/css/grunion.css plugins/jetpack/modules/contact-form/css/jquery-ui-datepicker.css plugins/jetpack/modules/contact-form/grunion-contact-form.php plugins/jetpack/modules/contact-form/grunion-editor -view.php plugins/jetpack/modules/contact-form/js/editor-view.js plugins/jetpack/modules/contact-form/js/grunion-frontend.js plugins/jetpack/modules/custom-css/custom-css-4.7.php plugins/jetpack/modules/custom-css/custom-css/css/customizer-control.css plugins/jetpack/modules/custom-css/custom-css/js/core-customizer-css.core-4.9.js plugins/jetpack/modules/google-analytics/wp-google-analytics.php plugins/jetpack/modules/gravatar-hovercards.php plugins/jetpack/modules/infinite-scroll.php plugins/jetpack/modules/infinite-scroll/themes/twentyeleven.php plugins/jetpack/modules/infinite-scroll/themes/twentyfifteen.php plugins/jetpack/modules/infinite-scroll/themes/twentyfourteen.php plugins/jetpack/modules/infinite-scroll/themes/twentyseventeen.php plugins/jetpack/modules/infinite-scroll/themes/twentysixteen.php plugins/jetpack/modules/infinite-scroll/themes/twentyten.php plugins/jetpack/modules/infinite-scroll/themes/twentythirteen.php plugins/jetpack/modules/infinite-scroll/themes/twenty twelve.php plugins/jetpack/modules/likes.php plugins/jetpack/modules/masterbar/masterbar.php plugins/jetpack/modules/masterbar/tracks-events.js plugins/jetpack/modules/module-extras.php plugins/jetpack/modules/publicize.php plugins/jetpack/modules/related-posts/jetpack-related-posts.php plugins/jetpack/modules/related-posts/related-posts-rtl.css plugins/jetpack/modules/search/class.jetpack-search.php plugins/jetpack/modules/seo-tools.php plugins/jetpack/modules/sharedaddy/sharedaddy.php plugins/jetpack/modules/sharedaddy/sharing-service.php plugins/jetpack/modules/sharedaddy/sharing-sources.php plugins/jetpack/modules/sharedaddy/sharing.css plugins/jetpack/modules/shortcodes.php plugins/jetpack/modules/shortcodes/class.filter-embedded-html-objects.php plugins/jetpack/modules/shortcodes/css/recipes-print-rtl.css plugins/jetpack/modules/shortcodes/css/recipes-rtl.css plugins/jetpack/modules/shortcodes/css/rtl/recipes-rtl.css plugins/jetpack/modules/shortcodes/facebook.php plugins/jetp ack/modules/shortcodes/googleplus.php plugins/jetpack/modules/shortcodes/mailchimp.php plugins/jetpack/modules/shortcodes/untappd-menu.php plugins/jetpack/modules/shortlinks.php plugins/jetpack/modules/simple-payments/paypal-express-checkout.js plugins/jetpack/modules/simple-payments/simple-payments.css plugins/jetpack/modules/simple-payments/simple-payments.php plugins/jetpack/modules/sitemaps.php plugins/jetpack/modules/sitemaps/sitemap-constants.php plugins/jetpack/modules/stats.php plugins/jetpack/modules/subscriptions.php plugins/jetpack/modules/theme-tools/content-options/blog-display.php plugins/jetpack/modules/theme-tools/content-options/featured-images.php plugins/jetpack/modules/theme-tools/content-options/post-details.php plugins/jetpack/modules/tiled-gallery/tiled-gallery.php plugins/jetpack/modules/tiled-gallery/tiled-gallery/tiled-gallery-rtl.css plugins/jetpack/modules/verification-tools/verification-tools-utils.php plugins/jetpack/modules/videopress/class.videopress- player.php plugins/jetpack/modules/videopress/css/editor-rtl.css plugins/jetpack/modules/videopress/css/editor-rtl.min.css plugins/jetpack/modules/videopress/css/editor.min.css plugins/jetpack/modules/videopress/css/videopress-editor-style-rtl.css plugins/jetpack/modules/videopress/css/videopress-editor-style-rtl.min.css plugins/jetpack/modules/videopress/css/videopress-editor-style.min.css plugins/jetpack/modules/widgets.php plugins/jetpack/modules/widgets/contact-info.php plugins/jetpack/modules/widgets/gallery.php plugins/jetpack/modules/widgets/google-translate.php plugins/jetpack/modules/widgets/google-translate/google-translate.js plugins/jetpack/modules/widgets/mailchimp.php plugins/jetpack/modules/widgets/migrate-to-core/gallery-widget.php plugins/jetpack/modules/widgets/milestone/admin.js plugins/jetpack/modules/widgets/milestone/milestone.js plugins/jetpack/modules/widgets/milestone/milestone.php plugins/jetpack/modules/widgets/milestone/style-admin.css plugins/jetpack/mod ules/widgets/social-media-icons.php plugins/jetpack/modules/widgets/top-posts.php plugins/jetpack/readme.txt plugins/jetpack/sync/class.jetpack-sync-defaults.php plugins/jetpack/sync/class.jetpack-sync-functions.php plugins/jetpack/sync/class.jetpack-sync-module-callables.php plugins/jetpack/sync/class.jetpack-sync-module-full-sync.php plugins/jetpack/sync/class.jetpack-sync-module-posts.php plugins/jetpack/sync/class.jetpack-sync-module-protect.php plugins/jetpack/sync/class.jetpack-sync-module-themes.php plugins/jetpack/sync/class.jetpack-sync-module-updates.php plugins/jetpack/sync/class.jetpack-sync-module-users.php plugins/jetpack/sync/class.jetpack-sync-modules.php plugins/jetpack/sync/class.jetpack-sync-sender.php plugins/jetpack/sync/class.jetpack-sync-users.php plugins/jetpack/sync/class.jetpack-sync-wp-replicastore.php plugins/jetpack/uninstall.php X-VCS-Directories: plugins/jetpack/modules/custom-css/custom-css/js/ plugins/jetpack/modules/verification-tools/ plugins/jetpack/_inc/lib/admin-pages/ plugins/jetpack/modules/simple-payments/ plugins/jetpack/modules/videopress/css/ plugins/jetpack/images/ plugins/jetpack/modules/widgets/migrate-to-core/ plugins/jetpack/css/ plugins/jetpack/json-endpoints/ plugins/jetpack/languages/json/ plugins/jetpack/modules/carousel/ plugins/jetpack/_inc/lib/ plugins/jetpack/bin/ plugins/jetpack/modules/comments/ plugins/jetpack/modules/search/ plugins/jetpack/modules/contact-form/js/ plugins/jetpack/modules/google-analytics/ plugins/jetpack/modules/shortcodes/ plugins/jetpack/modules/tiled-gallery/tiled-gallery/ plugins/jetpack/modules/contact-form/css/ plugins/jetpack/modules/custom-css/custom-css/css/ plugins/jetpack/_inc/ plugins/jetpack/modules/shortcodes/css/rtl/ plugins/jetpack/modules/theme-tools/content-options/ plugins/jetpack/modules/widgets/google-translate/ plugins/jetpack/languages/ plugins/jetpack/modules/sitemaps/ plugins/jetpack/modules/related-posts/ plugins/jetpack/modules/shortcodes/css/ plugins/jetpack/ plugins/jetpack/modules/infinite-scroll/themes/ plugins/jetpack/modules/custom-css/ plugins/jetpack/modules/masterbar/ plugins/jetpack/modules/widgets/ plugins/jetpack/json-endpoints/jetpack/ plugins/jetpack/modules/widgets/milestone/ plugins/jetpack/modules/ plugins/jetpack/_inc/build/ plugins/jetpack/modules/sharedaddy/ plugins/jetpack/modules/videopress/ plugins/jetpack/modules/tiled-gallery/ plugins/jetpack/modules/contact-form/ plugins/jetpack/_inc/lib/core-api/ plugins/jetpack/_inc/lib/tracks/ plugins/jetpack/sync/ plugins/jetpack/3rd-party/ X-VCS-Committer: blueness X-VCS-Committer-Name: Anthony G. Basile X-VCS-Revision: 159ec5c8052e1d061a430893a4525629849e2589 X-VCS-Branch: master Date: Mon, 20 Nov 2017 21:52:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 90c6d2d8-f73c-44c6-83bb-f28b8633d5fc X-Archives-Hash: 2863443674a4d41ddedbf6e1f87b1dcc commit: 159ec5c8052e1d061a430893a4525629849e2589 Author: Anthony G. Basile gentoo org> AuthorDate: Mon Nov 20 21:50:38 2017 +0000 Commit: Anthony G. Basile gentoo org> CommitDate: Mon Nov 20 21:50:38 2017 +0000 URL: https://gitweb.gentoo.org/proj/blogs-gentoo.git/commit/?id=159ec5c8 Update jetpack 5.5 Signed-off-by: Anthony G. Basile gentoo.org> plugins/jetpack/3rd-party/wpml.php | 10 +- plugins/jetpack/_inc/build/admin.dops-style.css | 4 +- .../jetpack/_inc/build/admin.dops-style.rtl.css | 4 +- plugins/jetpack/_inc/build/admin.js | 78 +-- plugins/jetpack/_inc/build/style.min.css | 2 +- plugins/jetpack/_inc/build/style.min.rtl.css | 2 +- plugins/jetpack/_inc/jetpack-strings.php | 152 +++-- .../lib/admin-pages/class.jetpack-admin-page.php | 9 +- .../lib/admin-pages/class.jetpack-react-page.php | 10 +- .../_inc/lib/class.core-rest-api-endpoints.php | 278 +++++++-- .../class.jetpack-core-api-module-endpoints.php | 131 +++- .../class.jetpack-core-api-widgets-endpoints.php | 56 ++ plugins/jetpack/_inc/lib/icalendar-reader.php | 5 +- .../_inc/lib/tracks/class.tracks-client.php | 5 +- plugins/jetpack/_inc/lib/tracks/tracks-ajax.js | 43 +- plugins/jetpack/_inc/lib/widgets.php | 679 +++++++++++++++++++++ plugins/jetpack/bin/partner-cancel.sh | 62 +- plugins/jetpack/bin/partner-provision.sh | 130 ++-- plugins/jetpack/changelog.txt | 102 ++++ plugins/jetpack/class.jetpack-cli.php | 53 +- plugins/jetpack/class.jetpack-client-server.php | 37 +- plugins/jetpack/class.jetpack-jitm.php | 97 +-- .../jetpack/class.jetpack-modules-list-table.php | 6 +- plugins/jetpack/class.jetpack-network.php | 7 +- plugins/jetpack/class.jetpack-options.php | 181 +++++- plugins/jetpack/class.jetpack-post-images.php | 74 ++- plugins/jetpack/class.jetpack-signature.php | 2 +- plugins/jetpack/class.jetpack-tracks.php | 17 +- plugins/jetpack/class.jetpack-twitter-cards.php | 6 + plugins/jetpack/class.jetpack-user-agent.php | 46 +- plugins/jetpack/class.jetpack-xmlrpc-server.php | 38 +- plugins/jetpack/class.jetpack.php | 432 +++++++++---- plugins/jetpack/class.json-api-endpoints.php | 33 +- plugins/jetpack/class.photon.php | 8 +- plugins/jetpack/css/jetpack-rtl.css | 7 +- plugins/jetpack/css/jetpack.css | 7 +- plugins/jetpack/functions.gallery.php | 20 + plugins/jetpack/functions.global.php | 4 +- plugins/jetpack/functions.opengraph.php | 85 ++- plugins/jetpack/images/connect-jetpack.svg | 1 + plugins/jetpack/images/generating-cash-2.svg | 1 + plugins/jetpack/images/wordads.svg | 17 + plugins/jetpack/jetpack.php | 6 +- plugins/jetpack/json-endpoints.php | 14 + .../class.wpcom-json-api-add-widget-endpoint.php | 103 ++++ ...ss.wpcom-json-api-bulk-delete-post-endpoint.php | 18 +- ...s.wpcom-json-api-bulk-restore-post-endpoint.php | 68 +++ .../class.wpcom-json-api-comment-endpoint.php | 10 +- ...s.wpcom-json-api-get-comments-tree-endpoint.php | 8 +- ...om-json-api-get-comments-tree-v1-1-endpoint.php | 92 +++ .../class.wpcom-json-api-get-site-endpoint.php | 6 +- ...class.wpcom-json-api-list-comments-endpoint.php | 2 +- ...class.wpcom-json-api-site-settings-endpoint.php | 10 + ....wpcom-json-api-site-settings-v1-2-endpoint.php | 2 +- ...wpcom-json-api-site-settings-v1-3-endpoint.php} | 94 ++- ...lass.wpcom-json-api-update-comment-endpoint.php | 17 +- .../class.wpcom-json-api-update-media-endpoint.php | 1 + ...ss.wpcom-json-api-update-post-v1-2-endpoint.php | 7 + .../class.wpcom-json-api-update-term-endpoint.php | 12 +- ...ss.jetpack-json-api-plugins-delete-endpoint.php | 57 +- .../class.jetpack-json-api-plugins-endpoint.php | 178 ++++-- ...class.jetpack-json-api-plugins-get-endpoint.php | 22 + ...s.jetpack-json-api-plugins-install-endpoint.php | 104 +++- ...lass.jetpack-json-api-plugins-list-endpoint.php | 27 +- ...ss.jetpack-json-api-plugins-modify-endpoint.php | 186 +++++- ...tpack-json-api-plugins-modify-v1-2-endpoint.php | 180 ++++++ ...class.jetpack-json-api-plugins-new-endpoint.php | 54 +- .../jetpack/json-api-jetpack-endpoints.php | 184 +----- plugins/jetpack/languages/jetpack-bg_BG.mo | Bin 217457 -> 248119 bytes plugins/jetpack/languages/jetpack-gl_ES.mo | Bin 34160 -> 287567 bytes plugins/jetpack/languages/jetpack-pl_PL.mo | Bin 142966 -> 141784 bytes plugins/jetpack/languages/jetpack-zh_HK.mo | Bin 215437 -> 0 bytes plugins/jetpack/languages/json/jetpack-af.json | 2 +- plugins/jetpack/languages/json/jetpack-ar.json | 2 +- plugins/jetpack/languages/json/jetpack-ary.json | 2 +- plugins/jetpack/languages/json/jetpack-az.json | 2 +- plugins/jetpack/languages/json/jetpack-bg_BG.json | 2 +- plugins/jetpack/languages/json/jetpack-bs_BA.json | 2 +- plugins/jetpack/languages/json/jetpack-ca.json | 2 +- plugins/jetpack/languages/json/jetpack-ckb.json | 2 +- plugins/jetpack/languages/json/jetpack-cs_CZ.json | 2 +- plugins/jetpack/languages/json/jetpack-cy.json | 2 +- plugins/jetpack/languages/json/jetpack-da_DK.json | 2 +- plugins/jetpack/languages/json/jetpack-de_DE.json | 2 +- .../languages/json/jetpack-de_DE_formal.json | 2 +- plugins/jetpack/languages/json/jetpack-el.json | 2 +- plugins/jetpack/languages/json/jetpack-en_AU.json | 2 +- plugins/jetpack/languages/json/jetpack-en_CA.json | 2 +- plugins/jetpack/languages/json/jetpack-en_GB.json | 2 +- plugins/jetpack/languages/json/jetpack-en_NZ.json | 2 +- plugins/jetpack/languages/json/jetpack-eo.json | 2 +- plugins/jetpack/languages/json/jetpack-es_AR.json | 2 +- plugins/jetpack/languages/json/jetpack-es_CL.json | 2 +- plugins/jetpack/languages/json/jetpack-es_CR.json | 1 + plugins/jetpack/languages/json/jetpack-es_ES.json | 2 +- plugins/jetpack/languages/json/jetpack-es_VE.json | 2 +- plugins/jetpack/languages/json/jetpack-fa_IR.json | 2 +- plugins/jetpack/languages/json/jetpack-fi.json | 2 +- plugins/jetpack/languages/json/jetpack-fr_BE.json | 2 +- plugins/jetpack/languages/json/jetpack-fr_FR.json | 2 +- plugins/jetpack/languages/json/jetpack-gd.json | 2 +- plugins/jetpack/languages/json/jetpack-gl_ES.json | 2 +- plugins/jetpack/languages/json/jetpack-he_IL.json | 2 +- plugins/jetpack/languages/json/jetpack-hr.json | 2 +- plugins/jetpack/languages/json/jetpack-hu_HU.json | 2 +- plugins/jetpack/languages/json/jetpack-id_ID.json | 2 +- plugins/jetpack/languages/json/jetpack-is_IS.json | 2 +- plugins/jetpack/languages/json/jetpack-it_IT.json | 2 +- plugins/jetpack/languages/json/jetpack-ja.json | 2 +- plugins/jetpack/languages/json/jetpack-ka_GE.json | 2 +- plugins/jetpack/languages/json/jetpack-ko_KR.json | 2 +- plugins/jetpack/languages/json/jetpack-lt_LT.json | 2 +- plugins/jetpack/languages/json/jetpack-lv.json | 2 +- plugins/jetpack/languages/json/jetpack-mk_MK.json | 2 +- plugins/jetpack/languages/json/jetpack-ms_MY.json | 2 +- plugins/jetpack/languages/json/jetpack-my_MM.json | 2 +- plugins/jetpack/languages/json/jetpack-nb_NO.json | 2 +- plugins/jetpack/languages/json/jetpack-nl_NL.json | 2 +- .../languages/json/jetpack-nl_NL_formal.json | 2 +- plugins/jetpack/languages/json/jetpack-nn_NO.json | 2 +- plugins/jetpack/languages/json/jetpack-pl_PL.json | 2 +- plugins/jetpack/languages/json/jetpack-pt_BR.json | 2 +- plugins/jetpack/languages/json/jetpack-pt_PT.json | 2 +- plugins/jetpack/languages/json/jetpack-ro_RO.json | 2 +- plugins/jetpack/languages/json/jetpack-ru_RU.json | 2 +- plugins/jetpack/languages/json/jetpack-sa_IN.json | 2 +- plugins/jetpack/languages/json/jetpack-si_LK.json | 2 +- plugins/jetpack/languages/json/jetpack-sk_SK.json | 2 +- plugins/jetpack/languages/json/jetpack-sl_SI.json | 2 +- plugins/jetpack/languages/json/jetpack-sq.json | 2 +- plugins/jetpack/languages/json/jetpack-sr_RS.json | 2 +- plugins/jetpack/languages/json/jetpack-sv_SE.json | 2 +- plugins/jetpack/languages/json/jetpack-te.json | 2 +- plugins/jetpack/languages/json/jetpack-th.json | 2 +- plugins/jetpack/languages/json/jetpack-tr_TR.json | 2 +- plugins/jetpack/languages/json/jetpack-uk.json | 2 +- plugins/jetpack/languages/json/jetpack-ur.json | 2 +- plugins/jetpack/languages/json/jetpack-vi.json | 2 +- plugins/jetpack/languages/json/jetpack-zh_CN.json | 2 +- plugins/jetpack/languages/json/jetpack-zh_HK.json | 2 +- plugins/jetpack/languages/json/jetpack-zh_TW.json | 2 +- .../modules/carousel/jetpack-carousel-rtl.css | 1 + .../jetpack/modules/carousel/jetpack-carousel.php | 26 +- plugins/jetpack/modules/comments/comments.php | 360 ++++++----- .../modules/contact-form/css/grunion-rtl.css | 1 + .../jetpack/modules/contact-form/css/grunion.css | 94 ++- .../contact-form/css/jquery-ui-datepicker.css | 160 +++++ .../modules/contact-form/grunion-contact-form.php | 19 +- .../modules/contact-form/grunion-editor-view.php | 14 +- .../jetpack/modules/contact-form/js/editor-view.js | 2 +- .../modules/contact-form/js/grunion-frontend.js | 6 +- .../jetpack/modules/custom-css/custom-css-4.7.php | 36 +- .../custom-css/css/customizer-control.css | 12 +- .../custom-css/js/core-customizer-css.core-4.9.js | 83 +++ .../google-analytics/wp-google-analytics.php | 186 +++++- plugins/jetpack/modules/gravatar-hovercards.php | 17 +- plugins/jetpack/modules/infinite-scroll.php | 2 +- .../infinite-scroll/themes/twentyeleven.php | 26 +- .../infinite-scroll/themes/twentyfifteen.php | 8 +- .../infinite-scroll/themes/twentyfourteen.php | 25 +- .../infinite-scroll/themes/twentyseventeen.php | 5 +- .../infinite-scroll/themes/twentysixteen.php | 12 +- .../modules/infinite-scroll/themes/twentyten.php | 31 +- .../infinite-scroll/themes/twentythirteen.php | 14 +- .../infinite-scroll/themes/twentytwelve.php | 27 +- plugins/jetpack/modules/likes.php | 13 + plugins/jetpack/modules/masterbar/masterbar.php | 47 +- plugins/jetpack/modules/masterbar/tracks-events.js | 154 +++++ plugins/jetpack/modules/module-extras.php | 10 + plugins/jetpack/modules/publicize.php | 7 +- .../related-posts/jetpack-related-posts.php | 22 +- .../modules/related-posts/related-posts-rtl.css | 1 + .../modules/search/class.jetpack-search.php | 2 +- plugins/jetpack/modules/seo-tools.php | 4 + plugins/jetpack/modules/sharedaddy/sharedaddy.php | 10 - .../jetpack/modules/sharedaddy/sharing-service.php | 6 +- .../jetpack/modules/sharedaddy/sharing-sources.php | 56 +- plugins/jetpack/modules/sharedaddy/sharing.css | 2 +- plugins/jetpack/modules/shortcodes.php | 2 +- .../class.filter-embedded-html-objects.php | 2 +- .../modules/shortcodes/css/recipes-print-rtl.css | 38 +- .../jetpack/modules/shortcodes/css/recipes-rtl.css | 38 +- .../modules/shortcodes/css/rtl/recipes-rtl.css | 38 -- plugins/jetpack/modules/shortcodes/facebook.php | 9 +- plugins/jetpack/modules/shortcodes/googleplus.php | 2 +- plugins/jetpack/modules/shortcodes/mailchimp.php | 8 +- .../jetpack/modules/shortcodes/untappd-menu.php | 4 +- plugins/jetpack/modules/shortlinks.php | 6 +- .../simple-payments/paypal-express-checkout.js | 1 + .../modules/simple-payments/simple-payments.css | 52 +- .../modules/simple-payments/simple-payments.php | 8 +- plugins/jetpack/modules/sitemaps.php | 2 +- .../jetpack/modules/sitemaps/sitemap-constants.php | 2 +- plugins/jetpack/modules/stats.php | 4 +- plugins/jetpack/modules/subscriptions.php | 14 +- .../theme-tools/content-options/blog-display.php | 28 +- .../content-options/featured-images.php | 44 +- .../theme-tools/content-options/post-details.php | 14 +- .../modules/tiled-gallery/tiled-gallery.php | 2 + .../tiled-gallery/tiled-gallery-rtl.css | 1 + .../verification-tools-utils.php | 6 +- .../modules/videopress/class.videopress-player.php | 2 - .../jetpack/modules/videopress/css/editor-rtl.css | 60 ++ .../modules/videopress/css/editor-rtl.min.css | 1 + .../jetpack/modules/videopress/css/editor.min.css | 2 + .../videopress/css/videopress-editor-style-rtl.css | 22 + .../css/videopress-editor-style-rtl.min.css | 1 + .../videopress/css/videopress-editor-style.min.css | 2 + plugins/jetpack/modules/widgets.php | 1 + plugins/jetpack/modules/widgets/contact-info.php | 12 +- plugins/jetpack/modules/widgets/gallery.php | 16 + .../jetpack/modules/widgets/google-translate.php | 35 +- .../widgets/google-translate/google-translate.js | 2 +- plugins/jetpack/modules/widgets/mailchimp.php | 10 +- .../widgets/migrate-to-core/gallery-widget.php | 198 ++++++ plugins/jetpack/modules/widgets/milestone/admin.js | 25 + .../jetpack/modules/widgets/milestone/milestone.js | 67 +- .../modules/widgets/milestone/milestone.php | 453 +++++++++++--- .../modules/widgets/milestone/style-admin.css | 5 +- .../jetpack/modules/widgets/social-media-icons.php | 2 +- plugins/jetpack/modules/widgets/top-posts.php | 3 + plugins/jetpack/readme.txt | 162 +++-- .../jetpack/sync/class.jetpack-sync-defaults.php | 90 ++- .../jetpack/sync/class.jetpack-sync-functions.php | 47 +- .../sync/class.jetpack-sync-module-callables.php | 72 ++- .../sync/class.jetpack-sync-module-full-sync.php | 37 +- .../sync/class.jetpack-sync-module-posts.php | 12 +- .../sync/class.jetpack-sync-module-protect.php | 15 +- .../sync/class.jetpack-sync-module-themes.php | 25 +- .../sync/class.jetpack-sync-module-updates.php | 12 +- .../sync/class.jetpack-sync-module-users.php | 44 +- .../jetpack/sync/class.jetpack-sync-modules.php | 2 - plugins/jetpack/sync/class.jetpack-sync-sender.php | 8 +- plugins/jetpack/sync/class.jetpack-sync-users.php | 4 +- .../sync/class.jetpack-sync-wp-replicastore.php | 10 +- plugins/jetpack/uninstall.php | 13 +- 236 files changed, 5981 insertions(+), 1857 deletions(-) diff --git a/plugins/jetpack/3rd-party/wpml.php b/plugins/jetpack/3rd-party/wpml.php index a36613a..219cb37 100644 --- a/plugins/jetpack/3rd-party/wpml.php +++ b/plugins/jetpack/3rd-party/wpml.php @@ -28,9 +28,11 @@ function wpml_jetpack_widget_get_top_posts( $posts, $post_ids, $count ) { foreach ( $posts as $k => $post ) { $lang_information = wpml_get_language_information( $post['post_id'] ); - $post_language = substr( $lang_information['locale'], 0, 2 ); - if ( $post_language !== $sitepress->get_current_language() ) { - unset( $posts[ $k ] ); + if ( ! is_wp_error( $lang_information ) ) { + $post_language = substr( $lang_information['locale'], 0, 2 ); + if ( $post_language !== $sitepress->get_current_language() ) { + unset( $posts[ $k ] ); + } } } @@ -57,4 +59,4 @@ function grunion_contact_form_field_html_filter( $r, $field_label, $id ){ } return $r; -} \ No newline at end of file +} diff --git a/plugins/jetpack/_inc/build/admin.dops-style.css b/plugins/jetpack/_inc/build/admin.dops-style.css index 7a2386f..9d1126a 100644 --- a/plugins/jetpack/_inc/build/admin.dops-style.css +++ b/plugins/jetpack/_inc/build/admin.dops-style.css @@ -1031,7 +1031,7 @@ .form-toggle + .form-toggle__label .form-toggle__switch { background: #a8bece; } -.form-toggle:not(:disabled) + .form-toggle__label .form-toggle__switch:hover { +.form-toggle:not(:disabled) + .form-toggle__label:hover .form-toggle__switch { background: #c8d7e1; } .form-toggle:checked + .form-toggle__label .form-toggle__switch { @@ -1039,7 +1039,7 @@ .form-toggle:checked + .form-toggle__label .form-toggle__switch:after { left: 16px; } -.form-toggle:checked:not(:disabled) + .form-toggle__label .form-toggle__switch:hover { +.form-toggle:checked:not(:disabled) + .form-toggle__label:hover .form-toggle__switch { background: #78dcfa; } .form-toggle:disabled + label.form-toggle__label span.form-toggle__switch { diff --git a/plugins/jetpack/_inc/build/admin.dops-style.rtl.css b/plugins/jetpack/_inc/build/admin.dops-style.rtl.css index 42ab7b3..90ad707 100644 --- a/plugins/jetpack/_inc/build/admin.dops-style.rtl.css +++ b/plugins/jetpack/_inc/build/admin.dops-style.rtl.css @@ -1030,7 +1030,7 @@ .form-toggle + .form-toggle__label .form-toggle__switch { background: #a8bece; } -.form-toggle:not(:disabled) + .form-toggle__label .form-toggle__switch:hover { +.form-toggle:not(:disabled) + .form-toggle__label:hover .form-toggle__switch { background: #c8d7e1; } .form-toggle:checked + .form-toggle__label .form-toggle__switch { @@ -1038,7 +1038,7 @@ .form-toggle:checked + .form-toggle__label .form-toggle__switch:after { right: 16px; } -.form-toggle:checked:not(:disabled) + .form-toggle__label .form-toggle__switch:hover { +.form-toggle:checked:not(:disabled) + .form-toggle__label:hover .form-toggle__switch { background: #78dcfa; } .form-toggle:disabled + label.form-toggle__label span.form-toggle__switch { diff --git a/plugins/jetpack/_inc/build/admin.js b/plugins/jetpack/_inc/build/admin.js index b6a13d0..206adb4 100644 --- a/plugins/jetpack/_inc/build/admin.js +++ b/plugins/jetpack/_inc/build/admin.js @@ -1,40 +1,40 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={exports:{},id:r,loaded:!1};return e[r].call(a.exports,a,a.exports,t),a.loaded=!0,a.exports}var n={};t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}var a=n(1),o=r(a),i=n(142),s=r(i),c=n(154),l=n(189),u=n(250),d=n(255),p=n(276),f=r(p),h=n(277),m=r(h),_=n(491),M=r(_),g=n(720),v=r(g);(0,f.default)();var b=window.Initial_State;b.locale=JSON.parse(b.locale),void 0!==b.locale[""]?(b.locale[""].localeSlug=b.localeSlug,Number.prototype.realToLocaleString=Number.prototype.toLocaleString,Number.prototype.toLocaleString=function(e,t){return e=e||b.localeSlug,t=t||{},this.realToLocaleString(e,t)}):b.locale={"":{localeSlug:b.localeSlug}},M.default.setLocale(b.locale);var y=(0,l.useRouterHistory)(d.createHashHistory)({queryKey:!1}),A=(0,u.syncHistoryWithStore)(y,m.default);!function(){var e=document.getElementById("jp-plugin-container");null!==e&&o.default.render(s.default. createElement("div",null,s.default.createElement(c.Provider,{store:m.default},s.default.createElement(l.Router,{history:A},s.default.createElement(l.Route,{path:"/",name:M.default.translate("At A Glance",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/jumpstart",component:v.default}),s.default.createElement(l.Route,{path:"/dashboard",name:M.default.translate("At A Glance"),component:v.default}),s.default.createElement(l.Route,{path:"/plans",name:M.default.translate("Plans",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/settings",name:M.default.translate("Settings",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/discussion",name:M.default.translate("Discussion",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/security",name:M.default.translate("Security",{context:"Navigation item."}),component:v.default}),s.def ault.createElement(l.Route,{path:"/traffic",name:M.default.translate("Traffic",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/writing",name:M.default.translate("Writing",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/sharing",name:M.default.translate("Sharing",{context:"Navigation item."}),component:v.default}),s.default.createElement(l.Route,{path:"/wpbody-content",component:v.default}),s.default.createElement(l.Route,{path:"/wp-toolbar",component:v.default}),s.default.createElement(l.Route,{path:"*",component:v.default})))),e)}()},function(e,t,n){"use strict";e.exports=n(2)},function(e,t,n){"use strict";var r=n(3),a=n(4),o=n(69),i=n(43),s=n(26),c=n(16),l=n(48),u=n(52),d=n(140),p=n(89),f=n(141);n(23);o.inject();var h=c.measure("React","render",s.render),m={findDOMNode:p,render:h,unmountComponentAtNode:s.unmountComponentAtNode,version:d,unstable_batchedUpdates:u.batchedUpdates,unstable_renderSu btreeIntoContainer:f};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({CurrentOwner:r,InstanceHandles:i,Mount:s,Reconciler:l,TextComponent:a});e.exports=m},function(e,t){"use strict";var n={current:null};e.exports=n},function(e,t,n){"use strict";var r=n(5),a=n(20),o=n(24),i=n(26),s=n(37),c=n(19),l=n(18),u=(n(68),function(e){});s(u.prototype,{construct:function(e){this._currentElement=e,this._stringText=""+e,this._rootNodeID=null,this._mountIndex=0},mountComponent:function(e,t,n){if(this._rootNodeID=e,t.useCreateElement){var r=n[i.ownerDocumentContextKey],o=r.createElement("span");return a.setAttributeForID(o,e),i.getID(o),l(o,this._stringText),o}var s=c(this._stringText);return t.renderToStaticMarkup?s:""+s+""},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText= n;var a=i.getNode(this._rootNodeID);r.updateTextContent(a,n)}}},unmountComponent:function(){o.unmountIDFromEnvironment(this._rootNodeID)}}),e.exports=u},function(e,t,n){"use strict";function r(e,t,n){var r=n>=e.childNodes.length?null:e.childNodes.item(n);e.insertBefore(t,r)}var a=n(6),o=n(14),i=n(16),s=n(17),c=n(18),l=n(11),u={dangerouslyReplaceNodeWithMarkup:a.dangerouslyReplaceNodeWithMarkup,updateTextContent:c,processUpdates:function(e,t){for(var n,i=null,u=null,d=0;d]+)/,u={dangerouslyRenderMarkup:function(e){a.canUseDOM||c(!1);for(var t,n={},u=0;u":"<"+e+">",s[e]=!i.firstChild),s[e]?p[e]:null}var a=n(7),o=n(11),i=a.canUseDOM?document.createElement("div"):null,s={},c=[1,'"],l=[1,"","
"],u=[3,"","
"],d=[1,'',""],p={"*":[1,"?
","
"],area:[1,"",""],col:[2,"","
"],legend:[1,"
","
"],param:[1,"",""],tr:[2,"","
"],optgroup:c,option:c,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:u,th:u};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){p[e]=d,s[e]=!0}),e.exports=r},function(e,t){"use strict";function n(e){return function(){retu rn e}}function r(){}r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){"use strict";var r=n(15),a=r({INSERT_MARKUP:null,MOVE_EXISTING:null,REMOVE_NODE:null,SET_MARKUP:null,TEXT_CONTENT:null});e.exports=a},function(e,t,n){"use strict";var r=n(11),a=function(e){var t,n={};e instanceof Object&&!Array.isArray(e)||r(!1);for(t in e)e.hasOwnProperty(t)&&(n[t]=t);return n};e.exports=a},function(e,t,n){"use strict";function r(e,t,n){return n}var a={enableMeasure:!1,storedMeasure:r,measureMethods:function(e,t,n){},measure:function(e,t,n){return n},injection:{injectMeasure:function(e){a.storedMeasure=e}}};e.exports=a},function(e,t,n){"use strict";var r=n(7),a=/^[ \r\n\t\f]/,o=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,i=function(e,t){e.innerHTML=t};if("undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(i=function(e,t){MSAp p.execUnsafeLocalFunction(function(){e.innerHTML=t})}),r.canUseDOM){var s=document.createElement("div");s.innerHTML=" ",""===s.innerHTML&&(i=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||"<"===t[0]&&o.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t})}e.exports=i},function(e,t,n){"use strict";var r=n(7),a=n(19),o=n(17),i=function(e,t){e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(i=function(e,t){o(e,a(t))})),e.exports=i},function(e,t){"use strict";function n(e){return a[e]}function r(e){return(""+e).replace(o,n)}var a={"&":"&",">":">","<":"<",'"':""","'":"'"},o=/[&><"']/g;e.exports=r},function(e,t,n){"use strict";function r(e){return!!u.hasOwnProperty(e)||!l.hasOwnProperty(e)&&(c.test(e)?(u[e]=!0,!0):(l[e]=!0,!1))}function a(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericVa lue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var o=n(21),i=n(16),s=n(22),c=(n(23),/^[a-zA-Z_][\w\.\-]*$/),l={},u={},d={createMarkupForID:function(e){return o.ID_ATTRIBUTE_NAME+"="+s(e)},setAttributeForID:function(e,t){e.setAttribute(o.ID_ATTRIBUTE_NAME,t)},createMarkupForProperty:function(e,t){var n=o.properties.hasOwnProperty(e)?o.properties[e]:null;if(n){if(a(n,t))return"";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?r+'=""':r+"="+s(t)}return o.isCustomAttribute(e)?null==t?"":e+"="+s(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+"="+s(t):""},setValueForProperty:function(e,t,n){var r=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(r){var i=r.mutationMethod;if(i)i(e,n);else if(a(r,n))this.deleteValueForProperty(e,t);else if(r.mustUseAttribute){var s=r.attributeName,c=r.attributeNamespace;c?e.setAttributeNS(c,s,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(s,""):e.setAttribute( s,""+n)}else{var l=r.propertyName;r.hasSideEffects&&""+e[l]==""+n||(e[l]=n)}}else o.isCustomAttribute(t)&&d.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){r(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForProperty:function(e,t){var n=o.properties.hasOwnProperty(t)?o.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseAttribute)e.removeAttribute(n.attributeName);else{var a=n.propertyName,i=o.getDefaultValueForProperty(e.nodeName,a);n.hasSideEffects&&""+e[a]===i||(e[a]=i)}}else o.isCustomAttribute(t)&&e.removeAttribute(t)}};i.measureMethods(d,"DOMPropertyOperations",{setValueForProperty:"setValueForProperty",setValueForAttribute:"setValueForAttribute",deleteValueForProperty:"deleteValueForProperty"}),e.exports=d},function(e,t,n){"use strict";function r(e,t){return(e&t)===t}var a=n(11),o={MUST_USE_ATTRIBUTE:1,MUST_USE_PROPERTY:2,HAS_SIDE_EFFECTS:4,HAS_BOOLEAN_VALUE:8,HAS_NUMERIC_VALUE:16,HAS_POSITIVE_NUMERIC_VALU E:48,HAS_OVERLOADED_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(e){var t=o,n=e.Properties||{},i=e.DOMAttributeNamespaces||{},c=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},u=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var d in n){s.properties.hasOwnProperty(d)&&a(!1);var p=d.toLowerCase(),f=n[d],h={attributeName:p,attributeNamespace:null,propertyName:d,mutationMethod:null,mustUseAttribute:r(f,t.MUST_USE_ATTRIBUTE),mustUseProperty:r(f,t.MUST_USE_PROPERTY),hasSideEffects:r(f,t.HAS_SIDE_EFFECTS),hasBooleanValue:r(f,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(f,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(f,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(f,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.mustUseAttribute&&h.mustUseProperty&&a(!1),!h.mustUseProperty&&h.hasSideEffects&&a(!1),h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1||a(!1),c.hasOwnProperty(d)){var m=c[d];h.attributeName=m}i.hasOwn Property(d)&&(h.attributeNamespace=i[d]),l.hasOwnProperty(d)&&(h.propertyName=l[d]),u.hasOwnProperty(d)&&(h.mutationMethod=u[d]),s.properties[d]=h}}},i={},s={ID_ATTRIBUTE_NAME:"data-reactid",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t-1||i(!1),!l.plugins[n]){t.extractEvents||i(!1),l.plugins[n]=t;var r=t.eventTypes;for(var o in r)a(r[o],t,o)||i(!1)}}}function a(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&i(!1),l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var a in r)if(r.hasOwnProperty(a)){var s=r[a];o(s,t,n)}return!0}return!!e.registrationName&&(o(e.registrationName,t,n),!0)}function o(e,t,n){l.registrationNameModules[e]&&i(!1),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var i=n(11),s=null,c={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function (e){s&&i(!1),s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var a=e[n];c.hasOwnProperty(n)&&c[n]===a||(c[n]&&i(!1),c[n]=a,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;for(var n in t.phasedRegistrationNames)if(t.phasedRegistrationNames.hasOwnProperty(n)){var r=l.registrationNameModules[t.phasedRegistrationNames[n]];if(r)return r}return null},_resetEventPlugins:function(){s=null;for(var e in c)c.hasOwnProperty(e)&&delete c[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var a in r)r.hasOwnProperty(a)&&delete r[a]}};e.exports=l},function(e,t,n){"use strict";function r(e){return e===_.topMouseUp||e===_.topTouchEnd||e===_.topTouchCancel}function a(e){return e===_.topMouseMove||e===_.topTouchMove}function o(e){return e ===_.topMouseDown||e===_.topTouchStart}function i(e,t,n,r){var a=e.type||"unknown-event";e.currentTarget=m.Mount.getNode(r),t?f.invokeGuardedCallbackWithCatch(a,n,e,r):f.invokeGuardedCallback(a,n,e,r),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchIDs;if(Array.isArray(n))for(var a=0;a1){for(var d=Array(u),p=0;p1){for(var f=Array(p),h=0;h1){var t=e.indexOf(f,1);return t>-1?e.substr(0,t):e}return null},traverseEnterLeave:function(e,t,n,r,a){var o=l(e,t);o!==e&&u(e,o,n,r,!1,!0),o!==t&&u(o,t,n,a,!0,!1)},t raverseTwoPhase:function(e,t,n){e&&(u("",e,t,n,!0,!1),u(e,"",t,n,!1,!0))},traverseTwoPhaseSkipTarget:function(e,t,n){e&&(u("",e,t,n,!0,!0),u(e,"",t,n,!0,!0))},traverseAncestors:function(e,t,n){u("",e,t,n,!0,!1)},getFirstCommonAncestorID:l,_getNextDescendantID:c,isAncestorIDOf:i,SEPARATOR:f};e.exports=_},function(e,t){"use strict";var n={injectCreateReactRootIndex:function(e){r.createReactRootIndex=e}},r={createReactRootIndex:null,injection:n};e.exports=r},function(e,t){"use strict";var n={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=n},function(e,t,n){"use strict";var r=n(47),a=/\/?>/,o={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return e.replace(a," "+o.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(o.CHECKSUM_ATTR_NAME);return n=n&&pars eInt(n,10),r(e)===n}};e.exports=o},function(e,t){"use strict";function n(e){for(var t=1,n=0,a=0,o=e.length,i=-4&o;a8&&A<=11),L=32,w=String.fromCharCode(L),k=p.topLevelTypes,S={beforeInput:{phasedRegistrationNames:{bubbled:g({onBeforeInput:null}),captured:g({onBeforeInputCapture:null})},dependencies:[k.topCompositionEnd,k.topKeyPress,k.topTextInput,k.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:g({onCompositionEnd:null}),captured:g({onCompositionEndCapture:null})},dependencies:[k.topBlur,k.topCompositionEnd,k.topKeyDown,k.topKeyPress,k.topKeyUp,k.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:g({onCompositionStart:null}),captured:g({onCompositionStartCapture:null})},dependencies:[k.topBlur,k.topCompositionStart,k.topKeyDown,k.topKeyPress,k.topKeyUp,k.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:g({onCompositionUpdate:null}),captured:g({onCompositionUpdateCapture:null})},dependencies:[k.topBlur,k.topCompositionUpdate,k.topKeyDown,k.topKeyPress,k.topKeyUp,k.topMouseDown]}},C=!1,O=null,z={eventTypes:S,extractEvents:function(e,t,n,r,a){ret urn[c(e,t,n,r,a),d(e,t,n,r,a)]}};e.exports=z},function(e,t,n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return g(e,r)}function a(e,t,n){var a=t?M.bubbled:M.captured,o=r(e,n,a);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchIDs=m(n._dispatchIDs,e))}function o(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker,a,e)}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.injection.getInstanceHandle().traverseTwoPhaseSkipTarget(e.dispatchMarker,a,e)}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,a=g(e,r);a&&(n._dispatchListeners=m(n._dispatchListeners,a),n._dispatchIDs=m(n._dispatchIDs,e))}}function c(e){e&&e.dispatchConfig.registrationName&&s(e.dispatchMarker,null,e)}function l(e){_(e,o)}function u(e){_(e,i)}function d(e,t,n,r){h.injection.getInstanceHandle().traverseEnterLeave(n,r,s,e,t)}function p(e){_(e,c)}var f =n(28),h=n(29),m=(n(23),n(33)),_=n(34),M=f.PropagationPhases,g=h.getListener,v={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:u,accumulateDirectDispatches:p,accumulateEnterLeaveDispatches:d};e.exports=v},function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var a=n(54),o=n(37),i=n(73);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,a=this.getText(),o=a.length;for(e=0;e1?1-t:void 0;return this._fallbackText=a.slice(e,s),this._fallbackText}}),a.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";function r(){return!o&&a.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerTe xt"),o}var a=n(7),o=null;e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(75),o={data:null};a.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this.dispatchMarker=t,this.nativeEvent=n;var a=this.constructor.Interface;for(var o in a)if(a.hasOwnProperty(o)){var s=a[o];s?this[o]=s(n):"target"===o?this.target=r:this[o]=n[o]}var c=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;this.isDefaultPrevented=c?i.thatReturnsTrue:i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse}var a=n(54),o=n(37),i=n(13),s=(n(23),{type:null,target:null,currentTarget:i.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null});o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():e.returnValue=!1,this.isDefaultPrevented=i.t hatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;this.dispatchConfig=null,this.dispatchMarker=null,this.nativeEvent=null}}),r.Interface=s,r.augmentClass=function(e,t){var n=this,r=Object.create(n.prototype);o(r,e.prototype),e.prototype=r,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,a.addPoolingTo(e,a.fourArgumentPooler)},a.addPoolingTo(r,a.fourArgumentPooler),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(75),o={data:null};a.augmentClass(r,o),e.exports=r},function(e,t){"use strict";var n=function(e){var t;for(t in e)if(e.hasOwnProperty(t))return t;return null};e.exports=n},function(e,t,n){"use strict";functi on r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function a(e){var t=E.getPooled(C.change,z,e,T(e));b.accumulateTwoPhaseDispatches(t),A.batchedUpdates(o,t)}function o(e){v.enqueueEvents(e),v.processEventQueue(!1)}function i(e,t){O=e,z=t,O.attachEvent("onchange",a)}function s(){O&&(O.detachEvent("onchange",a),O=null,z=null)}function c(e,t,n){if(e===S.topChange)return n}function l(e,t,n){e===S.topFocus?(s(),i(t,n)):e===S.topBlur&&s()}function u(e,t){O=e,z=t,N=e.value,P=Object.getOwnPropertyDescriptor(e.constructor.prototype,"value"),Object.defineProperty(O,"value",j),O.attachEvent("onpropertychange",p)}function d(){O&&(delete O.value,O.detachEvent("onpropertychange",p),O=null,z=null,N=null,P=null)}function p(e){if("value"===e.propertyName){var t=e.srcElement.value;t!==N&&(N=t,a(e))}}function f(e,t,n){if(e===S.topInput)return n}function h(e,t,n){e===S.topFocus?(d(),u(t,n)):e===S.topBlur&&d()}function m(e,t,n){if((e===S.topSelectionChan ge||e===S.topKeyUp||e===S.topKeyDown)&&O&&O.value!==N)return N=O.value,z}function _(e){return e.nodeName&&"input"===e.nodeName.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function M(e,t,n){if(e===S.topClick)return n}var g=n(28),v=n(29),b=n(71),y=n(7),A=n(52),E=n(75),T=n(79),L=n(38),w=n(80),k=n(77),S=g.topLevelTypes,C={change:{phasedRegistrationNames:{bubbled:k({onChange:null}),captured:k({onChangeCapture:null})},dependencies:[S.topBlur,S.topChange,S.topClick,S.topFocus,S.topInput,S.topKeyDown,S.topKeyUp,S.topSelectionChange]}},O=null,z=null,N=null,P=null,D=!1;y.canUseDOM&&(D=L("change")&&(!("documentMode"in document)||document.documentMode>8));var x=!1;y.canUseDOM&&(x=L("input")&&(!("documentMode"in document)||document.documentMode>9));var j={get:function(){return P.get.call(this)},set:function(e){N=""+e,P.set.call(this,e)}},R={eventTypes:C,extractEvents:function(e,t,n,a,o){var i,s;if(r(t)?D?i=c:s=l:w(t)?x?i=f:(i=m,s=h):_(t)&&(i=M),i){var u=i(e,t,n);if(u){var d=E.getPoole d(C.change,u,a,o);return d.type="change",b.accumulateTwoPhaseDispatches(d),d}}s&&s(e,t,n)}} -;e.exports=R},function(e,t){"use strict";function n(e){var t=e.target||e.srcElement||window;return 3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t){"use strict";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&r[e.type]||"textarea"===t)}var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t){"use strict";var n=0,r={createReactRootIndex:function(){return n++}};e.exports=r},function(e,t,n){"use strict";var r=n(77),a=[r({ResponderEventPlugin:null}),r({SimpleEventPlugin:null}),r({TapEventPlugin:null}),r({EnterLeaveEventPlugin:null}),r({ChangeEventPlugin:null}),r({SelectEventPlugin:null}),r({BeforeInputEventPlugin:null})];e.exports=a},function(e,t,n){"use strict";var r=n(28),a=n(71),o=n(84),i=n(26),s=n(77),c=r.topLevelTypes,l=i.getFirstReactDOM,u={mouseEnter:{registrationName:s({onMouseEnter:null}),dependencies:[c.topMouse Out,c.topMouseOver]},mouseLeave:{registrationName:s({onMouseLeave:null}),dependencies:[c.topMouseOut,c.topMouseOver]}},d=[null,null],p={eventTypes:u,extractEvents:function(e,t,n,r,s){if(e===c.topMouseOver&&(r.relatedTarget||r.fromElement))return null;if(e!==c.topMouseOut&&e!==c.topMouseOver)return null;var p;if(t.window===t)p=t;else{var f=t.ownerDocument;p=f?f.defaultView||f.parentWindow:window}var h,m,_="",M="";if(e===c.topMouseOut?(h=t,_=n,m=l(r.relatedTarget||r.toElement),m?M=i.getID(m):m=p,m=m||p):(h=p,m=t,M=n),h===m)return null;var g=o.getPooled(u.mouseLeave,_,r,s);g.type="mouseleave",g.target=h,g.relatedTarget=m;var v=o.getPooled(u.mouseEnter,M,r,s);return v.type="mouseenter",v.target=m,v.relatedTarget=h,a.accumulateEnterLeaveDispatches(g,v,_,M),d[0]=g,d[1]=v,d}};e.exports=p},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(85),o=n(36),i=n(86),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null ,getModifierState:i,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+o.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+o.currentScrollTop}};a.augmentClass(r,s),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(75),o=n(79),i={view:function(e){if(e.view)return e.view;var t=o(e);if(null!=t&&t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};a.augmentClass(r,i),e.exports=r},function(e,t){"use strict";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=a[e];return!!r&&!!n[r]}function r(e){return n}var a={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};e.exports=r},function(e,t,n){"use str ict";var r,a=n(21),o=n(7),i=a.injection.MUST_USE_ATTRIBUTE,s=a.injection.MUST_USE_PROPERTY,c=a.injection.HAS_BOOLEAN_VALUE,l=a.injection.HAS_SIDE_EFFECTS,u=a.injection.HAS_NUMERIC_VALUE,d=a.injection.HAS_POSITIVE_NUMERIC_VALUE,p=a.injection.HAS_OVERLOADED_BOOLEAN_VALUE;if(o.canUseDOM){var f=document.implementation;r=f&&f.hasFeature&&f.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var h={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,acceptCharset:null,accessKey:null,action:null,allowFullScreen:i|c,allowTransparency:i,alt:null,async:c,autoComplete:null,autoPlay:c,capture:i|c,cellPadding:null,cellSpacing:null,charSet:i,challenge:i,checked:s|c,classID:i,className:r?i:s,cols:i|d,colSpan:null,content:null,contentEditable:null,contextMenu:i,controls:s|c,coords:null,crossOrigin:null,data:null,dateTime:i,default:c,defer:c,dir:null,disabled:i|c,download:p,draggable:null,encType:null,form:i,formAction:i,formEncT ype:i,formMethod:i,formNoValidate:c,formTarget:i,frameBorder:i,headers:null,height:i,hidden:i|c,high:null,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:s,inputMode:i,integrity:null,is:i,keyParams:i,keyType:i,kind:null,label:null,lang:null,list:i,loop:s|c,low:null,manifest:i,marginHeight:null,marginWidth:null,max:null,maxLength:i,media:i,mediaGroup:null,method:null,min:null,minLength:i,multiple:s|c,muted:s|c,name:null,nonce:i,noValidate:c,open:c,optimum:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:s|c,rel:null,required:c,reversed:c,role:i,rows:i|d,rowSpan:null,sandbox:null,scope:null,scoped:c,scrolling:null,seamless:i|c,selected:s|c,shape:null,size:i|d,sizes:i,span:d,spellCheck:null,src:null,srcDoc:s,srcLang:null,srcSet:i,start:u,step:null,style:null,summary:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:s|l,width:i,wmode:i,wrap:null,about:i,datatype:i,inlist:i,prefix:i,property:i,resource:i,typeof:i,vo cab:i,autoCapitalize:i,autoCorrect:i,autoSave:null,color:null,itemProp:i,itemScope:i|c,itemType:i,itemID:i,itemRef:i,results:null,security:i,unselectable:i},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",autoSave:"autosave",encType:"encoding",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};e.exports=h},function(e,t,n){"use strict";var r=(n(45),n(89)),a=(n(23),{getDOMNode:function(){return this.constructor._getDOMNodeDidWarn=!0,r(this)}});e.exports=a},function(e,t,n){"use strict";function r(e){return null==e?null:1===e.nodeType?e:a.has(e)?o.getNodeFromInstance(e):(null!=e.render&&"function"==typeof e.render&&i(!1),void i(!1))}var a=(n(3),n(45)),o=n(26),i=n(11);n(23);e.exports=r},function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var a=n(52),o=n(55),i=n(37),s=n(13), c={initialize:s,close:function(){p.isBatchingUpdates=!1}},l={initialize:s,close:a.flushBatchedUpdates.bind(a)},u=[l,c];i(r.prototype,o.Mixin,{getTransactionWrappers:function(){return u}});var d=new r,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,a,o){var i=p.isBatchingUpdates;p.isBatchingUpdates=!0,i?e(t,n,r,a,o):d.perform(e,null,t,n,r,a,o)}};e.exports=p},function(e,t,n){"use strict";function r(){return this}function a(){var e=this._reactInternalComponent;return!!e}function o(){}function i(e,t){var n=this._reactInternalComponent;n&&(N.enqueueSetPropsInternal(n,e),t&&N.enqueueCallbackInternal(n,t))}function s(e,t){var n=this._reactInternalComponent;n&&(N.enqueueReplacePropsInternal(n,e),t&&N.enqueueCallbackInternal(n,t))}function c(e,t){t&&(null!=t.dangerouslySetInnerHTML&&(null!=t.children&&j(!1),"object"==typeof t.dangerouslySetInnerHTML&&X in t.dangerouslySetInnerHTML||j(!1)),null!=t.style&&"object"!=typeof t.style&&j(!1))}function l(e,t,n,r){var a=C.findReactContainerFo rID(e);if(a){var o=a.nodeType===V?a.ownerDocument:a;I(t,o)}r.getReactMountReady().enqueue(u,{id:e,registrationName:t,listener:n})}function u(){var e=this;A.putListener(e.id,e.registrationName,e.listener)}function d(){var e=this;e._rootNodeID||j(!1);var t=C.getNode(e._rootNodeID);switch(t||j(!1),e._tag){case"iframe":e._wrapperState.listeners=[A.trapBubbledEvent(y.topLevelTypes.topLoad,"load",t)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var n in J)J.hasOwnProperty(n)&&e._wrapperState.listeners.push(A.trapBubbledEvent(y.topLevelTypes[n],J[n],t));break;case"img":e._wrapperState.listeners=[A.trapBubbledEvent(y.topLevelTypes.topError,"error",t),A.trapBubbledEvent(y.topLevelTypes.topLoad,"load",t)];break;case"form":e._wrapperState.listeners=[A.trapBubbledEvent(y.topLevelTypes.topReset,"reset",t),A.trapBubbledEvent(y.topLevelTypes.topSubmit,"submit",t)]}}function p(){L.mountReadyWrapper(this)}function f(){k.postUpdateWrapper(this)}function h(e){$.call(Z,e)||(Q.test(e)| |j(!1),Z[e]=!0)}function m(e,t){return e.indexOf("-")>=0||null!=t.is}function _(e){h(e),this._tag=e.toLowerCase(),this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._rootNodeID=null,this._wrapperState=null,this._topLevelWrapper=null,this._nodeWithLegacyProperties=null}var M=n(92),g=n(94),v=n(21),b=n(20),y=n(28),A=n(27),E=n(24),T=n(102),L=n(103),w=n(107),k=n(110),S=n(111),C=n(26),O=n(112),z=n(16),N=n(51),P=n(37),D=n(41),x=n(19),j=n(11),R=(n(38),n(77)),Y=n(17),W=n(18),q=(n(115),n(68),n(23),A.deleteListener),I=A.listenTo,B=A.registrationNameModules,U={string:!0,number:!0},H=R({children:null}),F=R({style:null}),X=R({__html:null}),V=1,J={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"p laying",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},K={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},G={listing:!0,pre:!0,textarea:!0},Q=(P({menuitem:!0},K),/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/),Z={},$={}.hasOwnProperty;_.displayName="ReactDOMComponent",_.Mixin={construct:function(e){this._currentElement=e},mountComponent:function(e,t,n){this._rootNodeID=e;var r=this._currentElement.props;switch(this._tag){case"iframe":case"img":case"form":case"video":case"audio":this._wrapperState={listeners:null},t.getReactMountReady().enqueue(d,this);break;case"button":r=T.getNativeProps(this,r,n);break;case"input":L.mountWrapper(this,r,n),r=L.getNativeProps(this,r,n);break;case"option":w.mountWrapper(this,r,n),r=w.getNativeProps(this,r,n);break;case"select":k.mou ntWrapper(this,r,n),r=k.getNativeProps(this,r,n),n=k.processChildContext(this,r,n);break;case"textarea":S.mountWrapper(this,r,n),r=S.getNativeProps(this,r,n)}c(this,r);var a;if(t.useCreateElement){var o=n[C.ownerDocumentContextKey],i=o.createElement(this._currentElement.type);b.setAttributeForID(i,this._rootNodeID),C.getID(i),this._updateDOMProperties({},r,t,i),this._createInitialChildren(t,r,n,i),a=i}else{var s=this._createOpenTagMarkupAndPutListeners(t,r),l=this._createContentMarkup(t,r,n);a=!l&&K[this._tag]?s+"/>":s+">"+l+""}switch(this._tag){case"input":t.getReactMountReady().enqueue(p,this);case"button":case"select":case"textarea":r.autoFocus&&t.getReactMountReady().enqueue(M.focusDOMComponent,this)}return a},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var a=t[r];if(null!=a)if(B.hasOwnProperty(r))a&&l(this._rootNodeID,r,a,e);else{r===F&&(a&&(a=this._previousStyleCopy =P({},t.style)),a=g.createMarkupForStyles(a));var o=null;null!=this._tag&&m(this._tag,t)?r!==H&&(o=b.createMarkupForCustomAttribute(r,a)):o=b.createMarkupForProperty(r,a),o&&(n+=" "+o)}}return e.renderToStaticMarkup?n:n+" "+b.createMarkupForID(this._rootNodeID)},_createContentMarkup:function(e,t,n){var r="",a=t.dangerouslySetInnerHTML;if(null!=a)null!=a.__html&&(r=a.__html);else{var o=U[typeof t.children]?t.children:null,i=null!=o?null:t.children;if(null!=o)r=x(o);else if(null!=i){var s=this.mountChildren(i,e,n);r=s.join("")}}return G[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var a=t.dangerouslySetInnerHTML;if(null!=a)null!=a.__html&&Y(r,a.__html);else{var o=U[typeof t.children]?t.children:null,i=null!=o?null:t.children;if(null!=o)W(r,o);else if(null!=i)for(var s=this.mountChildren(i,e,n),c=0;c>"}var m=n(40),_=n(64),M=n(13),g=n(106),v="<>",b={array:a("array"),bool:a("boolean"),func:a("function"),number:a("number"),object:a("object"),string:a("string"),any:function(){return r(M.thatReturns(null))}(),arrayOf:o,element:function(){function e(e,t,n,r,a){if(!m.isValidElement(e[t])){var o=_[r];return new Error("Invalid "+o+" `"+a+"` supplied to `"+n+"`, expected a single ReactElement.")}return null}return r(e)}(),instanceOf:i,node:function(){function e(e,t,n,r,a){if(!d(e[t])){var o=_[r];return new Error("Invalid "+o+" `"+a+"` supplied to `"+n+"`, expected a ReactNode.")}return null}return r(e)}(),objectOf:c,oneOf:s,oneOfType:l,shape:u};e.exports=b},function(e,t){"use strict";function n(e){var t=e&&(r&&e[r]||e[a]);if("function"==typeof t)return t}var r="function"==typeof Symbol&&Symbol.iterator,a="@@iterator";e.exports=n},function(e,t,n){"use strict";var r=n(108),a=n(110),o=n(37),i=(n(23),a.va lueContextKey),s={mountWrapper:function(e,t,n){var r=n[i],a=null;if(null!=r)if(a=!1,Array.isArray(r)){for(var o=0;ot.end?(n=t.end,r=t.start):(n=t.start,r=t.end),a.moveToElementText(e),a.moveStart("character",n),a.setEndPoint("EndToStart",a),a.moveEnd("character",r-n),a.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[u()].length,a=Math.min(t.start,r),o=void 0===t.end?a:Math.min(t.end,r);if(!n.extend&&a>o){var i=o;o=a,a=i}var s=l(e,a),c=l(e,o);if(s&&c){var d=document.createRange();d.setStart(s.node,s.offset),n.removeAllRanges(),a>o?(n.addRange(d),n.extend(c.node,c.offset)):(d.setEnd(c.node,c.offset),n.addRange(d))}}}var c=n(7),l=n(126),u=n(73),d=c.canUseDOM&&"selection"in document&&!("getSelection"in window),p={getOffsets:d?a:o,setOffsets:d?i:s};e.exports=p},function(e,t){"use strict";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function r(e){for(;e;){if(e.nextSibling)r eturn e.nextSibling;e=e.parentNode}}function a(e,t){for(var a=n(e),o=0,i=0;a;){if(3===a.nodeType){if(i=o+a.textContent.length,o<=t&&i>=t)return{node:a,offset:t-o};o=i}a=n(r(a))}}e.exports=a},function(e,t){"use strict";function n(){if("undefined"==typeof document)return null;try{return document.activeElement||document.body}catch(e){return document.body}}e.exports=n},function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&c.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function a(e,t){if(b||null==M||M!==u())return null;var n=r(M);if(!v||!f(v,n)){v=n;var a=l.getPooled(_.select,g,e,t);return a.type="select",a.target=M,i.accumulateTwoPha seDispatches(a),a}return null}var o=n(28),i=n(71),s=n(7),c=n(124),l=n(75),u=n(127),d=n(80),p=n(77),f=n(115),h=o.topLevelTypes,m=s.canUseDOM&&"documentMode"in document&&document.documentMode<=11,_={select:{phasedRegistrationNames:{bubbled:p({onSelect:null}),captured:p({onSelectCapture:null})},dependencies:[h.topBlur,h.topContextMenu,h.topFocus,h.topKeyDown,h.topMouseDown,h.topMouseUp,h.topSelectionChange]}},M=null,g=null,v=null,b=!1,y=!1,A=p({onSelect:null}),E={eventTypes:_,extractEvents:function(e,t,n,r,o){if(!y)return null;switch(e){case h.topFocus:(d(t)||"true"===t.contentEditable)&&(M=t,g=n,v=null);break;case h.topBlur:M=null,g=null,v=null;break;case h.topMouseDown:b=!0;break;case h.topContextMenu:case h.topMouseUp:return b=!1,a(r,o);case h.topSelectionChange:if(m)break;case h.topKeyDown:case h.topKeyUp:return a(r,o)}return null},didPutListener:function(e,t,n){t===A&&(y=!0)}};e.exports=E},function(e,t){"use strict";var n=Math.pow(2,53),r={createReactRootIndex:function(){return Ma th.ceil(Math.random()*n)}};e.exports=r},function(e,t,n){"use strict";var r=n(28),a=n(117),o=n(71),i=n(26),s=n(131),c=n(75),l=n(132),u=n(133),d=n(84),p=n(136),f=n(137),h=n(85),m=n(138),_=n(13),M=n(134),g=n(11),v=n(77),b=r.topLevelTypes,y={abort:{phasedRegistrationNames:{bubbled:v({onAbort:!0}),captured:v({onAbortCapture:!0})}},blur:{phasedRegistrationNames:{bubbled:v({onBlur:!0}),captured:v({onBlurCapture:!0})}},canPlay:{phasedRegistrationNames:{bubbled:v({onCanPlay:!0}),captured:v({onCanPlayCapture:!0})}},canPlayThrough:{phasedRegistrationNames:{bubbled:v({onCanPlayThrough:!0}),captured:v({onCanPlayThroughCapture:!0})}},click:{phasedRegistrationNames:{bubbled:v({onClick:!0}),captured:v({onClickCapture:!0})}},contextMenu:{phasedRegistrationNames:{bubbled:v({onContextMenu:!0}),captured:v({onContextMenuCapture:!0})}},copy:{phasedRegistrationNames:{bubbled:v({onCopy:!0}),captured:v({onCopyCapture:!0})}},cut:{phasedRegistrationNames:{bubbled:v({onCut:!0}),captured:v({onCutCapture:!0})}}, doubleClick:{phasedRegistrationNames:{bubbled:v({onDoubleClick:!0}),captured:v({onDoubleClickCapture:!0})}},drag:{phasedRegistrationNames:{bubbled:v({onDrag:!0}),captured:v({onDragCapture:!0})}},dragEnd:{phasedRegistrationNames:{bubbled:v({onDragEnd:!0}),captured:v({onDragEndCapture:!0})}},dragEnter:{phasedRegistrationNames:{bubbled:v({onDragEnter:!0}),captured:v({onDragEnterCapture:!0})}},dragExit:{phasedRegistrationNames:{bubbled:v({onDragExit:!0}),captured:v({onDragExitCapture:!0})}},dragLeave:{phasedRegistrationNames:{bubbled:v({onDragLeave:!0}),captured:v({onDragLeaveCapture:!0})}},dragOver:{phasedRegistrationNames:{bubbled:v({onDragOver:!0}),captured:v({onDragOverCapture:!0})}},dragStart:{phasedRegistrationNames:{bubbled:v({onDragStart:!0}),captured:v({onDragStartCapture:!0})}},drop:{phasedRegistrationNames:{bubbled:v({onDrop:!0}),captured:v({onDropCapture:!0})}},durationChange:{phasedRegistrationNames:{bubbled:v({onDurationChange:!0}),captured:v({onDurationChangeCapture:!0})} },emptied:{phasedRegistrationNames:{bubbled:v({onEmptied:!0}),captured:v({onEmptiedCapture:!0})}},encrypted:{phasedRegistrationNames:{bubbled:v({onEncrypted:!0}),captured:v({onEncryptedCapture:!0})}},ended:{phasedRegistrationNames:{bubbled:v({onEnded:!0}),captured:v({onEndedCapture:!0})}},error:{phasedRegistrationNames:{bubbled:v({onError:!0}),captured:v({onErrorCapture:!0})}},focus:{phasedRegistrationNames:{bubbled:v({onFocus:!0}),captured:v({onFocusCapture:!0})}},input:{phasedRegistrationNames:{bubbled:v({onInput:!0}),captured:v({onInputCapture:!0})}},keyDown:{phasedRegistrationNames:{bubbled:v({onKeyDown:!0}),captured:v({onKeyDownCapture:!0})}},keyPress:{phasedRegistrationNames:{bubbled:v({onKeyPress:!0}),captured:v({onKeyPressCapture:!0})}},keyUp:{phasedRegistrationNames:{bubbled:v({onKeyUp:!0}),captured:v({onKeyUpCapture:!0})}},load:{phasedRegistrationNames:{bubbled:v({onLoad:!0}),captured:v({onLoadCapture:!0})}},loadedData:{phasedRegistrationNames:{bubbled:v({onLoadedData:!0}) ,captured:v({onLoadedDataCapture:!0})}},loadedMetadata:{phasedRegistrationNames:{bubbled:v({onLoadedMetadata:!0}),captured:v({onLoadedMetadataCapture:!0})}},loadStart:{phasedRegistrationNames:{bubbled:v({onLoadStart:!0}),captured:v({onLoadStartCapture:!0})}},mouseDown:{phasedRegistrationNames:{bubbled:v({onMouseDown:!0}),captured:v({onMouseDownCapture:!0})}},mouseMove:{phasedRegistrationNames:{bubbled:v({onMouseMove:!0}),captured:v({onMouseMoveCapture:!0})}},mouseOut:{phasedRegistrationNames:{bubbled:v({onMouseOut:!0}),captured:v({onMouseOutCapture:!0})}},mouseOver:{phasedRegistrationNames:{bubbled:v({onMouseOver:!0}),captured:v({onMouseOverCapture:!0})}},mouseUp:{phasedRegistrationNames:{bubbled:v({onMouseUp:!0}),captured:v({onMouseUpCapture:!0})}},paste:{phasedRegistrationNames:{bubbled:v({onPaste:!0}),captured:v({onPasteCapture:!0})}},pause:{phasedRegistrationNames:{bubbled:v({onPause:!0}),captured:v({onPauseCapture:!0})}},play:{phasedRegistrationNames:{bubbled:v({onPlay:!0}),cap tured:v({onPlayCapture:!0})}},playing:{phasedRegistrationNames:{bubbled:v({onPlaying:!0}),captured:v({onPlayingCapture:!0})}},progress:{phasedRegistrationNames:{bubbled:v({onProgress:!0}),captured:v({onProgressCapture:!0})}},rateChange:{phasedRegistrationNames:{bubbled:v({onRateChange:!0}),captured:v({onRateChangeCapture:!0})}},reset:{phasedRegistrationNames:{bubbled:v({onReset:!0}),captured:v({onResetCapture:!0})}},scroll:{phasedRegistrationNames:{bubbled:v({onScroll:!0}),captured:v({onScrollCapture:!0})}},seeked:{phasedRegistrationNames:{bubbled:v({onSeeked:!0}),captured:v({onSeekedCapture:!0})}},seeking:{phasedRegistrationNames:{bubbled:v({onSeeking:!0}),captured:v({onSeekingCapture:!0})}},stalled:{phasedRegistrationNames:{bubbled:v({onStalled:!0}),captured:v({onStalledCapture:!0})}},submit:{phasedRegistrationNames:{bubbled:v({onSubmit:!0}),captured:v({onSubmitCapture:!0})}},suspend:{phasedRegistrationNames:{bubbled:v({onSuspend:!0}),captured:v({onSuspendCapture:!0})}},timeUpdate :{phasedRegistrationNames:{bubbled:v({onTimeUpdate:!0}),captured:v({onTimeUpdateCapture:!0})}},touchCancel:{phasedRegistrationNames:{bubbled:v({onTouchCancel:!0}),captured:v({onTouchCancelCapture:!0})}},touchEnd:{phasedRegistrationNames:{bubbled:v({onTouchEnd:!0}),captured:v({onTouchEndCapture:!0})}},touchMove:{phasedRegistrationNames:{bubbled:v({onTouchMove:!0}),captured:v({onTouchMoveCapture:!0})}},touchStart:{phasedRegistrationNames:{bubbled:v({onTouchStart:!0}),captured:v({onTouchStartCapture:!0})}},volumeChange:{phasedRegistrationNames:{bubbled:v({onVolumeChange:!0}),captured:v({onVolumeChangeCapture:!0})}},waiting:{phasedRegistrationNames:{bubbled:v({onWaiting:!0}),captured:v({onWaitingCapture:!0})}},wheel:{phasedRegistrationNames:{bubbled:v({onWheel:!0}),captured:v({onWheelCapture:!0})}}},A={topAbort:y.abort,topBlur:y.blur,topCanPlay:y.canPlay,topCanPlayThrough:y.canPlayThrough,topClick:y.click,topContextMenu:y.contextMenu,topCopy:y.copy,topCut:y.cut,topDoubleClick:y.doubleCl ick,topDrag:y.drag,topDragEnd:y.dragEnd,topDragEnter:y.dragEnter,topDragExit:y.dragExit,topDragLeave:y.dragLeave,topDragOver:y.dragOver,topDragStart:y.dragStart,topDrop:y.drop,topDurationChange:y.durationChange,topEmptied:y.emptied,topEncrypted:y.encrypted,topEnded:y.ended,topError:y.error,topFocus:y.focus,topInput:y.input,topKeyDown:y.keyDown,topKeyPress:y.keyPress,topKeyUp:y.keyUp,topLoad:y.load,topLoadedData:y.loadedData,topLoadedMetadata:y.loadedMetadata,topLoadStart:y.loadStart,topMouseDown:y.mouseDown,topMouseMove:y.mouseMove,topMouseOut:y.mouseOut,topMouseOver:y.mouseOver,topMouseUp:y.mouseUp,topPaste:y.paste,topPause:y.pause,topPlay:y.play,topPlaying:y.playing,topProgress:y.progress,topRateChange:y.rateChange,topReset:y.reset,topScroll:y.scroll,topSeeked:y.seeked,topSeeking:y.seeking,topStalled:y.stalled,topSubmit:y.submit,topSuspend:y.suspend,topTimeUpdate:y.timeUpdate,topTouchCancel:y.touchCancel,topTouchEnd:y.touchEnd,topTouchMove:y.touchMove,topTouchStart:y.touchStart,to pVolumeChange:y.volumeChange,topWaiting:y.waiting,topWheel:y.wheel};for(var E in A)A[E].dependencies=[E];var T=v({onClick:null}),L={},w={eventTypes:y,extractEvents:function(e,t,n,r,a){var i=A[e];if(!i)return null;var _;switch(e){case b.topAbort:case b.topCanPlay:case b.topCanPlayThrough:case b.topDurationChange:case b.topEmptied:case b.topEncrypted:case b.topEnded:case b.topError:case b.topInput:case b.topLoad:case b.topLoadedData:case b.topLoadedMetadata:case b.topLoadStart:case b.topPause:case b.topPlay:case b.topPlaying:case b.topProgress:case b.topRateChange:case b.topReset:case b.topSeeked:case b.topSeeking:case b.topStalled:case b.topSubmit:case b.topSuspend:case b.topTimeUpdate:case b.topVolumeChange:case b.topWaiting:_=c;break;case b.topKeyPress:if(0===M(r))return null;case b.topKeyDown:case b.topKeyUp:_=u;break;case b.topBlur:case b.topFocus:_=l;break;case b.topClick:if(2===r.button)return null;case b.topContextMenu:case b.topDoubleClick:case b.topMouseDown:case b.topMouseM ove:case b.topMouseOut:case b.topMouseOver:case b.topMouseUp:_=d;break;case b.topDrag:case b.topDragEnd:case b.topDragEnter:case b.topDragExit:case b.topDragLeave:case b.topDragOver:case b.topDragStart:case b.topDrop:_=p;break;case b.topTouchCancel:case b.topTouchEnd:case b.topTouchMove:case b.topTouchStart:_=f;break;case b.topScroll:_=h;break;case b.topWheel:_=m;break;case b.topCopy:case b.topCut:case b.topPaste:_=s}_||g(!1);var v=_.getPooled(i,n,r,a);return o.accumulateTwoPhaseDispatches(v),v},didPutListener:function(e,t,n){if(t===T){var r=i.getNode(e);L[e]||(L[e]=a.listen(r,"click",_))}},willDeleteListener:function(e,t){t===T&&(L[e].remove(),delete L[e])}};e.exports=w},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(75),o={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};a.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(85),o={relatedTarget:null};a. augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(85),o=n(134),i=n(135),s=n(86),c={key:i,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return"keypress"===e.type?o(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?o(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};a.augmentClass(r,c),e.exports=r},function(e,t){"use strict";function n(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t,n){"use strict";function r(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=a(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":""}var a=n(134),o={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"Ar rowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},i={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(84),o={dataTransfer:null};a.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";function r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(85),o=n(86),i={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:o};a.augmentClass(r,i),e.exports=r},function(e,t,n){"use strict";functio n r(e,t,n,r){a.call(this,e,t,n,r)}var a=n(84),o={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};a.augmentClass(r,o),e.exports=r},function(e,t,n){"use strict";var r=n(21),a=r.injection.MUST_USE_ATTRIBUTE,o={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},i={Properties:{clipPath:a,cx:a,cy:a,d:a,dx:a,dy:a,fill:a,fillOpacity:a,fontFamily:a,fontSize:a,fx:a,fy:a,gradientTransform:a,gradientUnits:a,markerEnd:a,markerMid:a,markerStart:a,offset:a,opacity:a,patternContentUnits:a,patternUnits:a,points:a,preserveAspectRatio:a,r:a,rx:a,ry:a,spreadMethod:a,stopColor:a,stopOpacity:a,stroke:a,strokeDasharray:a,strokeLinecap:a,strokeOpacity:a,strokeWidth:a,textAnchor:a,transform:a,version:a,viewBox:a,x1:a,x2:a,x:a,xlinkActuate:a,xlinkArcrole:a,xlinkHref:a,xlinkRole:a,xlinkShow:a,xlinkTitle:a, xlinkType:a,xmlBase:a,xmlLang:a,xmlSpace:a,y1:a,y2:a,y:a},DOMAttributeNamespaces:{xlinkActuate:o.xlink,xlinkArcrole:o.xlink,xlinkHref:o.xlink,xlinkRole:o.xlink,xlinkShow:o.xlink,xlinkTitle:o.xlink,xlinkType:o.xlink,xmlBase:o.xml,xmlLang:o.xml,xmlSpace:o.xml},DOMAttributeNames:{clipPath:"clip-path",fillOpacity:"fill-opacity",fontFamily:"font-family",fontSize:"font-size",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",patternContentUnits:"patternContentUnits",patternUnits:"patternUnits",preserveAspectRatio:"preserveAspectRatio",spreadMethod:"spreadMethod",stopColor:"stop-color",stopOpacity:"stop-opacity",strokeDasharray:"stroke-dasharray",strokeLinecap:"stroke-linecap",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",textAnchor:"text-anchor",viewBox:"viewBox",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show", xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlLang:"xml:lang",xmlSpace:"xml:space"}};e.exports=i},function(e,t){"use strict";e.exports="0.14.9"},function(e,t,n){"use strict";var r=n(26);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){"use strict";e.exports=n(143)},function(e,t,n){"use strict";var r=n(2),a=n(144),o=n(148),i=n(37),s=n(153),c={};i(c,o),i(c,{findDOMNode:s("findDOMNode","ReactDOM","react-dom",r,r.findDOMNode),render:s("render","ReactDOM","react-dom",r,r.render),unmountComponentAtNode:s("unmountComponentAtNode","ReactDOM","react-dom",r,r.unmountComponentAtNode),renderToString:s("renderToString","ReactDOMServer","react-dom/server",a,a.renderToString),renderToStaticMarkup:s("renderToStaticMarkup","ReactDOMServer","react-dom/server",a,a.renderToStaticMarkup)}),c.__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=r,c.__SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=a,e.exports=c},function(e,t,n){"use strict";var r=n(69),a=n(145),o=n(140);r.inject( );var i={renderToString:a.renderToString,renderToStaticMarkup:a.renderToStaticMarkup,version:o};e.exports=i},function(e,t,n){"use strict";function r(e){i.isValidElement(e)||h(!1);var t;try{d.injection.injectBatchingStrategy(l);var n=s.createReactRootID();return t=u.getPooled(!1),t.perform(function(){var r=f(e,null),a=r.mountComponent(n,t,p);return c.addChecksumToMarkup(a)},null)}finally{u.release(t),d.injection.injectBatchingStrategy(o)}}function a(e){i.isValidElement(e)||h(!1);var t;try{d.injection.injectBatchingStrategy(l);var n=s.createReactRootID();return t=u.getPooled(!0),t.perform(function(){return f(e,null).mountComponent(n,t,p)},null)}finally{u.release(t),d.injection.injectBatchingStrategy(o)}}var o=n(90),i=n(40),s=n(43),c=n(46),l=n(146),u=n(147),d=n(52),p=n(56),f=n(60),h=n(11);e.exports={renderToString:r,renderToStaticMarkup:a}},function(e,t){"use strict";var n={isBatchingUpdates:!1,batchedUpdates:function(e){}};e.exports=n},function(e,t,n){"use strict";function r(e){this.r einitializeTransaction(),this.renderToStaticMarkup=e,this.reactMountReady=o.getPooled(null),this.useCreateElement=!1}var a=n(54),o=n(53),i=n(55),s=n(37),c=n(13),l={initialize:function(){this.reactMountReady.reset()},close:c},u=[l],d={getTransactionWrappers:function(){return u},getReactMountReady:function(){return this.reactMountReady},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};s(r.prototype,i.Mixin,d),a.addPoolingTo(r),e.exports=r},function(e,t,n){"use strict";var r=n(108),a=n(121),o=n(120),i=n(149),s=n(40),c=(n(150),n(105)),l=n(140),u=n(37),d=n(152),p=s.createElement,f=s.createFactory,h=s.cloneElement,m={Children:{map:r.map,forEach:r.forEach,count:r.count,toArray:r.toArray,only:d},Component:a,createElement:p,cloneElement:h,isValidElement:s.isValidElement,PropTypes:c,createClass:o.createClass,createFactory:f,createMixin:function(e){return e},DOM:i,version:l,__spread:u};e.exports=m},function(e,t,n){"use strict";function r(e){return a.createFacto ry(e)}var a=n(40),o=(n(150),n(151)),i=o({a:"a",abbr:"abbr",address:"address",area:"area", -article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hgroup:"hgroup",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",r t:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul",var:"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",image:"image",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},r);e.exports=i},function(e,t,n){"use strict";function r(){if(d.current){var e=d.current.getName();if(e)return" Check the render method of `"+e+"`."}return""}function a(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;o("uniqueKey",e,t)}}function o(e,t,n){var a=r();if(!a){var o="strin g"==typeof n?n:n.displayName||n.name;o&&(a=" Check the top-level render call using <"+o+">.")}var i=h[e]||(h[e]={});if(i[a])return null;i[a]=!0;var s={parentOrOwner:a,url:" See https://fb.me/react-warning-keys for more information.",childOwner:null};return t&&t._owner&&t._owner!==d.current&&(s.childOwner=" It was passed a child from "+t._owner.getName()+"."),s}function i(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:{},l=Boolean(e),p=e||T,h=void 0;h="fun ction"==typeof t?t:t?(0,M.default)(t):L;var _=n||w,g=r.pure,v=void 0===g||g,b=r.withRef,A=void 0!==b&&b,C=v&&_!==w,O=S++;return function(e){function t(e,t,n){var r=_(e,t,n);return r}var n="Connect("+s(e)+")",r=function(r){function s(e,t){a(this,s);var i=o(this,r.call(this,e,t));i.version=O,i.store=e.store||t.store,(0,E.default)(i.store,'Could not find "store" in either the context or props of "'+n+'". Either wrap the root component in a , or explicitly pass "store" as a prop to "'+n+'".');var c=i.store.getState();return i.state={storeState:c},i.clearCache(),i}return i(s,r),s.prototype.shouldComponentUpdate=function(){return!v||this.haveOwnPropsChanged||this.hasStoreStateChanged},s.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var n=e.getState(),r=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,t):this.finalMapStateToProps(n);return r},s.prototype.configureFinalMapState=function(e,t){var n=p(e.g etState(),t),r="function"==typeof n;return this.finalMapStateToProps=r?n:p,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(e,t):n},s.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var n=e.dispatch,r=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,t):this.finalMapDispatchToProps(n);return r},s.prototype.configureFinalMapDispatch=function(e,t){var n=h(e.dispatch,t),r="function"==typeof n;return this.finalMapDispatchToProps=r?n:h,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(e,t):n},s.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,m.default)(e,this.stateProps))&&(this.stateProps=e,!0)},s.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatc hProps||!(0,m.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},s.prototype.updateMergedPropsIfNeeded=function(){var e=t(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&C&&(0,m.default)(e,this.mergedProps))&&(this.mergedProps=e,!0)},s.prototype.isSubscribed=function(){return"function"==typeof this.unsubscribe},s.prototype.trySubscribe=function(){l&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},s.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},s.prototype.componentDidMount=function(){this.trySubscribe()},s.prototype.componentWillReceiveProps=function(e){v&&(0,m.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},s.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},s.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStor eStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},s.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!v||t!==e){if(v&&!this.doStatePropsDependOnOwnProps){var n=c(this.updateStatePropsIfNeeded,this);if(!n)return;n===k&&(this.statePropsPrecalculationError=k.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},s.prototype.getWrappedInstance=function(){return(0,E.default)(A,"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call."),this.refs.wrappedInstance},s.prototype.render=function(){var t=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,r=this.haveStatePropsBeenPrecalculated,a=this.statePropsPrecalculationError,o=this.renderedElement;if(this.haveOwnPropsChanged=!1,thi s.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,a)throw a;var i=!0,s=!0;v&&o&&(i=n||t&&this.doStatePropsDependOnOwnProps,s=t&&this.doDispatchPropsDependOnOwnProps);var c=!1,l=!1;r?c=!0:i&&(c=this.updateStatePropsIfNeeded()),s&&(l=this.updateDispatchPropsIfNeeded());return!(!!(c||l||t)&&this.updateMergedPropsIfNeeded())&&o?o:(this.renderedElement=A?(0,d.createElement)(e,u({},this.mergedProps,{ref:"wrappedInstance"})):(0,d.createElement)(e,this.mergedProps),this.renderedElement)},s}(d.Component);return r.displayName=n,r.WrappedComponent=e,r.contextTypes={store:f.default},r.propTypes={store:f.default},(0,y.default)(r,e)}}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(c)throw c;for(var r=!1,o={},i=0;i2?n-2:0),a=2;a should not have a "'+t+'" prop')}t.__esModule=!0,t.routes=t.route=t.components=t.component=t.history=void 0,t.falsy=r;var a=n(142),o=a.PropTypes.func,i=a.PropTypes.object,s=a.PropTypes.arrayOf,c=a.PropTypes.oneOfType,l=a.PropTypes.element,u=a.PropTypes.shape,d=a.PropTypes.string,p=(t.history=u({listen:o.isRequired,push:o.isRequired,replace:o.isRequired,go:o.isRequired,goBack:o.isRequired,goForward:o.isRequired}),t.component=c([o,d])),f=(t.components=c([p,i]),t.route=c([i,l]));t.routes=c([f,s(f)])},function(e,t,n){"use strict";function r(e){return e. replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a(e){for(var t="",n=[],a=[],o=void 0,i=0,s=/:([a-zA-Z_$][a-zA-Z0-9_$]*)|\*\*|\*|\(|\)/g;o=s.exec(e);)o.index!==i&&(a.push(e.slice(i,o.index)),t+=r(e.slice(i,o.index))),o[1]?(t+="([^/]+)",n.push(o[1])):"**"===o[0]?(t+="(.*)",n.push("splat")):"*"===o[0]?(t+="(.*?)",n.push("splat")):"("===o[0]?t+="(?:":")"===o[0]&&(t+=")?"),a.push(o[0]),i=s.lastIndex;return i!==e.length&&(a.push(e.slice(i,e.length)),t+=r(e.slice(i,e.length))),{pattern:e,regexpSource:t,paramNames:n,tokens:a}}function o(e){return p[e]||(p[e]=a(e)),p[e]}function i(e,t){"/"!==e.charAt(0)&&(e="/"+e);var n=o(e),r=n.regexpSource,a=n.paramNames,i=n.tokens;"/"!==e.charAt(e.length-1)&&(r+="/?"),"*"===i[i.length-1]&&(r+="$");var s=t.match(new RegExp("^"+r,"i"));if(null==s)return null;var c=s[0],l=t.substr(c.length);if(l){if("/"!==c.charAt(c.length-1))return null;l="/"+l}return{remainingPathname:l,paramNames:a,paramValues:s.slice(1).map(function(e){return e&&decodeURIComponent(e)})}}f unction s(e){return o(e).paramNames}function c(e,t){var n=i(e,t);if(!n)return null;var r=n.paramNames,a=n.paramValues,o={};return r.forEach(function(e,t){o[e]=a[t]}),o}function l(e,t){t=t||{};for(var n=o(e),r=n.tokens,a=0,i="",s=0,c=void 0,l=void 0,u=void 0,p=0,f=r.length;p0||(0,d.default)(!1),null!=u&&(i+=encodeURI(u))):"("===c?a+=1:")"===c?a-=1:":"===c.charAt(0)?(l=c.substring(1),u=t[l],null!=u||a>0||(0,d.default)(!1),null!=u&&(i+=encodeURIComponent(u))):i+=c;return i.replace(/\/+/g,"/")}t.__esModule=!0,t.compilePattern=o,t.matchPattern=i,t.getParamNames=s,t.getParams=c,t.formatPattern=l;var u=n(188),d=function(e){return e&&e.__esModule?e:{default:e}}(u),p=Object.create(null)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e){retu rn!e||!e.__v2_compatible__}function i(e){return e&&e.getCurrentLocation}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t=0&&0===window.sessionStorage.length)return;throw e}}function o(e){var t=void 0;try{t=window.sessionStorage.getItem(r(e))}catch(e){if(e.name===l)return null}if(t)try{return JSON.parse(t)}catch(e){}return null}t.__esModule=!0,t.saveState=a,t.readState=o;var i=n(199),s=(function(e){e&&e.__esModule}(i),"@@History/"),c=["QuotaExceededError","QUOTA_EXCEEDED_ERR"],l="SecurityError"},function(e,t,n){"use str ict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){function t(e){return c.canUseDOM||s.default(!1),n.listen(e)}var n=d.default(o({getUserConfirmation:l.getUserConfirmation},e,{go:l.go}));return o({},n,{listen:t})}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t0&&"number"!=typeof e[0]))}function o(e,t,n){var o,u;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(c(e))return!!c(t)&&(e=i.call(e),t=i.call (t),l(e,t,n));if(a(e)){if(!a(t))return!1;if(e.length!==t.length)return!1;for(o=0;o=0;o--)if(d[o]!=p[o])return!1;for(o=d.length-1;o>=0;o--)if(u=d[o],!l(e[u],t[u],n))return!1;return typeof e==typeof t}var i=Array.prototype.slice,s=n(208),c=n(209),l=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||"object"!=typeof e&&"object"!=typeof t?n.strict?e===t:e==t:o(e,t,n))}},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports="function"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t){function n(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function r(e){return e&&"object"==typeof e&&"number"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,"callee")&&!Object.prototype.propertyIsEnumerable.call(e,"callee ")||!1}var a="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=a?n:r,t.supported=n,t.unsupported=r},function(e,t){"use strict";function n(e,t,n){function a(){if(s=!0,c)return void(u=[].concat(r.call(arguments)));n.apply(this,arguments)}function o(){if(!s&&(l=!0,!c)){for(c=!0;!s&&i=e&&l&&(s=!0,n())}}var i=0,s=!1,c=!1,l=!1,u=void 0;o()}t.__esModule=!0;var r=Array.prototype.slice;t.loopAsync=n},function(e,t,n){"use strict";function r(){var e=arguments.length<=0||void 0===arguments[0]?"/":arguments[0],t=arguments.length<=1||void 0===arguments[1]?i.POP:arguments[1],n=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r=arguments.length<=3||void 0===arguments[3]?null:arguments[3];return"string"==typeof e&&(e=s.parsePath(e)),"object"==typeof t&&(e=a({},e,{state:t}),t=n||i.POP,n=r),{pathname:e.pathname||"/",search:e.search||"",hash:e.hash||"",state:e.state||null, action:t,key:n}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t1?r-1:0),o=1;o=e&&c&&(i=!0,n())}}var o=0,i=!1,s=!1,c=!1,l=void 0;a()}function r(e,t,n){function r(e,t,r){i||(t?(i=!0,n(t)):(o[e]=r,(i=++s===a)&&n(null,o)))}var a=e.length,o=[];if(0===a)return n(null,o);var i=!1,s=0;e.forEach(function(e,n){t(e,n,function(e,t){r(n,e,t)})})}t.__esModule=!0,t.loopAsync=n ,t.mapAsync=r},function(e,t,n){"use strict";function r(e,t){if(e==t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e))return Array.isArray(t)&&e.length===t.length&&e.every(function(e,n){return r(e,t[n])});if("object"===(void 0===e?"undefined":c(e))){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))if(void 0===e[n]){if(void 0!==t[n])return!1}else{if(!Object.prototype.hasOwnProperty.call(t,n))return!1;if(!r(e[n],t[n]))return!1}return!0}return String(e)===String(t)}function a(e,t){return"/"!==t.charAt(0)&&(t="/"+t),"/"!==e.charAt(e.length-1)&&(e+="/"),"/"!==t.charAt(t.length-1)&&(t+="/"),t===e}function o(e,t,n){for(var r=e,a=[],o=[],i=0,s=t.length;i=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e){return 0===e.button}function i(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function s(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function c(e,t){var n=t.query,r=t.hash,a=t.state;return n||r||a?{pathname:e,query:n,hash:r,state:a}:e}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t=0;r--){var a=e[r],o=a.path||"";if(n=o.replace(/\/*$/,"/")+n,0===o.index Of("/"))break}return"/"+n}},propTypes:{path:p,from:p,to:p.isRequired,query:f,state:f,onEnter:u.falsy,children:u.falsy},render:function(){(0,s.default)(!1)}});t.default=h,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(142),o=r(a),i=n(193),s=(r(i),n(188)),c=r(s),l=n(190),u=n(195),d=o.default.PropTypes.func,p=o.default.createClass({displayName:"IndexRoute",statics:{createRouteFromReactElement:function(e,t){t&&(t.indexRoute=(0,l.createRouteFromReactElement)(e))}},propTypes:{path:u.falsy,component:u.component,components:u.components,getComponent:d,getComponents:d},render:function(){(0,c.default)(!1)}});t.default=p,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(142),o=r(a),i=n(188),s=r(i),c=n(190),l=n(195),u=o.default.PropTypes,d=u.string,p=u.func,f=o.default.createClass({displayName:"Route",statics:{createRouteFromReactElement:c.creat eRouteFromReactElement},propTypes:{path:d,component:l.component,components:l.components,getComponent:p,getComponents:p},render:function(){(0,s.default)(!1)}});t.default=f,e.exports=t.default},function(e,t,n){"use strict";t.__esModule=!0;var r=n(193),a=(function(e){e&&e.__esModule}(r),n(195)),o={contextTypes:{history:a.history},componentWillMount:function(){this.history=this.context.history}};t.default=o,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(193),o=(r(a),n(142)),i=r(o),s=n(188),c=r(s),l=i.default.PropTypes.object,u={contextTypes:{history:l.isRequired,route:l},propTypes:{route:l},componentDidMount:function(){this.routerWillLeave||(0,c.default)(!1);var e=this.props.route||this.context.route;e||(0,c.default)(!1),this._unlistenBeforeLeavingRoute=this.context.history.listenBeforeLeavingRoute(e,this.routerWillLeave)},componentWillUnmount:function(){this._unlistenBeforeLeavingRoute&&this._unlistenBeforeLe avingRoute()}};t.default=u,e.exports=t.default},function(e,t,n){"use strict";function r(e){ -return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(193),o=(r(a),n(142)),i=r(o),s=i.default.PropTypes.object,c={propTypes:{route:s.isRequired},childContextTypes:{route:s.isRequired},getChildContext:function(){return{route:this.props.route}},componentWillMount:function(){}};t.default=c,e.exports=t.default},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.routes,r=a(t,["routes"]),o=(0,c.default)(e)(r),s=(0,u.default)(o,n);return i({},o,s)}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e,t){var n=e.history,r=e.routes,o=e.location,c=a(e,["history","routes","location"]);n||o||(0,l.default)(!1),n=n||(0,d.default)(c);var u=(0,f.default)(n,(0,h.createRoutes)(r)),p=void 0;o?o=n.createLocation(o):p=n.listen(function(e){o=e});var _=(0,m.createRouterObject)(n,u);n=(0,m.createRoutingHistory)(n,u),u.match(o,function(e,r,a){t(e,r&&_.createLocation(r,s.REPLACE),a&&i({},a,{history:n,router:_,matchContext:{history:n,transitionManager:u,router:_}})),p&&p()})}t.__esMo dule=!0;var i=Object.assign||function(e){for(var t=1;t1?t-1:0),o=1;o=0&&t=0&&_0&&void 0!==arguments[0]?arguments[0]:o,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.type,i=t.payload;return n= ==a?r({},e,{locationBeforeTransitions:i}):e}Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:{},r=n.selectLocationState,s=void 0===r?i:r,c=n.adjustUrlOnReplay,l=void 0= ==c||c;if(void 0===s(t.getState()))throw new Error("Expected the routing state to be available either as `state.routing` or as the custom expression you can specify as `selectLocationState` in the `syncHistoryWithStore()` options. Ensure you have added the `routerReducer` to your store's reducers via `combineReducers` or whatever method you use to isolate your reducers.");var u=void 0,d=void 0,p=void 0,f=void 0,h=void 0,m=function(e){return s(t.getState()).locationBeforeTransitions||(e?u:void 0)};if(u=m(),l){var _=function(){var t=m(!0);h!==t&&u!==t&&(d=!0,h=t,e.transitionTo(a({},t,{action:"PUSH"})),d=!1)};p=t.subscribe(_),_()}var M=function(e){d||(h=e,!u&&(u=e,m())||t.dispatch({type:o.LOCATION_CHANGE,payload:e}))};return f=e.listen(M),e.getCurrentLocation&&M(e.getCurrentLocation()),a({},e,{listen:function(n){var r=m(!0),a=!1,o=t.subscribe(function(){var e=m(!0);e!==r&&(r=e,a||n(r))});return e.getCurrentLocation||n(r),function(){a=!0,o()}},unsubscribe:function(){l&&p(),f()}})}Object .defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t=0&&0===window.sessionStorage.length)return;throw e}}function o(e){var t=void 0;try{t=window.sessionStorage.getItem(r(e))}catch(e){if(e.name===l)return null}if(t)try{return JSON.parse(t)}catch(e){}return null}t.__esModule=!0,t.saveState=a,t.readState=o;var i=n(257),s=(function(e){e&&e.__esModule}(i),"@@History/"),c=["QuotaExceededError","QUOTA_EXCEEDED_ERR"],l="SecurityError"},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function a(e){function t(e){return c.canUseDOM||s.default(!1),n.listen(e)}var n=d.default(o({getUserConfirmation:l.getUserConfirmation},e,{go:l.go}));return o({},n,{listen:t})}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t=0&&t=0&&_=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e){return function(){function t(e){return v&&null==e.basename&&(0===e.pathname.indexOf(v)?(e.pathname=e.pathname.substring(v.length),e.basename=v,""===e.pathname&&(e.pathname="/")):e.basename=""),e}function n(e){if(!v)return e;"string"==typeof e&&(e=c.parsePath(e));var t=e.pa thname,n="/"===v.slice(-1)?v:v+"/",r="/"===t.charAt(0)?t.slice(1):t;return i({},e,{pathname:n+r})}function r(e){return y.listenBefore(function(n,r){u.default(e,t(n),r)})}function o(e){return y.listen(function(n){e(t(n))})}function l(e){y.push(n(e))}function d(e){y.replace(n(e))}function f(e){return y.createPath(n(e))}function h(e){return y.createHref(n(e))}function m(e){for(var r=arguments.length,a=Array(r>1?r-1:0),o=1;o0&&(p=p.filter(function(t){return t!==e}),0===p.length&&u())}var l=e(t),u=void 0,p=[];return i({},l,{listenBeforeUnload:r,registerBeforeUnloadHook:d.default(o,"registerBeforeUnloadHook is deprecated; use listenBeforeUnload instead"),unregisterBeforeUnloadHook:d.default(s,"unregisterBeforeUnloadHook is deprecated; use the callback returned from listenBeforeUnload instead")})}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function o(e){return l.stringify(e).replace(/%20/g,"+")}function i(e){return function(){function t(e){if(null==e.query ){var t=e.search;e.query=A(t.substring(1)),e[m]={search:t,searchBase:""}}return e}function n(e,t){var n,r=e[m],a=t?y(t):"";if(!r&&!a)return e;"string"==typeof e&&(e=p.parsePath(e));var o=void 0;o=r&&e.search===r.search?r.searchBase:e.search||"";var i=o;return a&&(i+=(i?"&":"?")+a),s({},e,(n={search:i},n[m]={search:i,searchBase:o},n))}function r(e){return T.listenBefore(function(n,r){d.default(e,t(n),r)})}function i(e){return T.listen(function(n){e(t(n))})}function c(e){T.push(n(e,e.query))}function l(e){T.replace(n(e,e.query))}function u(e,t){return T.createPath(n(e,t||e.query))}function f(e,t){return T.createHref(n(e,t||e.query))}function M(e){for(var r=arguments.length,a=Array(r>1?r-1:0),o=1;o=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n){var r=n(283),a=n(284);e.exports=function(e){return function(t,n){var o,i,s=String(a(t)),c=r(n),l=s.length;return c<0||c>=l?e?"":void 0:(o=s.charCodeAt(c),o<55296||o>56319||c+1===l||(i=s.charCodeAt(c+1))<56320||i>57343?e?s.charAt(c):o:e?s.slice(c,c+2):i-56320+(o-55296<<10)+65536)}}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(286),a=n(287),o=n(302),i=n(292),s=n(303),c=n(304),l=n(305),u=n(321),d=n(323),p=n(322)("iterator"),f=!([].keys&&"next"in[].keys()),h=function(){return this};e.exports=function(e,t,n,m,_,M,g){l(n,t,m);var v,b,y,A=function(e){if(!f&&e in w)return w[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}r eturn function(){return new n(this,e)}},E=t+" Iterator",T="values"==_,L=!1,w=e.prototype,k=w[p]||w["@@iterator"]||_&&w[_],S=k||A(_),C=_?T?A("entries"):S:void 0,O="Array"==t?w.entries||k:k;if(O&&(y=d(O.call(new e)))!==Object.prototype&&(u(y,E,!0),r||s(y,p)||i(y,p,h)),T&&k&&"values"!==k.name&&(L=!0,S=function(){return k.call(this)}),r&&!g||!f&&!L&&w[p]||i(w,p,S),c[t]=S,c[E]=h,_)if(v={values:T?S:A("values"),keys:M?S:A("keys"),entries:C},g)for(b in v)b in w||o(w,b,v[b]);else a(a.P+a.F*(f||L),t,v);return v}},function(e,t){e.exports=!0},function(e,t,n){var r=n(288),a=n(289),o=n(290),i=n(292),s=function(e,t,n){var c,l,u,d=e&s.F,p=e&s.G,f=e&s.S,h=e&s.P,m=e&s.B,_=e&s.W,M=p?a:a[t]||(a[t]={}),g=M.prototype,v=p?r:f?r[t]:(r[t]||{}).prototype;p&&(n=t);for(c in n)(l=!d&&v&&void 0!==v[c])&&c in M||(u=l?v[c]:n[c],M[c]=p&&"function"!=typeof v[c]?n[c]:m&&l?o(u,r):_&&v[c]==u?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(u):h&&"function"==typeof u?o(Function.call,u):u,h&&((M.virtual||(M.virtual={}))[c]=u,e&s.R&&g&&!g[c]&&i(g,c,u)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){var n=e.exports={version:"2.4.0"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(291);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,a){return e.call(t,n,r,a)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(293),a=n(301);e.e xports=n(297)?function(e,t,n){return r.f(e,t,a(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(294),a=n(296),o=n(300),i=Object.defineProperty;t.f=n(297)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),a)try{return i(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){var r=n(295);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports=!n(297)&&!n(298)(function(){return 7!=Object.defineProperty(n(299)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){e.exports=!n(298)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(295),a=n(288).document,o=r(a)&&r(a.createElement);e.exports=function(e){r eturn o?a.createElement(e):{}}},function(e,t,n){var r=n(295);e.exports=function(e,t){if(!r(e))return e;var n,a;if(t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;if("function"==typeof(n=e.valueOf)&&!r(a=n.call(e)))return a;if(!t&&"function"==typeof(n=e.toString)&&!r(a=n.call(e)))return a;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){e.exports=n(292)},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){e.exports={}},function(e,t,n){"use strict";var r=n(306),a=n(301),o=n(321),i={};n(292)(i,n(322)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(i,{next:a(1,n)}),o(e,t+" Iterator")}},function(e,t,n){var r=n(294),a=n(307),o=n(319),i=n(316)("IE_PROTO"),s=function(){},c=function(){var e,t=n(299)("iframe"),r=o.length;for(t.style.display="none",n(320).appendChild(t),t .src="javascript:",e=t.contentWindow.document,e.open(),e.write(" @@ -334,101 +340,110 @@ class Jetpack_Comments extends Highlander_Comments_Base { */ public function watch_comment_parent() { $url_origin = set_url_scheme( 'http://jetpack.wordpress.com' ); - ?> + ?> - is_highlander_comment_post() ) { + switch ( $this->is_highlander_comment_post() ) { case 'facebook' : $comment_meta['hc_post_as'] = 'facebook'; $comment_meta['hc_avatar'] = stripslashes( $_POST['hc_avatar'] ); @@ -502,94 +521,99 @@ class Jetpack_Comments extends Highlander_Comments_Base { } // Bail if no extra comment meta - if ( empty( $comment_meta ) ) + if ( empty( $comment_meta ) ) { return; + } // Loop through extra meta and add values - foreach ( $comment_meta as $key => $value ) + foreach ( $comment_meta as $key => $value ) { add_comment_meta( $comment_id, $key, $value, true ); + } } + function capture_comment_post_redirect_to_reload_parent_frame( $url ) { - if ( !isset( $_GET['for'] ) || 'jetpack' != $_GET['for'] ) { + if ( ! isset( $_GET['for'] ) || 'jetpack' != $_GET['for'] ) { return $url; } -?> - -> - - - -<?php printf( __( 'Submitting Comment%s', 'jetpack' ), '…' ); ?> - - - -

…' ); ?>

- - - - + + +

…' ); ?>

+ + + + get_attribute( 'label' ); $field_required = $this->get_attribute( 'required' ); $placeholder = $this->get_attribute( 'placeholder' ); - $class = $this->get_attribute( 'class' ); + $class = 'date' === $field_type ? 'jp-contact-form-date' : $this->get_attribute( 'class' ); $field_placeholder = ( ! empty( $placeholder ) ) ? "placeholder='" . esc_attr( $placeholder ) . "'" : ''; $field_class = "class='" . trim( esc_attr( $field_type ) . ' ' . esc_attr( $class ) ) . "' "; @@ -2621,6 +2624,12 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode { $r .= "\t\t\n"; $r .= "\t\t\n"; break; + case 'url' : + $r .= "\n
\n"; + $r .= "\t\t\n"; + $r .= "\t\t\n"; + $r .= "\t
\n"; + break; case 'textarea' : $r .= "\n
\n"; $r .= "\t\t\n"; @@ -2671,10 +2680,14 @@ class Grunion_Contact_Form_Field extends Crunion_Contact_Form_Shortcode { case 'date' : $r .= "\n
\n"; $r .= "\t\t\n"; - $r .= "\t\t\n"; + $r .= "\t\t\n"; $r .= "\t
\n"; wp_enqueue_script( 'grunion-frontend', plugins_url( 'js/grunion-frontend.js', __FILE__ ), array( 'jquery', 'jquery-ui-datepicker' ) ); + wp_enqueue_style( 'jp-jquery-ui-datepicker', plugins_url( 'css/jquery-ui-datepicker.css', __FILE__ ), array( 'dashicons' ), '1.0' ); + + // Using Core's built-in datepicker localization routine + wp_localize_jquery_ui_datepicker(); break; default : // text field // note that any unknown types will produce a text input, so we can use arbitrary type names to handle diff --git a/plugins/jetpack/modules/contact-form/grunion-editor-view.php b/plugins/jetpack/modules/contact-form/grunion-editor-view.php index ce1946f..ecdcf76 100644 --- a/plugins/jetpack/modules/contact-form/grunion-editor-view.php +++ b/plugins/jetpack/modules/contact-form/grunion-editor-view.php @@ -30,7 +30,7 @@ class Grunion_Editor_View { $title = __( 'Add Contact Form', 'jetpack' ); ?> - @@ -83,7 +83,7 @@ class Grunion_Editor_View { ) ) ); - add_editor_style( plugins_url( 'css/editor-style.css', __FILE__ ) ); + add_editor_style( plugin_dir_url( __FILE__ ) . 'css/editor-style.css' ); } /** @@ -171,7 +171,7 @@ class Grunion_Editor_View { @@ -182,6 +182,13 @@ class Grunion_Editor_View {
+ + "; + (function() { + var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; + ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; + var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); + })(); + "; $custom_vars_string = implode( "\r\n", $custom_vars ); $async_code = str_replace( '%custom_vars%', $custom_vars_string, $async_code ); @@ -163,6 +176,159 @@ class Jetpack_Google_Analytics { return ''; } + + /** + * Used to filter in the anonymize IP snippet to the custom vars array for classic analytics + * Ref https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApi_gat#_gat._anonymizelp + * @param array custom vars to be filtered + * @return array possibly updated custom vars + */ + public function jetpack_wga_classic_anonymize_ip( $custom_vars ) { + $o = get_option( 'jetpack_wga' ); + $anonymize_ip = isset( $o[ 'anonymize_ip' ] ) ? $o[ 'anonymize_ip' ] : false; + if ( $anonymize_ip ) { + array_push( $custom_vars, "_gaq.push(['_gat._anonymizeIp']);" ); + } + + return $custom_vars; + } + + /** + * Used to filter in the order details to the custom vars array for classic analytics + * @param array custom vars to be filtered + * @return array possibly updated custom vars + */ + public function jetpack_wga_classic_track_purchases( $custom_vars ) { + global $wp; + + if ( ! class_exists( 'WooCommerce' ) ) { + return $custom_vars; + } + + // Ref: https://developers.google.com/analytics/devguides/collection/gajs/gaTrackingEcommerce#Example + $o = get_option( 'jetpack_wga' ); + $ec_track_purchases = isset( $o[ 'ec_track_purchases' ] ) ? $o[ 'ec_track_purchases' ] : false; + $minimum_woocommerce_active = class_exists( 'WooCommerce' ) && version_compare( WC_VERSION, '3.0', '>=' ); + if ( $ec_track_purchases && $minimum_woocommerce_active && is_order_received_page() ) { + $order_id = isset( $wp->query_vars['order-received'] ) ? $wp->query_vars['order-received'] : 0; + if ( 0 < $order_id && 1 != get_post_meta( $order_id, '_ga_tracked', true ) ) { + $order = new WC_Order( $order_id ); + + // [ '_add_Trans', '123', 'Site Title', '21.00', '1.00', '5.00', 'Snohomish', 'WA', 'USA' ] + array_push( + $custom_vars, + sprintf( + '_gaq.push( %s );', json_encode( + array( + '_addTrans', + (string) $order->get_order_number(), + get_bloginfo( 'name' ), + (string) $order->get_total(), + (string) $order->get_total_tax(), + (string) $order->get_total_shipping(), + (string) $order->get_billing_city(), + (string) $order->get_billing_state(), + (string) $order->get_billing_country() + ) + ) + ) + ); + + // Order items + if ( $order->get_items() ) { + foreach ( $order->get_items() as $item ) { + $product = $order->get_product_from_item( $item ); + $product_sku_or_id = $product->get_sku() ? $product->get_sku() : $product->get_id(); + + array_push( + $custom_vars, + sprintf( + '_gaq.push( %s );', json_encode( + array( + '_addItem', + (string) $order->get_order_number(), + (string) $product_sku_or_id, + $item['name'], + self::get_product_categories_concatenated( $product ), + (string) $order->get_item_total( $item ), + (string) $item['qty'] + ) + ) + ) + ); + } + } // get_items + + // Mark the order as tracked + update_post_meta( $order_id, '_ga_tracked', 1 ); + array_push( $custom_vars, "_gaq.push(['_trackTrans']);" ); + } // order not yet tracked + } // is order received page + + return $custom_vars; + } + + /** + * Gets product categories or varation attributes as a formatted concatenated string + * @param WC_Product + * @return string + */ + public function get_product_categories_concatenated( $product ) { + $variation_data = $product->is_type( 'variation' ) ? wc_get_product_variation_attributes( $product->get_id() ) : ''; + if ( is_array( $variation_data ) && ! empty( $variation_data ) ) { + $line = wc_get_formatted_variation( $variation_data, true ); + } else { + $out = array(); + $categories = get_the_terms( $product->get_id(), 'product_cat' ); + if ( $categories ) { + foreach ( $categories as $category ) { + $out[] = $category->name; + } + } + $line = join( "/", $out ); + } + return $line; + } + + /** + * Used to add footer javascript to track user clicking on add-to-cart buttons + * on single views (.single_add_to_cart_button) and list views (.add_to_cart_button) + */ + public function jetpack_wga_classic_track_add_to_cart() { + if ( ! class_exists( 'WooCommerce' ) ) { + return; + } + + $tracking_id = $this->_get_tracking_code(); + if ( empty( $tracking_id ) ) { + return; + } + + $o = get_option( 'jetpack_wga' ); + $ec_track_add_to_cart = isset( $o[ 'ec_track_add_to_cart' ] ) ? $o[ 'ec_track_add_to_cart' ] : false; + if ( $ec_track_add_to_cart ) { + if ( is_product() ) { // product page + global $product; + $product_sku_or_id = $product->get_sku() ? $product->get_sku() : "#" + $product->get_id(); + wc_enqueue_js( + "jQuery( function( $ ) { + $( '.single_add_to_cart_button' ).click( function() { + _gaq.push(['_trackEvent', 'Products', 'Add to Cart', '#" . esc_js( $product_sku_or_id ) . "']); + } ); + } );" + ); + } else if ( is_woocommerce() ) { // any other page that uses templates (like product lists, archives, etc) + wc_enqueue_js( + "jQuery( function( $ ) { + $( '.add_to_cart_button:not(.product_type_variable, .product_type_grouped)' ).click( function() { + var label = $( this ).data( 'product_sku' ) ? $( this ).data( 'product_sku' ) : '#' + $( this ).data( 'product_id' ); + _gaq.push(['_trackEvent', 'Products', 'Add to Cart', label]); + } ); + } );" + ); + } + } + } } global $jetpack_google_analytics; diff --git a/plugins/jetpack/modules/gravatar-hovercards.php b/plugins/jetpack/modules/gravatar-hovercards.php index 1312865..fe6cce6 100644 --- a/plugins/jetpack/modules/gravatar-hovercards.php +++ b/plugins/jetpack/modules/gravatar-hovercards.php @@ -229,15 +229,26 @@ function grofiles_extra_data() { /** * Echoes the data from grofiles_hovercards_data() as HTML elements. * - * @param int|string $author User ID or email address + * @since 5.5.0 Add support for a passed WP_User object + * + * @param int|string|WP_User $author User ID, email address, or a WP_User object */ function grofiles_hovercards_data_html( $author ) { $data = grofiles_hovercards_data( $author ); + $hash = ''; if ( is_numeric( $author ) ) { $user = get_userdata( $author ); - $hash = md5( $user->user_email ); - } else { + if ( $user ) { + $hash = md5( $user->user_email ); + } + } elseif ( is_email( $author ) ) { $hash = md5( $author ); + } elseif ( is_a( $author, 'WP_User' ) ) { + $hash = md5( $author->user_email ); + } + + if ( ! $hash ) { + return; } ?>
diff --git a/plugins/jetpack/modules/infinite-scroll.php b/plugins/jetpack/modules/infinite-scroll.php index e11dfaa..0b78202 100644 --- a/plugins/jetpack/modules/infinite-scroll.php +++ b/plugins/jetpack/modules/infinite-scroll.php @@ -220,7 +220,7 @@ class Jetpack_Infinite_Scroll_Extras { // Fire the post_gallery action early so Carousel scripts are present. if ( Jetpack::is_module_active( 'carousel' ) ) { /** This filter is already documented in core/wp-includes/media.php */ - do_action( 'post_gallery', '', '' ); + do_action( 'post_gallery', '', '', 0 ); } // Always enqueue Tiled Gallery scripts when both IS and Tiled Galleries are enabled diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentyeleven.php b/plugins/jetpack/modules/infinite-scroll/themes/twentyeleven.php index d7f21e3..42a69b2 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentyeleven.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentyeleven.php @@ -8,35 +8,30 @@ /** * Add theme support for infinity scroll */ -function twenty_eleven_infinite_scroll_init() { +function jetpack_twentyeleven_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( - 'container' => 'content', - 'footer' => 'page', + 'container' => 'content', + 'footer' => 'page', + 'footer_widgets' => jetpack_twentyeleven_has_footer_widgets(), ) ); } -add_action( 'init', 'twenty_eleven_infinite_scroll_init' ); +add_action( 'init', 'jetpack_twentyeleven_infinite_scroll_init' ); /** * Enqueue CSS stylesheet with theme styles for infinity. */ -function twenty_eleven_infinite_scroll_enqueue_styles() { +function jetpack_twentyeleven_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { // Add theme specific styles. wp_enqueue_style( 'infinity-twentyeleven', plugins_url( 'twentyeleven.css', __FILE__ ), array( 'the-neverending-homepage' ), '20121002' ); } } -add_action( 'wp_enqueue_scripts', 'twenty_eleven_infinite_scroll_enqueue_styles', 25 ); +add_action( 'wp_enqueue_scripts', 'jetpack_twentyeleven_infinite_scroll_enqueue_styles', 25 ); /** - * Have we any footer widgets? - * - * @param bool $has_widgets - * @uses is_active_sidebar - * @uses jetpack_is_mobile - * @filter infinite_scroll_has_footer_widgets - * @return bool + * Do we have footer widgets? */ -function twenty_eleven_has_footer_widgets( $has_widgets ) { +function jetpack_twentyeleven_has_footer_widgets() { // Are any of the "Footer Area" sidebars active? if ( is_active_sidebar( 'sidebar-3' ) || is_active_sidebar( 'sidebar-4' ) || is_active_sidebar( 'sidebar-5' ) ) return true; @@ -45,6 +40,5 @@ function twenty_eleven_has_footer_widgets( $has_widgets ) { if ( function_exists( 'jetpack_is_mobile' ) && jetpack_is_mobile() && is_active_sidebar( 'sidebar-1' ) ) return true; - return $has_widgets; + return false; } -add_filter( 'infinite_scroll_has_footer_widgets', 'twenty_eleven_has_footer_widgets' ); diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentyfifteen.php b/plugins/jetpack/modules/infinite-scroll/themes/twentyfifteen.php index a94108f..d917dd5 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentyfifteen.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentyfifteen.php @@ -8,21 +8,21 @@ /** * Add theme support for infinite scroll */ -function twentyfifteen_infinite_scroll_init() { +function jetpack_twentyfifteen_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( 'container' => 'main', 'footer' => 'page', ) ); } -add_action( 'after_setup_theme', 'twentyfifteen_infinite_scroll_init' ); +add_action( 'after_setup_theme', 'jetpack_twentyfifteen_infinite_scroll_init' ); /** * Enqueue CSS stylesheet with theme styles for Infinite Scroll. */ -function twentyfifteen_infinite_scroll_enqueue_styles() { +function jetpack_twentyfifteen_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { wp_enqueue_style( 'infinity-twentyfifteen', plugins_url( 'twentyfifteen.css', __FILE__ ), array( 'the-neverending-homepage' ), '20141022' ); wp_style_add_data( 'infinity-twentyfifteen', 'rtl', 'replace' ); } } -add_action( 'wp_enqueue_scripts', 'twentyfifteen_infinite_scroll_enqueue_styles', 25 ); +add_action( 'wp_enqueue_scripts', 'jetpack_twentyfifteen_infinite_scroll_enqueue_styles', 25 ); diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentyfourteen.php b/plugins/jetpack/modules/infinite-scroll/themes/twentyfourteen.php index 22ae384..54a1fbc 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentyfourteen.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentyfourteen.php @@ -8,42 +8,41 @@ /** * Add theme support for infinite scroll */ -function twentyfourteen_infinite_scroll_init() { +function jetpack_twentyfourteen_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( - 'container' => 'content', - 'footer' => 'page' + 'container' => 'content', + 'footer' => 'page', + 'footer_widgets' => jetpack_twentyfourteen_has_footer_widgets(), ) ); } -add_action( 'after_setup_theme', 'twentyfourteen_infinite_scroll_init' ); +add_action( 'after_setup_theme', 'jetpack_twentyfourteen_infinite_scroll_init' ); /** * Switch to the "click to load" type IS with the following cases * 1. Viewed from iPad and the primary sidebar is active. - * 2. Viewed from mobile and either the primary or the content sudebar is active. + * 2. Viewed from mobile and either the primary or the content sidebar is active. * 3. The footer widget is active. * * @return bool */ - -if ( function_exists( 'jetpack_is_mobile' ) ) { - function twentyfourteen_has_footer_widgets( $has_widgets ) { +function jetpack_twentyfourteen_has_footer_widgets() { + if ( function_exists( 'jetpack_is_mobile' ) ) { if ( ( Jetpack_User_Agent_Info::is_ipad() && is_active_sidebar( 'sidebar-1' ) ) || ( jetpack_is_mobile( '', true ) && ( is_active_sidebar( 'sidebar-1' ) || is_active_sidebar( 'sidebar-2' ) ) ) || is_active_sidebar( 'sidebar-3' ) ) return true; - - return $has_widgets; } - add_filter( 'infinite_scroll_has_footer_widgets', 'twentyfourteen_has_footer_widgets' ); + + return false; } /** * Enqueue CSS stylesheet with theme styles for Infinite Scroll. */ -function twentyfourteen_infinite_scroll_enqueue_styles() { +function jetpack_twentyfourteen_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { wp_enqueue_style( 'infinity-twentyfourteen', plugins_url( 'twentyfourteen.css', __FILE__ ), array( 'the-neverending-homepage' ), '20131118' ); } } -add_action( 'wp_enqueue_scripts', 'twentyfourteen_infinite_scroll_enqueue_styles', 25 ); \ No newline at end of file +add_action( 'wp_enqueue_scripts', 'jetpack_twentyfourteen_infinite_scroll_enqueue_styles', 25 ); diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentyseventeen.php b/plugins/jetpack/modules/infinite-scroll/themes/twentyseventeen.php index 766b240..ca4c64c 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentyseventeen.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentyseventeen.php @@ -39,10 +39,11 @@ function jetpack_twentyseventeen_has_footer_widgets() { if ( is_active_sidebar( 'sidebar-2' ) || is_active_sidebar( 'sidebar-3' ) || has_nav_menu( 'social' ) ) { + return true; - } else { - return false; } + + return false; } /** diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentysixteen.php b/plugins/jetpack/modules/infinite-scroll/themes/twentysixteen.php index 723d3ce..df0c14e 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentysixteen.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentysixteen.php @@ -8,19 +8,19 @@ /** * Add theme support for infinite scroll */ -function twentysixteen_infinite_scroll_init() { +function jetpack_twentysixteen_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( 'container' => 'main', - 'render' => 'twentysixteen_infinite_scroll_render', + 'render' => 'jetpack_twentysixteen_infinite_scroll_render', 'footer' => 'content', ) ); } -add_action( 'after_setup_theme', 'twentysixteen_infinite_scroll_init' ); +add_action( 'after_setup_theme', 'jetpack_twentysixteen_infinite_scroll_init' ); /** * Custom render function for Infinite Scroll. */ -function twentysixteen_infinite_scroll_render() { +function jetpack_twentysixteen_infinite_scroll_render() { while ( have_posts() ) { the_post(); if ( is_search() ) { @@ -34,10 +34,10 @@ function twentysixteen_infinite_scroll_render() { /** * Enqueue CSS stylesheet with theme styles for Infinite Scroll. */ -function twentysixteen_infinite_scroll_enqueue_styles() { +function jetpack_twentysixteen_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { wp_enqueue_style( 'infinity-twentysixteen', plugins_url( 'twentysixteen.css', __FILE__ ), array( 'the-neverending-homepage' ), '20151102' ); wp_style_add_data( 'infinity-twentysixteen', 'rtl', 'replace' ); } } -add_action( 'wp_enqueue_scripts', 'twentysixteen_infinite_scroll_enqueue_styles', 25 ); +add_action( 'wp_enqueue_scripts', 'jetpack_twentysixteen_infinite_scroll_enqueue_styles', 25 ); diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentyten.php b/plugins/jetpack/modules/infinite-scroll/themes/twentyten.php index a087238..b612870 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentyten.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentyten.php @@ -8,14 +8,15 @@ /** * Add theme support for infinity scroll */ -function twenty_ten_infinite_scroll_init() { +function jetpack_twentyten_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( - 'container' => 'content', - 'render' => 'twenty_ten_infinite_scroll_render', - 'footer' => 'wrapper', + 'container' => 'content', + 'render' => 'jetpack_twentyten_infinite_scroll_render', + 'footer' => 'wrapper', + 'footer_widgets' => jetpack_twentyten_has_footer_widgets(), ) ); } -add_action( 'init', 'twenty_ten_infinite_scroll_init' ); +add_action( 'init', 'jetpack_twentyten_infinite_scroll_init' ); /** * Set the code to be rendered on for calling posts, @@ -23,28 +24,32 @@ add_action( 'init', 'twenty_ten_infinite_scroll_init' ); * * Note: must define a loop. */ -function twenty_ten_infinite_scroll_render() { +function jetpack_twentyten_infinite_scroll_render() { get_template_part( 'loop' ); } /** * Enqueue CSS stylesheet with theme styles for infinity. */ -function twenty_ten_infinite_scroll_enqueue_styles() { +function jetpack_twentyten_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { // Add theme specific styles. wp_enqueue_style( 'infinity-twentyten', plugins_url( 'twentyten.css', __FILE__ ), array( 'the-neverending-homepage' ), '20121002' ); } } -add_action( 'wp_enqueue_scripts', 'twenty_ten_infinite_scroll_enqueue_styles', 25 ); +add_action( 'wp_enqueue_scripts', 'jetpack_twentyten_infinite_scroll_enqueue_styles', 25 ); /** * Do we have footer widgets? */ -function twenty_ten_has_footer_widgets( $has_widgets ) { - if ( is_active_sidebar( 'first-footer-widget-area' ) || is_active_sidebar( 'second-footer-widget-area' ) || is_active_sidebar( 'third-footer-widget-area' ) || is_active_sidebar( 'fourth-footer-widget-area' ) ) - $has_widgets = true; +function jetpack_twentyten_has_footer_widgets() { + if ( is_active_sidebar( 'first-footer-widget-area' ) || + is_active_sidebar( 'second-footer-widget-area' ) || + is_active_sidebar( 'third-footer-widget-area' ) || + is_active_sidebar( 'fourth-footer-widget-area' ) ) { - return $has_widgets; + return true; + } + + return false; } -add_filter( 'infinite_scroll_has_footer_widgets', 'twenty_ten_has_footer_widgets' ); \ No newline at end of file diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentythirteen.php b/plugins/jetpack/modules/infinite-scroll/themes/twentythirteen.php index 85490b4..803b31b 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentythirteen.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentythirteen.php @@ -8,21 +8,21 @@ /** * Add theme support for infinite scroll */ -function twentythirteen_infinite_scroll_init() { +function jetpack_twentythirteen_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( - 'container' => 'content', - 'footer' => 'page', - 'footer_widgets' => array( 'sidebar-1' ) + 'container' => 'content', + 'footer' => 'page', + 'footer_widgets' => array( 'sidebar-1' ), ) ); } -add_action( 'after_setup_theme', 'twentythirteen_infinite_scroll_init' ); +add_action( 'after_setup_theme', 'jetpack_twentythirteen_infinite_scroll_init' ); /** * Enqueue CSS stylesheet with theme styles for Infinite Scroll. */ -function twentythirteen_infinite_scroll_enqueue_styles() { +function jetpack_twentythirteen_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { wp_enqueue_style( 'infinity-twentythirteen', plugins_url( 'twentythirteen.css', __FILE__ ), array( 'the-neverending-homepage' ), '20130409' ); } } -add_action( 'wp_enqueue_scripts', 'twentythirteen_infinite_scroll_enqueue_styles', 25 ); \ No newline at end of file +add_action( 'wp_enqueue_scripts', 'jetpack_twentythirteen_infinite_scroll_enqueue_styles', 25 ); diff --git a/plugins/jetpack/modules/infinite-scroll/themes/twentytwelve.php b/plugins/jetpack/modules/infinite-scroll/themes/twentytwelve.php index 02e802e..b8b17b3 100644 --- a/plugins/jetpack/modules/infinite-scroll/themes/twentytwelve.php +++ b/plugins/jetpack/modules/infinite-scroll/themes/twentytwelve.php @@ -8,41 +8,36 @@ /** * Add theme support for infinite scroll */ -function twenty_twelve_infinite_scroll_init() { +function jetpack_twentytwelve_infinite_scroll_init() { add_theme_support( 'infinite-scroll', array( 'container' => 'content', - 'footer' => 'page' + 'footer' => 'page', + 'footer_widgets' => jetpack_twentytwelve_has_footer_widgets(), ) ); } -add_action( 'after_setup_theme', 'twenty_twelve_infinite_scroll_init' ); +add_action( 'after_setup_theme', 'jetpack_twentytwelve_infinite_scroll_init' ); /** * Enqueue CSS stylesheet with theme styles for infinity. */ -function twenty_twelve_infinite_scroll_enqueue_styles() { +function jetpack_twentytwelve_infinite_scroll_enqueue_styles() { if ( wp_script_is( 'the-neverending-homepage' ) ) { // Add theme specific styles. wp_enqueue_style( 'infinity-twentytwelve', plugins_url( 'twentytwelve.css', __FILE__ ), array( 'the-neverending-homepage' ), '20120817' ); } } -add_action( 'wp_enqueue_scripts', 'twenty_twelve_infinite_scroll_enqueue_styles', 25 ); +add_action( 'wp_enqueue_scripts', 'jetpack_twentytwelve_infinite_scroll_enqueue_styles', 25 ); /** - * Handle `footer_widgets` argument for mobile devices - * - * @param bool $has_widgets - * @uses jetpack_is_mobile, is_front_page, is_active_sidebar - * @filter infinite_scroll_has_footer_widgets - * @return bool + * Do we have footer widgets? */ -function twenty_twelve_has_footer_widgets( $has_widgets ) { +function jetpack_twentytwelve_has_footer_widgets() { if ( function_exists( 'jetpack_is_mobile' ) && jetpack_is_mobile() ) { if ( is_front_page() && ( is_active_sidebar( 'sidebar-2' ) || is_active_sidebar( 'sidebar-3' ) ) ) - $has_widgets = true; + return true; elseif ( is_active_sidebar( 'sidebar-1' ) ) - $has_widgets = true; + return true; } - return $has_widgets; + return false; } -add_filter( 'infinite_scroll_has_footer_widgets', 'twenty_twelve_has_footer_widgets' ); \ No newline at end of file diff --git a/plugins/jetpack/modules/likes.php b/plugins/jetpack/modules/likes.php index daf60d0..1a91899 100644 --- a/plugins/jetpack/modules/likes.php +++ b/plugins/jetpack/modules/likes.php @@ -142,6 +142,19 @@ class Jetpack_Likes { } /** + * Stub for is_likes_visible, since some themes were calling it directly from this class + * + * @deprecated 5.4 + * @return bool + */ + function is_likes_visible() { + _deprecated_function( __METHOD__, 'jetpack-5.4', 'Jetpack_Likes_Settings()->is_likes_visible' ); + + $settings = new Jetpack_Likes_Settings(); + return $settings->is_likes_visible(); + } + + /** * Adds in the jetpack-targetable class so when we visit sharing#likes our like settings get highlighted by a yellow box * @param string $html row heading for the sharedaddy "which page" setting * @return string html with the jetpack-targetable class and likes id. tbody gets closed after the like settings diff --git a/plugins/jetpack/modules/masterbar/masterbar.php b/plugins/jetpack/modules/masterbar/masterbar.php index fde17fb..9cb2f58 100644 --- a/plugins/jetpack/modules/masterbar/masterbar.php +++ b/plugins/jetpack/modules/masterbar/masterbar.php @@ -31,6 +31,12 @@ class A8C_WPCOM_Masterbar { return; } + // Atomic only - override user setting that hides masterbar from site's front. + // https://github.com/Automattic/jetpack/issues/7667 + if ( jetpack_is_atomic_site() ) { + add_filter( 'show_admin_bar', '__return_true' ); + } + $this->user_data = Jetpack::get_connected_user_data( $this->user_id ); $this->user_login = $this->user_data['login']; $this->user_email = $this->user_data['email']; @@ -68,10 +74,6 @@ class A8C_WPCOM_Masterbar { add_action( 'wp_logout', array( $this, 'maybe_logout_user_from_wpcom' ) ); } - public function is_automated_transfer_site() { - return jetpack_is_automated_transfer_site(); - } - public function maybe_logout_user_from_wpcom() { if ( isset( $_GET['context'] ) && 'masterbar' === $_GET['context'] ) { do_action( 'wp_masterbar_logout' ); @@ -122,6 +124,8 @@ class A8C_WPCOM_Masterbar { } wp_enqueue_script( 'jetpack-accessible-focus', plugins_url( '_inc/accessible-focus.js', JETPACK__PLUGIN_FILE ), array(), JETPACK__VERSION ); + wp_enqueue_script( 'a8c_wpcom_masterbar_tracks_events', plugins_url( 'tracks-events.js', __FILE__ ), array( 'jquery' ), JETPACK__VERSION ); + wp_enqueue_script( 'a8c_wpcom_masterbar_overrides', $this->wpcom_static_url( '/wp-content/mu-plugins/admin-bar/masterbar-overrides/masterbar.js' ), array( 'jquery' ), JETPACK__VERSION ); } @@ -208,7 +212,7 @@ class A8C_WPCOM_Masterbar { '' . '
' . '', - 'class' => 'menupop', + 'class' => 'menupop mb-trackable', ), 'parent' => 'top-secondary', ) ); @@ -220,6 +224,9 @@ class A8C_WPCOM_Masterbar { 'id' => 'newdash', 'title' => esc_html__( 'Reader', 'jetpack' ), 'href' => '#', + 'meta' => array( + 'class' => 'mb-trackable', + ) ) ); $wp_admin_bar->add_menu( array( @@ -342,7 +349,7 @@ class A8C_WPCOM_Masterbar { } $avatar = get_avatar( $this->user_email, 32, 'mm', '', array( 'force_display' => true ) ); - $class = empty( $avatar ) ? '' : 'with-avatar'; + $class = empty( $avatar ) ? 'mb-trackable' : 'with-avatar mb-trackable'; // Add the 'Me' menu $wp_admin_bar->add_menu( array( @@ -475,7 +482,7 @@ class A8C_WPCOM_Masterbar { $help_link = 'https://jetpack.com/support/'; - if ( $this->is_automated_transfer_site() ) { + if ( jetpack_is_atomic_site() ) { $help_link = 'https://wordpress.com/help'; } @@ -511,6 +518,9 @@ class A8C_WPCOM_Masterbar { 'id' => 'ab-new-post', 'href' => $blog_post_page, 'title' => '' . esc_html__( 'Write', 'jetpack' ) . '', + 'meta' => array( + 'class' => 'mb-trackable', + ) ) ); } @@ -532,7 +542,7 @@ class A8C_WPCOM_Masterbar { 'title' => _n( 'My Site', 'My Sites', $this->user_site_count, 'jetpack' ), 'href' => '#', 'meta' => array( - 'class' => 'my-sites', + 'class' => 'my-sites mb-trackable', ), ) ); @@ -658,7 +668,7 @@ class A8C_WPCOM_Masterbar { ), array( 'url' => 'https://wordpress.com/page/' . esc_attr( $this->primary_site_slug ), - 'id' => 'wp-admin-bar-new-page', + 'id' => 'wp-admin-bar-new-page-badge', 'label' => esc_html_x( 'Add', 'admin bar menu new item label', 'jetpack' ), ) ); @@ -690,7 +700,7 @@ class A8C_WPCOM_Masterbar { ), array( 'url' => 'https://wordpress.com/post/' . esc_attr( $this->primary_site_slug ), - 'id' => 'wp-admin-bar-new-post', + 'id' => 'wp-admin-bar-new-post-badge', 'label' => esc_html_x( 'Add', 'admin bar menu new item label', 'jetpack' ), ) ); @@ -709,7 +719,7 @@ class A8C_WPCOM_Masterbar { 'id' => 'new-post', 'title' => $posts_title, 'meta' => array( - 'class' => 'inline-action', + 'class' => 'inline-action mb-trackable', ), ) ); @@ -718,7 +728,7 @@ class A8C_WPCOM_Masterbar { $wp_admin_bar->add_menu( array( 'parent' => 'publish', 'id' => 'comments', - 'title' => __( 'Comments' ), + 'title' => __( 'Comments', 'jetpack' ), 'href' => 'https://wordpress.com/comments/' . esc_attr( $this->primary_site_slug ), 'meta' => array( 'class' => 'mb-icon', @@ -904,9 +914,9 @@ class A8C_WPCOM_Masterbar { 'label' => esc_html__( 'Plugins', 'jetpack' ), ), array( - 'url' => 'https://wordpress.com/plugins/browse/' . esc_attr( $this->primary_site_slug ), + 'url' => 'https://wordpress.com/plugins/manage/' . esc_attr( $this->primary_site_slug ), 'id' => 'wp-admin-bar-plugins-add', - 'label' => esc_html_x( 'Add', 'Label for the button on the Masterbar to add a new plugin', 'jetpack' ), + 'label' => esc_html_x( 'Manage', 'Label for the button on the Masterbar to manage plugins', 'jetpack' ), ) ); @@ -920,7 +930,7 @@ class A8C_WPCOM_Masterbar { ), ) ); - if ( $this->is_automated_transfer_site() ) { + if ( jetpack_is_atomic_site() ) { $domain_title = $this->create_menu_item_pair( array( 'url' => 'https://wordpress.com/domains/' . esc_attr( $this->primary_site_slug ), @@ -974,6 +984,13 @@ class A8C_WPCOM_Masterbar { 'href' => '#', ) ); } + + /** + * Fires when menu items are added to the masterbar "My Sites" menu. + * + * @since 5.4 + */ + do_action( 'jetpack_masterbar' ); } } } diff --git a/plugins/jetpack/modules/masterbar/tracks-events.js b/plugins/jetpack/modules/masterbar/tracks-events.js new file mode 100644 index 0000000..7cf95e8 --- /dev/null +++ b/plugins/jetpack/modules/masterbar/tracks-events.js @@ -0,0 +1,154 @@ +/*globals JSON */ +( function( $ ) { + var eventName = 'masterbar_click'; + + var linksTracksEvents = { + //top level items + 'wp-admin-bar-blog' : 'my_sites', + 'wp-admin-bar-newdash' : 'reader', + 'wp-admin-bar-ab-new-post' : 'write_button', + 'wp-admin-bar-my-account' : 'my_account', + 'wp-admin-bar-notes' : 'notifications', + //my sites - top items + 'wp-admin-bar-switch-site' : 'my_sites_switch_site', + 'wp-admin-bar-blog-info' : 'my_sites_blog_info', + 'wp-admin-bar-site-view' : 'my_sites_view_site', + 'wp-admin-bar-blog-stats' : 'my_sites_blog_stats', + 'wp-admin-bar-plan' : 'my_sites_plan', + 'wp-admin-bar-plan-badge' : 'my_sites_plan_badge', + //my sites - manage + 'wp-admin-bar-edit-page' : 'my_sites_manage_site_pages', + 'wp-admin-bar-new-page-badge' : 'my_sites_manage_add_page', + 'wp-admin-bar-edit-post' : 'my_sites_manage_blog_posts', + 'wp-admin-bar-new-post-badge' : 'my_sites_manage_add_new_post', + 'wp-admin-bar-edit-attachment' : 'my_sites_manage_media', + 'wp-admin-bar-new-attachment-badge' : 'my_sites_manage_add_media', + 'wp-admin-bar-comments' : 'my_sites_manage_comments', + 'wp-admin-bar-edit-testimonial' : 'my_sites_manage_testimonials', + 'wp-admin-bar-new-testimonial' : 'my_sites_manage_add_testimonial', + 'wp-admin-bar-edit-portfolio' : 'my_sites_manage_portfolio', + 'wp-admin-bar-new-portfolio' : 'my_sites_manage_add_portfolio', + //my sites - personalize + 'wp-admin-bar-themes' : 'my_sites_personalize_themes', + 'wp-admin-bar-cmz' : 'my_sites_personalize_themes_customize', + //my sites - configure + 'wp-admin-bar-sharing' : 'my_sites_configure_sharing', + 'wp-admin-bar-people' : 'my_sites_configure_people', + 'wp-admin-bar-people-add' : 'my_sites_configure_people_add_button', + 'wp-admin-bar-plugins' : 'my_sites_configure_plugins', + 'wp-admin-bar-plugins-add' : 'my_sites_configure_manage_plugins', + 'wp-admin-bar-blog-settings' : 'my_sites_configure_settings', + //reader + 'wp-admin-bar-followed-sites' : 'reader_followed_sites', + 'wp-admin-bar-reader-followed-sites-manage': 'reader_manage_followed_sites', + 'wp-admin-bar-discover-discover' : 'reader_discover', + 'wp-admin-bar-discover-search' : 'reader_search', + 'wp-admin-bar-discover-recommended-blogs' : 'reader_recommendations', + 'wp-admin-bar-my-activity-my-likes' : 'reader_my_likes', + //account + 'wp-admin-bar-user-info' : 'my_account_user_name', + // account - profile + 'wp-admin-bar-my-profile' : 'my_account_profile_my_profile', + 'wp-admin-bar-account-settings' : 'my_account_profile_account_settings', + 'wp-admin-bar-billing' : 'my_account_profile_manage_purchases', + 'wp-admin-bar-security' : 'my_account_profile_security', + 'wp-admin-bar-notifications' : 'my_account_profile_notifications', + //account - special + 'wp-admin-bar-get-apps' : 'my_account_special_get_apps', + 'wp-admin-bar-next-steps' : 'my_account_special_next_steps', + 'wp-admin-bar-help' : 'my_account_special_help' + }; + + var notesTracksEvents = { + openSite: function( data ) { + return { + clicked: 'masterbar_notifications_panel_site', + site_id: data.siteId + }; + }, + openPost: function( data ) { + return { + clicked: 'masterbar_notifications_panel_post', + site_id: data.siteId, + post_id: data.postId + }; + }, + openComment: function( data ) { + return { + clicked: 'masterbar_notifications_panel_comment', + site_id: data.siteId, + post_id: data.postId, + comment_id: data.commentId + }; + } + }; + + function parseJson( s, defaultValue ) { + try { + return JSON.parse( s ); + } catch ( e ) { + return defaultValue; + } + } + + $( document ).ready( function() { + var trackableLinks = '.mb-trackable .ab-item:not(div),' + + '#wp-admin-bar-notes .ab-item,' + + '#wp-admin-bar-user-info .ab-item,' + + '.mb-trackable .ab-secondary'; + + $( trackableLinks ).on( 'click touchstart', function( e ) { + if ( ! window.jpTracksAJAX || 'function' !== typeof( window.jpTracksAJAX.record_ajax_event ) ) { + return; + } + + var $target = $( e.target ), + $parent = $target.closest( 'li' ); + + if ( ! $parent ) { + return; + } + + var trackingId = $target.attr( 'ID' ) || $parent.attr( 'ID' ); + + if ( ! linksTracksEvents.hasOwnProperty( trackingId ) ) { + return; + } + var eventProps = { 'clicked': linksTracksEvents[ trackingId ] }; + + if ( $parent.hasClass( 'menupop' ) ) { + window.jpTracksAJAX.record_ajax_event( eventName, 'click', eventProps ); + } else { + e.preventDefault(); + window.jpTracksAJAX.record_ajax_event( eventName, 'click', eventProps ).always( function() { + window.location = $target.attr( 'href' ); + } ); + } + } ); + } ); + + // listen for postMessage events from the notifications iframe + $( window ).on( 'message', function( e ) { + if ( ! window.jpTracksAJAX || 'function' !== typeof( window.jpTracksAJAX.record_ajax_event ) ) { + return; + } + + var event = ! e.data && e.originalEvent.data ? e.originalEvent : event; + if ( event.origin !== 'https://widgets.wp.com' ) { + return; + } + + var data = ( 'string' === typeof event.data ) ? parseJson( event.data, {} ) : event.data; + if ( 'notesIframeMessage' !== data.type ) { + return; + } + + var eventData = notesTracksEvents[ data.action ]; + if ( ! eventData ) { + return; + } + + window.jpTracksAJAX.record_ajax_event( eventName, 'click', eventData( data ) ); + } ); + +} )( jQuery ); diff --git a/plugins/jetpack/modules/module-extras.php b/plugins/jetpack/modules/module-extras.php index e7d8789..cbc3dc0 100644 --- a/plugins/jetpack/modules/module-extras.php +++ b/plugins/jetpack/modules/module-extras.php @@ -27,10 +27,20 @@ $tools = array( 'verification-tools/verification-tools-utils.php', ); +// Not every tool needs to be included if Jetpack is inactive and not in development mode +if ( ! Jetpack::is_active() && ! Jetpack::is_development_mode() ) { + $tools = array( + 'seo-tools/jetpack-seo-utils.php', + 'seo-tools/jetpack-seo-titles.php', + 'seo-tools/jetpack-seo-posts.php', + ); +} + /** * Filter extra tools (not modules) to include. * * @since 2.4.0 + * @since 5.4.0 can be used in multisite when Jetpack is not connected to WordPress.com and not in development mode. * * @param array $tools Array of extra tools to include. */ diff --git a/plugins/jetpack/modules/publicize.php b/plugins/jetpack/modules/publicize.php index 40b9b60..0b2b8c7 100644 --- a/plugins/jetpack/modules/publicize.php +++ b/plugins/jetpack/modules/publicize.php @@ -167,7 +167,12 @@ class Publicize_Util { $string = mb_convert_encoding( $string, 'HTML-ENTITIES', 'UTF-8' ); $dom = new DOMDocument( '1.0', 'UTF-8' ); - @$dom->loadHTML( "$string" ); // suppress parser warning + + // The @ is not enough to suppress errors when dealing with libxml, + // we have to tell it directly how we want to handle errors. + libxml_use_internal_errors( true ); + @$dom->loadHTML( "$string" ); + libxml_use_internal_errors( false ); // Strip comment nodes, if any $comment_nodes = self::get_comment_nodes( $dom->documentElement ); diff --git a/plugins/jetpack/modules/related-posts/jetpack-related-posts.php b/plugins/jetpack/modules/related-posts/jetpack-related-posts.php index 3f30be5..72576c0 100644 --- a/plugins/jetpack/modules/related-posts/jetpack-related-posts.php +++ b/plugins/jetpack/modules/related-posts/jetpack-related-posts.php @@ -584,7 +584,7 @@ EOT; * Gets an array of related posts that match the given post_id. * * @param int $post_id - * @param array $args - params to use when building ElasticSearch filters to narrow down the search domain. + * @param array $args - params to use when building Elasticsearch filters to narrow down the search domain. * @uses self::get_options, get_post_type, wp_parse_args, apply_filters * @return array */ @@ -620,26 +620,26 @@ EOT; $filters = $this->_get_es_filters_from_args( $post_id, $args ); /** - * Filter ElasticSearch options used to calculate Related Posts. + * Filter Elasticsearch options used to calculate Related Posts. * * @module related-posts * * @since 2.8.0 * - * @param array $filters Array of ElasticSearch filters based on the post_id and args. + * @param array $filters Array of Elasticsearch filters based on the post_id and args. * @param string $post_id Post ID of the post for which we are retrieving Related Posts. */ $filters = apply_filters( 'jetpack_relatedposts_filter_filters', $filters, $post_id ); $results = $this->_get_related_posts( $post_id, $args['size'], $filters ); /** - * Filter the array of related posts matched by ElasticSearch. + * Filter the array of related posts matched by Elasticsearch. * * @module related-posts * * @since 2.8.0 * - * @param array $results Array of related posts matched by ElasticSearch. + * @param array $results Array of related posts matched by Elasticsearch. * @param string $post_id Post ID of the post for which we are retrieving Related Posts. */ return apply_filters( 'jetpack_relatedposts_returned_results', $results, $post_id ); @@ -652,7 +652,7 @@ EOT; */ /** - * Creates an array of ElasticSearch filters based on the post_id and args. + * Creates an array of Elasticsearch filters based on the post_id and args. * * @param int $post_id * @param array $args @@ -1165,7 +1165,7 @@ EOT; */ /** - * Workhorse method to return array of related posts matched by ElasticSearch. + * Workhorse method to return array of related posts matched by Elasticsearch. * * @param int $post_id * @param int $size @@ -1183,13 +1183,13 @@ EOT; ); /** - * Filter the Related Posts matched by ElasticSearch. + * Filter the Related Posts matched by Elasticsearch. * * @module related-posts * * @since 2.9.0 * - * @param array $hits Array of Post IDs matched by ElasticSearch. + * @param array $hits Array of Post IDs matched by Elasticsearch. * @param string $post_id Post ID of the post for which we are retrieving Related Posts. */ $hits = apply_filters( 'jetpack_relatedposts_filter_hits', $hits, $post_id ); @@ -1202,7 +1202,7 @@ EOT; } /** - * Get array of related posts matched by ElasticSearch. + * Get array of related posts matched by Elasticsearch. * * @param int $post_id * @param int $size @@ -1571,7 +1571,7 @@ class Jetpack_RelatedPosts_Raw extends Jetpack_RelatedPosts { } /** - * Workhorse method to return array of related posts ids matched by ElasticSearch. + * Workhorse method to return array of related posts ids matched by Elasticsearch. * * @param int $post_id * @param int $size diff --git a/plugins/jetpack/modules/related-posts/related-posts-rtl.css b/plugins/jetpack/modules/related-posts/related-posts-rtl.css new file mode 100644 index 0000000..34d5d36 --- /dev/null +++ b/plugins/jetpack/modules/related-posts/related-posts-rtl.css @@ -0,0 +1 @@ +#jp-relatedposts{display:none;padding-top:1em;margin:1em 0;position:relative;clear:both}.jp-relatedposts:after{content:'';display:block;clear:both}#jp-relatedposts h3.jp-relatedposts-headline{margin:0 0 1em 0;display:inline-block;float:right;font-size:9pt;font-weight:700;font-family:inherit}#jp-relatedposts h3.jp-relatedposts-headline em:before{content:"";display:block;width:100%;min-width:30px;border-top:1px solid #ddd;border-top:1px solid rgba(0,0,0,.2);margin-bottom:1em}#jp-relatedposts h3.jp-relatedposts-headline em{font-style:normal;font-weight:700}#jp-relatedposts .jp-relatedposts-items{clear:right}#jp-relatedposts .jp-relatedposts-items-visual{margin-left:-20px}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post{float:right;width:33%;margin:0 0 1em;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post{padding-left:20px;filter:alpha(opacity=80);-moz-opacity:.8;opacity:.8}#jp -relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n+4),#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post:nth-child(3n+4){clear:both}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a{text-decoration:underline}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover{filter:alpha(opacity=100);-moz-opacity:1;opacity:1}#jp-relatedposts .jp-relatedposts-items p,#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{font-size:14px;line-height:20px;margin:0}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs{position:relative}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs a.jp-relatedposts-post-aoverlay{position:absolute;top:0;bottom:0;right:0;left:0;display:block;border-bottom:0}#jp-relatedposts .jp-relatedposts-items p{margin-bottom:0}#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title{text -transform:none;margin:0;font-family:inherit;display:block;max-width:100%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a{font-size:inherit;font-weight:400;text-decoration:none;filter:alpha(opacity=100);-moz-opacity:1;opacity:1}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover{text-decoration:underline}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post span{display:block;max-width:90%;overflow:hidden;text-overflow:ellipsis}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post span{max-width:100%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context,#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{opacity: .6}.jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date{display:none}#jp-relatedposts .jp-relatedposts-items-visual div.jp-relatedposts-post-thumbs p.jp-relatedposts-post-excerpt{display:none}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs p.jp-relatedposts-post-excerpt{overflow:hidden}#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post-nothumbs span{margin-bottom:1em}#jp-relatedposts .jp-relatedposts-list .jp-relatedposts-post{clear:both;width:100%}#jp-relatedposts .jp-relatedposts-list .jp-relatedposts-post img.jp-relatedposts-post-img{float:right;overflow:hidden;max-width:33%;margin-left:3%}#jp-relatedposts .jp-relatedposts-list h4.jp-relatedposts-post-title{display:inline-block;max-width:63%}@media only screen and (max-width:640px){#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post{width:50%}#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:nth-child(3n){clear:right}#jp-relatedposts .jp-rela tedposts-items-visual{margin-left:20px}}@media only screen and (max-width:320px){#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post{width:100%;clear:both;margin:0 0 1em}#jp-relatedposts .jp-relatedposts-list .jp-relatedposts-post img.jp-relatedposts-post-img,#jp-relatedposts .jp-relatedposts-list h4.jp-relatedposts-post-title{float:none;max-width:100%;margin-left:0}} \ No newline at end of file diff --git a/plugins/jetpack/modules/search/class.jetpack-search.php b/plugins/jetpack/modules/search/class.jetpack-search.php index a216c5e..5b0e806 100644 --- a/plugins/jetpack/modules/search/class.jetpack-search.php +++ b/plugins/jetpack/modules/search/class.jetpack-search.php @@ -64,7 +64,7 @@ class Jetpack_Search { * @module search */ public function setup() { - if ( ! Jetpack::is_active() ) { + if ( ! Jetpack::is_active() || ! Jetpack::active_plan_supports( 'search' ) ) { return; } diff --git a/plugins/jetpack/modules/seo-tools.php b/plugins/jetpack/modules/seo-tools.php index ae48885..18b3ea8 100644 --- a/plugins/jetpack/modules/seo-tools.php +++ b/plugins/jetpack/modules/seo-tools.php @@ -26,7 +26,11 @@ $jetpack_seo_conflicting_plugins = array( foreach( $jetpack_seo_conflicting_plugins as $seo_plugin ) { if ( Jetpack::is_plugin_active( $seo_plugin ) ) { + // Disable all custom meta tags that SEO tools manages. add_filter( 'jetpack_disable_seo_tools', '__return_true' ); + + // Also disable default meta tags. + add_filter( 'jetpack_seo_meta_tags_enabled', '__return_false' ); break; } } diff --git a/plugins/jetpack/modules/sharedaddy/sharedaddy.php b/plugins/jetpack/modules/sharedaddy/sharedaddy.php index f5b5139..2bc170e 100644 --- a/plugins/jetpack/modules/sharedaddy/sharedaddy.php +++ b/plugins/jetpack/modules/sharedaddy/sharedaddy.php @@ -217,15 +217,6 @@ function sharing_add_plugin_settings($links, $file) { return $links; } -function sharing_restrict_to_single( $services ) { - // This removes Press This from non-multisite blogs - doesn't make much sense - if ( is_multisite() === false ) { - unset( $services['press-this'] ); - } - - return $services; -} - function sharing_init() { if ( Jetpack_Options::get_option_and_ensure_autoload( 'sharedaddy_disable_resources', '0' ) ) { add_filter( 'sharing_js', 'sharing_disable_js' ); @@ -277,7 +268,6 @@ add_action( 'sharing_email_send_post', 'sharing_email_send_post' ); add_filter( 'sharing_email_can_send', 'sharing_email_check_for_spam_via_akismet' ); add_action( 'sharing_global_options', 'sharing_global_resources', 30 ); add_action( 'sharing_admin_update', 'sharing_global_resources_save' ); -add_filter( 'sharing_services', 'sharing_restrict_to_single' ); add_action( 'plugin_action_links_'.basename( dirname( __FILE__ ) ).'/'.basename( __FILE__ ), 'sharing_plugin_settings', 10, 4 ); add_filter( 'plugin_row_meta', 'sharing_add_plugin_settings', 10, 2 ); diff --git a/plugins/jetpack/modules/sharedaddy/sharing-service.php b/plugins/jetpack/modules/sharedaddy/sharing-service.php index 8f53838..21e4283 100644 --- a/plugins/jetpack/modules/sharedaddy/sharing-service.php +++ b/plugins/jetpack/modules/sharedaddy/sharing-service.php @@ -40,6 +40,7 @@ class Sharing_Service { * Gets a list of all available service names and classes */ public function get_all_services( $include_custom = true ) { + global $wp_version; // Default services // if you update this list, please update the REST API tests // in bin/tests/api/suites/SharingTest.php @@ -49,7 +50,6 @@ class Sharing_Service { 'linkedin' => 'Share_LinkedIn', 'reddit' => 'Share_Reddit', 'twitter' => 'Share_Twitter', - 'press-this' => 'Share_PressThis', 'google-plus-1' => 'Share_GooglePlus1', 'tumblr' => 'Share_Tumblr', 'pinterest' => 'Share_Pinterest', @@ -73,6 +73,10 @@ class Sharing_Service { $services['email'] = 'Share_Email'; } + if ( is_multisite() && ( version_compare( $wp_version, '4.9-RC1-42107', '<' ) || is_plugin_active( 'press-this/press-this-plugin.php' ) ) ) { + $services['press-this'] = 'Share_PressThis'; + } + if ( $include_custom ) { // Add any custom services in $options = $this->get_global_options(); diff --git a/plugins/jetpack/modules/sharedaddy/sharing-sources.php b/plugins/jetpack/modules/sharedaddy/sharing-sources.php index 98c49a3..41a58be 100644 --- a/plugins/jetpack/modules/sharedaddy/sharing-sources.php +++ b/plugins/jetpack/modules/sharedaddy/sharing-sources.php @@ -151,7 +151,7 @@ abstract class Sharing_Source { if ( ! empty( $query ) ) { if ( false === stripos( $url, '?' ) ) { $url .= '?' . $query; - } else { + } else { $url .= '&' . $query; } } @@ -376,7 +376,7 @@ class Share_Email extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -472,14 +472,14 @@ class Share_Email extends Sharing_Source { } die(); - } else { + } else { $error = 2; // Email check failed } } if ( $ajax ) { echo $error; - } else { + } else { wp_safe_redirect( get_permalink( $post->ID ) . '?shared=email&msg=fail' ); } @@ -564,7 +564,7 @@ class Share_Twitter extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -759,7 +759,7 @@ class Share_Reddit extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -771,7 +771,7 @@ class Share_Reddit extends Sharing_Source { public function get_display( $post ) { if ( $this->smart ) { return '
'; - } else { + } else { return $this->get_link( $this->get_process_request_url( $post->ID ), _x( 'Reddit', 'share to', 'jetpack' ), __( 'Click to share on Reddit', 'jetpack' ), 'share=reddit' ); } } @@ -796,7 +796,7 @@ class Share_LinkedIn extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -878,7 +878,7 @@ class Share_Facebook extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -1007,7 +1007,7 @@ class Share_Print extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -1029,7 +1029,7 @@ class Share_PressThis extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -1039,7 +1039,7 @@ class Share_PressThis extends Sharing_Source { } public function process_request( $post, array $post_data ) { - global $current_user; + global $current_user, $wp_version; $primary_blog = (int) get_user_meta( $current_user->ID, 'primary_blog', true ); if ( $primary_blog ) { @@ -1066,17 +1066,29 @@ class Share_PressThis extends Sharing_Source { $blog = current( $blogs ); - $url = $blog->siteurl . '/wp-admin/press-this.php?u=' . rawurlencode( $this->get_share_url( $post->ID ) ) . '&t=' . rawurlencode( $this->get_share_title( $post->ID ) ); + $args = array( + 'u' => rawurlencode( $this->get_share_url( $post->ID ) ), + ); + + if ( version_compare( $wp_version, '4.9-RC1-42107', '>=' ) ) { + $args[ 'url-scan-submit' ] = 'Scan'; + $args[ '_wpnonce' ] = wp_create_nonce( 'scan-site' ); - if ( isset( $_GET['sel'] ) ) { - $url .= '&s=' . rawurlencode( $_GET['sel'] ); + } else { // Remove once 4.9 is the minimum. + $args['t'] = rawurlencode( $this->get_share_title( $post->ID ) ); + if ( isset( $_GET['sel'] ) ) { + $args['s'] = rawurlencode( $_GET['sel'] ); + } } + $url = $blog->siteurl . '/wp-admin/press-this.php'; + $url = add_query_arg( $args, $url ); + // Record stats parent::process_request( $post, $post_data ); // Redirect to Press This - wp_safe_redirect( $url ); + wp_redirect( $url ); die(); } @@ -1095,7 +1107,7 @@ class Share_GooglePlus1 extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -1163,7 +1175,7 @@ class Share_GooglePlus1 extends Sharing_Source { (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; - po.src = 'https://apis.google.com/js/plusone.js'; + po.src = 'https://apis.google.com/js/plusone.min.js'; po.innerHTML = '{"parsetags": "explicit"}'; po.onload = renderGooglePlus1; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); @@ -1393,7 +1405,7 @@ class Share_Tumblr extends Sharing_Source { parent::__construct( $id, $settings ); if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -1442,7 +1454,7 @@ class Share_Pinterest extends Sharing_Source { parent::__construct( $id, $settings ); if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } @@ -1553,7 +1565,7 @@ class Share_Pinterest extends Sharing_Source { var s = document.createElement("script"); s.type = "text/javascript"; s.async = true; - s.src = window.location.protocol + "//assets.pinterest.com/js/pinit.js"; @@ -1595,7 +1607,7 @@ class Share_Pocket extends Sharing_Source { if ( 'official' == $this->button_style ) { $this->smart = true; - } else { + } else { $this->smart = false; } } diff --git a/plugins/jetpack/modules/sharedaddy/sharing.css b/plugins/jetpack/modules/sharedaddy/sharing.css index 898b75b..68ce779 100644 --- a/plugins/jetpack/modules/sharedaddy/sharing.css +++ b/plugins/jetpack/modules/sharedaddy/sharing.css @@ -448,7 +448,7 @@ body .sd-content ul li.share-custom a.share-icon span margin-left: 0; padding: 0 0 0 19px; display: inline-block; - height: 16px; + height: 21px; line-height: 16px; } diff --git a/plugins/jetpack/modules/shortcodes.php b/plugins/jetpack/modules/shortcodes.php index e37633c..ec41457 100644 --- a/plugins/jetpack/modules/shortcodes.php +++ b/plugins/jetpack/modules/shortcodes.php @@ -68,7 +68,7 @@ function jetpack_load_shortcodes() { $shortcode_includes = apply_filters( 'jetpack_shortcodes_to_include', $shortcode_includes ); foreach ( $shortcode_includes as $include ) { - include $include; + include_once $include; } } diff --git a/plugins/jetpack/modules/shortcodes/class.filter-embedded-html-objects.php b/plugins/jetpack/modules/shortcodes/class.filter-embedded-html-objects.php index 8555da3..17dc578 100644 --- a/plugins/jetpack/modules/shortcodes/class.filter-embedded-html-objects.php +++ b/plugins/jetpack/modules/shortcodes/class.filter-embedded-html-objects.php @@ -243,7 +243,7 @@ class Filter_Embedded_HTML_Objects { static function get_attrs( $html ) { if ( ! ( function_exists( 'libxml_use_internal_errors' ) && function_exists( 'simplexml_load_string' ) ) ) { - trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension." ) ); + trigger_error( __( "PHP's XML extension is not available. Please contact your hosting provider to enable PHP's XML extension.", 'jetpack' ) ); return array(); } // We have to go through DOM, since it can load non-well-formed XML (i.e. HTML). SimpleXML cannot. diff --git a/plugins/jetpack/modules/shortcodes/css/recipes-print-rtl.css b/plugins/jetpack/modules/shortcodes/css/recipes-print-rtl.css index 52a59b1..bbea4bf 100644 --- a/plugins/jetpack/modules/shortcodes/css/recipes-print-rtl.css +++ b/plugins/jetpack/modules/shortcodes/css/recipes-print-rtl.css @@ -1,37 +1 @@ -/* Do not modify this file directly. It is concatenated from individual module CSS files. */ -.jetpack-recipe-meta li.jetpack-recipe-print { - display: none; -} - -.jetpack-recipe-title { - font-size: 16pt; -} - -.jetpack-recipe-content img { - display: inline-block !important; - max-width: 100%; -} - -.jetpack-recipe-image { - display: none !important; -} - -.jetpack-recipe-content .aligncenter { - display: block !important; - margin: 0 auto 1em !important; - text-align: center !important; -} - -.jetpack-recipe-content .alignright { - float: left !important; - margin: 0 1em .5em 0 !important; -} - -.jetpack-recipe-content .alignleft { - float: right !important; - margin: 0 0 .5em 1em !important; -} - -.jetpack-recipe-content .alignnone { - display: inline-block; -} +.jetpack-recipe-meta li.jetpack-recipe-print{display:none}.jetpack-recipe-title{font-size:16pt}.jetpack-recipe-content img{display:inline-block!important;max-width:100%}.jetpack-recipe-image{display:none!important}.jetpack-recipe-content .aligncenter{display:block!important;margin:0 auto 1em!important;text-align:center!important}.jetpack-recipe-content .alignright{float:left!important;margin:0 1em .5em 0!important}.jetpack-recipe-content .alignleft{float:right!important;margin:0 0 .5em 1em!important}.jetpack-recipe-content .alignnone{display:inline-block} \ No newline at end of file diff --git a/plugins/jetpack/modules/shortcodes/css/recipes-rtl.css b/plugins/jetpack/modules/shortcodes/css/recipes-rtl.css index 8251edf..a0492b5 100644 --- a/plugins/jetpack/modules/shortcodes/css/recipes-rtl.css +++ b/plugins/jetpack/modules/shortcodes/css/recipes-rtl.css @@ -1,37 +1 @@ -/* Do not modify this file directly. It is concatenated from individual module CSS files. */ -.jetpack-recipe { - border: 1px solid #f2f2f2; - border-radius: 1px; - clear: both; - margin: 1.5em 1%; - padding: 1% 2%; -} -.jetpack-recipe-title { - border-bottom: 1px solid #ccc; - margin: .25em 0; - padding: .25em 0; -} -.jetpack-recipe .jetpack-recipe-meta { - display: block; - font-size: .9em; - list-style-type: none; - margin-left: 0; - margin-right: 0; - padding: 0; - overflow: hidden; - width: 100%; -} -.jetpack-recipe .jetpack-recipe-meta li { - float: right; - list-style-type: none; - margin: 0; - padding: 0 0 0 5%; -} -.jetpack-recipe-meta li.jetpack-recipe-print { - float: left; - padding-left: 0; - text-align: left; -} -.jetpack-recipe-notes { - font-style: italic; -} +.jetpack-recipe{border:1px solid #f2f2f2;border-radius:1px;clear:both;margin:1.5em 1%;padding:1% 2%}.jetpack-recipe-title{border-bottom:1px solid #ccc;margin:.25em 0;padding:.25em 0}.jetpack-recipe .jetpack-recipe-meta{display:block;font-size:.9em;list-style-type:none;margin-left:0;margin-right:0;padding:0;overflow:hidden;width:100%}.jetpack-recipe .jetpack-recipe-meta li{float:right;list-style-type:none;margin:0;padding:0 0 0 5%}.jetpack-recipe-meta li.jetpack-recipe-print{float:left;padding-left:0;text-align:left}.jetpack-recipe-notes{font-style:italic} \ No newline at end of file diff --git a/plugins/jetpack/modules/shortcodes/css/rtl/recipes-rtl.css b/plugins/jetpack/modules/shortcodes/css/rtl/recipes-rtl.css deleted file mode 100644 index 57d9759..0000000 --- a/plugins/jetpack/modules/shortcodes/css/rtl/recipes-rtl.css +++ /dev/null @@ -1,38 +0,0 @@ -/* This file was automatically generated on Apr 19 2016 09:36:47 */ - -.jetpack-recipe { - border: 1px solid #f2f2f2; - border-radius: 1px; - clear: both; - margin: 1.5em 1%; - padding: 1% 2%; -} -.jetpack-recipe-title { - border-bottom: 1px solid #ccc; - margin: .25em 0; - padding: .25em 0; -} -.jetpack-recipe .jetpack-recipe-meta { - display: block; - font-size: .9em; - list-style-type: none; - margin-left: 0; - margin-right: 0; - padding: 0; - overflow: hidden; - width: 100%; -} -.jetpack-recipe .jetpack-recipe-meta li { - float: right; - list-style-type: none; - margin: 0; - padding: 0 0 0 5%; -} -.jetpack-recipe-meta li.jetpack-recipe-print { - float: left; - padding-left: 0; - text-align: left; -} -.jetpack-recipe-notes { - font-style: italic; -} diff --git a/plugins/jetpack/modules/shortcodes/facebook.php b/plugins/jetpack/modules/shortcodes/facebook.php index 778fc54..ab7a04f 100644 --- a/plugins/jetpack/modules/shortcodes/facebook.php +++ b/plugins/jetpack/modules/shortcodes/facebook.php @@ -32,7 +32,14 @@ function jetpack_facebook_embed_handler( $matches, $attr, $url ) { if ( false !== strpos( $url, 'video.php' ) || false !== strpos( $url, '/videos/' ) ) { $embed = sprintf( '
', esc_url( $url ) ); } else { - $embed = sprintf( '', esc_url( $url ) ); + $width = 552; // As of 01/2017, the default width of Facebook embeds when no width attribute provided + + global $content_width; + if ( isset( $content_width ) ) { + $width = min( $width, $content_width ); + } + + $embed = sprintf( '', esc_url( $url ), esc_attr( $width ) ); } // since Facebook is a faux embed, we need to load the JS SDK in the wpview embed iframe diff --git a/plugins/jetpack/modules/shortcodes/googleplus.php b/plugins/jetpack/modules/shortcodes/googleplus.php index 134246e..daa34d1 100644 --- a/plugins/jetpack/modules/shortcodes/googleplus.php +++ b/plugins/jetpack/modules/shortcodes/googleplus.php @@ -11,7 +11,7 @@ define( 'JETPACK_GOOGLEPLUS_EMBED_REGEX', '#^https?://plus\.(sandbox\.)?google\. wp_embed_register_handler( 'googleplus', JETPACK_GOOGLEPLUS_EMBED_REGEX, 'jetpack_googleplus_embed_handler' ); function jetpack_googleplus_embed_handler( $matches, $attr, $url ) { - wp_enqueue_script( 'jetpack-gplus-api', 'https://apis.google.com/js/plusone.js', array(), null, true ); + wp_enqueue_script( 'jetpack-gplus-api', 'https://apis.google.com/js/plusone.min.js', array(), null, true ); return sprintf( '
', esc_url( $url ) ); } diff --git a/plugins/jetpack/modules/shortcodes/mailchimp.php b/plugins/jetpack/modules/shortcodes/mailchimp.php index 6f73330..8bba997 100644 --- a/plugins/jetpack/modules/shortcodes/mailchimp.php +++ b/plugins/jetpack/modules/shortcodes/mailchimp.php @@ -6,7 +6,7 @@ * [mailchimp_subscriber_popup baseUrl="mc.us11.list-manage.com" uuid="1ca7856462585a934b8674c71" lid="2d24f1898b"] * * Embed code example: - * + * * */ @@ -46,9 +46,9 @@ class MailChimp_Subscriber_Popup { */ static $reversal_regexes = array( /* raw examplejs */ - '/' . "\n\n"; + return "\n\n" . '' . "\n\n"; } } diff --git a/plugins/jetpack/modules/shortcodes/untappd-menu.php b/plugins/jetpack/modules/shortcodes/untappd-menu.php index 39a0e3c..834c2c7 100644 --- a/plugins/jetpack/modules/shortcodes/untappd-menu.php +++ b/plugins/jetpack/modules/shortcodes/untappd-menu.php @@ -41,7 +41,7 @@ class Jetpack_Untappd { // We're going to clean the user input. $atts = array_map( 'absint', $atts ); - if ( $atts['location'] < 1 || $atts['theme'] < 1 ){ + if ( $atts['location'] < 1 || $atts['theme'] < 1 ) { return; } @@ -62,4 +62,4 @@ class Jetpack_Untappd { } } -new Jetpack_Untappd(); \ No newline at end of file +new Jetpack_Untappd(); diff --git a/plugins/jetpack/modules/shortlinks.php b/plugins/jetpack/modules/shortlinks.php index c0ce3f4..54e30b9 100644 --- a/plugins/jetpack/modules/shortlinks.php +++ b/plugins/jetpack/modules/shortlinks.php @@ -53,8 +53,7 @@ function wpme_get_shortlink( $id = 0, $context = 'post', $allow_slugs = true ) { if ( empty( $id ) ) $id = $blog_id; - $wpme_url = 'http://wp.me/' . wpme_dec2sixtwo( $id ); - return set_url_scheme( $wpme_url ); + return 'https://wp.me/' . wpme_dec2sixtwo( $id ); } $post = get_post( $id ); @@ -82,8 +81,7 @@ function wpme_get_shortlink( $id = 0, $context = 'post', $allow_slugs = true ) { if ( empty( $type ) ) return ''; - $url = 'http://wp.me/' . $type . wpme_dec2sixtwo( $blog_id ) . '-' . $id; - return set_url_scheme( $url ); + return 'https://wp.me/' . $type . wpme_dec2sixtwo( $blog_id ) . '-' . $id; } function wpme_get_shortlink_handler( $shortlink, $id, $context, $allow_slugs ) { diff --git a/plugins/jetpack/modules/simple-payments/paypal-express-checkout.js b/plugins/jetpack/modules/simple-payments/paypal-express-checkout.js index 55e38e3..5b07089 100644 --- a/plugins/jetpack/modules/simple-payments/paypal-express-checkout.js +++ b/plugins/jetpack/modules/simple-payments/paypal-express-checkout.js @@ -140,6 +140,7 @@ var PaypalExpressCheckout = { style: { label: 'pay', + fundingicons: true, shape: 'rect', color: 'silver' }, diff --git a/plugins/jetpack/modules/simple-payments/simple-payments.css b/plugins/jetpack/modules/simple-payments/simple-payments.css index 7ecffe7..dd479fc 100644 --- a/plugins/jetpack/modules/simple-payments/simple-payments.css +++ b/plugins/jetpack/modules/simple-payments/simple-payments.css @@ -19,10 +19,9 @@ body .jetpack-simple-payments-wrapper .jetpack-simple-payments-details p { } .jetpack-simple-payments-image { - border: 1px solid rgba(0, 0, 0, 0.1); box-sizing: border-box; min-width: 70px; - padding-top: calc(100% - 2px); + padding-top: 100%; position: relative; } @@ -69,32 +68,53 @@ input[type="number"].jetpack-simple-payments-items-number { } .jetpack-simple-payments-purchase-message { + background-color: rgba(255, 255, 255, 0.7); + border: 2px solid #fff; + border-radius: 2px; + box-shadow: 0 0 0 1px rgba(200, 215, 225, 0.5), 0 1px 2px #e9eff3; display: none; - padding: 0.5em 1em; margin-bottom: 1.5em; + min-height: 48px; + padding: 1em; + position: relative; } -/* Higher specificity in order to set the text color */ -body .jetpack-simple-payments-wrapper .jetpack-simple-payments-purchase-message p { - color: #fff; - margin: 0 0 0.5em; - padding: 0; -} - -body .jetpack-simple-payments-wrapper .jetpack-simple-payments-purchase-message p:last-child { - margin: 0; +.jetpack-simple-payments-purchase-message:before { + font-family: dashicons !important; + font-size: 48px !important; + line-height: 1 !important; + position: absolute; + speak: none; + top: 50%; + left: 0; + transform: translateY(-50%); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } .jetpack-simple-payments-purchase-message.show { display: block; } -.jetpack-simple-payments-purchase-message.success { - background-color: #4ab866; +.jetpack-simple-payments-purchase-message.success:before { + color: #4ab866; + content: "\f147"; +} + +.jetpack-simple-payments-purchase-message.error:before { + color: #d94f4f; + content: "\f335"; } -.jetpack-simple-payments-purchase-message.error { - background-color: #d94f4f; +/* Higher specificity in order to reset */ +body .jetpack-simple-payments-wrapper .jetpack-simple-payments-purchase-message p { + color: #222; + margin: 0 0 0.5em; + padding: 0 0 0 40px; +} + +body .jetpack-simple-payments-wrapper .jetpack-simple-payments-purchase-message p:last-child { + margin: 0; } @media screen and (min-width: 400px) { diff --git a/plugins/jetpack/modules/simple-payments/simple-payments.php b/plugins/jetpack/modules/simple-payments/simple-payments.php index 167c600..d8e91ce 100644 --- a/plugins/jetpack/modules/simple-payments/simple-payments.php +++ b/plugins/jetpack/modules/simple-payments/simple-payments.php @@ -14,7 +14,7 @@ class Jetpack_Simple_Payments { static $css_classname_prefix = 'jetpack-simple-payments'; // Increase this number each time there's a change in CSS or JS to bust cache. - static $version = '0.23'; + static $version = '0.25'; // Classic singleton pattern: private static $instance; @@ -77,7 +77,7 @@ class Jetpack_Simple_Payments { if ( ! $product || is_wp_error( $product ) ) { return; } - if ( $product->post_type !== self::$post_type_product ) { + if ( $product->post_type !== self::$post_type_product || 'trash' === $product->post_status ) { return; } @@ -104,7 +104,7 @@ class Jetpack_Simple_Payments { wp_enqueue_script( 'paypal-express-checkout' ); } if ( ! wp_style_is( 'simple-payments', 'enqueued' ) ) { - wp_enqueue_style( 'simple-payments', plugins_url( 'simple-payments.css', __FILE__ ) ); + wp_enqueue_style( 'simple-payments', plugins_url( 'simple-payments.css', __FILE__ ), array( 'dashicons' ) ); } wp_add_inline_script( 'paypal-express-checkout', sprintf( @@ -133,13 +133,13 @@ class Jetpack_Simple_Payments { } return "
-
{$image}

{$data['title']}

{$data['description']}

{$data['price']}

+
{$items}
diff --git a/plugins/jetpack/modules/sitemaps.php b/plugins/jetpack/modules/sitemaps.php index f17f740..9ce5bd0 100644 --- a/plugins/jetpack/modules/sitemaps.php +++ b/plugins/jetpack/modules/sitemaps.php @@ -42,5 +42,5 @@ function jetpack_sitemap_on_activate() { $sitemap_builder = new Jetpack_Sitemap_Builder(); add_action( 'jetpack_sitemap_generate_on_activate', array( $sitemap_builder, 'update_sitemap' ) ); - wp_schedule_single_event( time(), 'jetpack_sitemap_generate_on_activate' ); + wp_schedule_single_event( time() + 60, 'jetpack_sitemap_generate_on_activate' ); } diff --git a/plugins/jetpack/modules/sitemaps/sitemap-constants.php b/plugins/jetpack/modules/sitemaps/sitemap-constants.php index 6a86ce9..e91a334 100644 --- a/plugins/jetpack/modules/sitemaps/sitemap-constants.php +++ b/plugins/jetpack/modules/sitemaps/sitemap-constants.php @@ -46,7 +46,7 @@ if ( ! defined( 'JP_NEWS_SITEMAP_MAX_ITEMS' ) ) { * @since 4.8.0 */ if ( ! defined( 'JP_SITEMAP_BATCH_SIZE' ) ) { - define( 'JP_SITEMAP_BATCH_SIZE', 1000 ); + define( 'JP_SITEMAP_BATCH_SIZE', 50 ); } /** diff --git a/plugins/jetpack/modules/stats.php b/plugins/jetpack/modules/stats.php index cb56ef7..4210f7c 100644 --- a/plugins/jetpack/modules/stats.php +++ b/plugins/jetpack/modules/stats.php @@ -800,7 +800,7 @@ function stats_configuration_screen() { ?> -
makes the world a better place but should still work when hidden', 'jetpack' ); ?> <?php esc_attr_e( 'Smiley face', 'jetpack' ); ?> +
makes the world a better place but should still work when hidden', 'jetpack' ), array( 'strong' => array() ) ); ?> <?php esc_attr_e( 'Smiley face', 'jetpack' ); ?>
@@ -1593,7 +1593,7 @@ function stats_str_getcsv( $csv ) { fwrite( $temp, $csv, strlen( $csv ) ); fseek( $temp, 0 ); - while ( false !== $row = fgetcsv( $temp, 2000 ) ) { + while ( false !== $row = fgetcsv( $temp, 2000 ) ) { $data[] = $row; } fclose( $temp ); diff --git a/plugins/jetpack/modules/subscriptions.php b/plugins/jetpack/modules/subscriptions.php index d0155a5..f52b9a8 100644 --- a/plugins/jetpack/modules/subscriptions.php +++ b/plugins/jetpack/modules/subscriptions.php @@ -666,7 +666,7 @@ class Jetpack_Subscriptions { if ( isset( $_REQUEST['subscribe_blog'] ) ) $post_ids[] = 0; - Jetpack_Subscriptions::subscribe( + $result = Jetpack_Subscriptions::subscribe( $comment->comment_author_email, $post_ids, true, @@ -677,6 +677,18 @@ class Jetpack_Subscriptions { 'server_data' => $_SERVER, ) ); + + /** + * Fires on each comment subscription form submission. + * + * @module subscriptions + * + * @since 5.5.0 + * + * @param NULL|WP_Error $result Result of form submission: NULL on success, WP_Error otherwise. + * @param Array $post_ids An array of post IDs that the user subscribed to, 0 means blog subscription. + */ + do_action( 'jetpack_subscriptions_comment_form_submission', $result, $post_ids ); } /** diff --git a/plugins/jetpack/modules/theme-tools/content-options/blog-display.php b/plugins/jetpack/modules/theme-tools/content-options/blog-display.php index 78b8841..d37b625 100644 --- a/plugins/jetpack/modules/theme-tools/content-options/blog-display.php +++ b/plugins/jetpack/modules/theme-tools/content-options/blog-display.php @@ -47,7 +47,7 @@ function jetpack_blog_display_custom_excerpt( $content ) { * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'. * Do not translate into your own language. */ - if ( strpos( _x( 'words', 'Word count type. Do not translate!' ), 'characters' ) === 0 && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) { + if ( strpos( _x( 'words', 'Word count type. Do not translate!', 'jetpack' ), 'characters' ) === 0 && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) { $text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' ); preg_match_all( '/./u', $text, $words ); $words = array_slice( $words[0], 0, $excerpt_length + 1 ); @@ -91,9 +91,16 @@ function jetpack_the_excerpt_to_the_content( $content ) { if ( is_home() || is_archive() ) { ob_start(); the_content( sprintf( - /* translators: %s: Name of current post. */ - wp_kses( __( 'Continue reading %s ', 'jetpack' ), array( 'span' => array( 'class' => array() ) ) ), - the_title( '"', '"', false ) + wp_kses( + /* translators: %s: Name of current post. Only visible to screen readers */ + __( 'Continue reading "%s"', 'jetpack' ), + array( + 'span' => array( + 'class' => array(), + ), + ) + ), + get_the_title() ) ); $content = ob_get_clean(); } @@ -126,9 +133,16 @@ function jetpack_the_excerpt_customizer( $excerpt ) { if ( is_home() || is_archive() ) { ob_start(); the_content( sprintf( - /* translators: %s: Name of current post. */ - wp_kses( __( 'Continue reading %s ', 'jetpack' ), array( 'span' => array( 'class' => array() ) ) ), - the_title( '"', '"', false ) + wp_kses( + /* translators: %s: Name of current post. Only visible to screen readers */ + __( 'Continue reading "%s"', 'jetpack' ), + array( + 'span' => array( + 'class' => array(), + ), + ) + ), + get_the_title() ) ); $content = ob_get_clean(); } diff --git a/plugins/jetpack/modules/theme-tools/content-options/featured-images.php b/plugins/jetpack/modules/theme-tools/content-options/featured-images.php index 048ce76..ce66a83 100644 --- a/plugins/jetpack/modules/theme-tools/content-options/featured-images.php +++ b/plugins/jetpack/modules/theme-tools/content-options/featured-images.php @@ -5,11 +5,45 @@ function jetpack_featured_images_remove_post_thumbnail( $metadata, $object_id, $meta_key, $single ) { $opts = jetpack_featured_images_get_settings(); - // Returns false if the archive option or singular option is unticked. - if ( ( true === $opts['archive'] && ( is_home() || is_archive() || is_search() ) && ! $opts['archive-option'] && ( isset( $meta_key ) && '_thumbnail_id' === $meta_key ) && in_the_loop() ) - || ( true === $opts['post'] && is_single() && ! jetpack_is_product() && ! $opts['post-option'] && ( isset( $meta_key ) && '_thumbnail_id' === $meta_key ) && in_the_loop() ) - || ( true === $opts['page'] && is_singular() && is_page() && ! $opts['page-option'] && ( isset( $meta_key ) && '_thumbnail_id' === $meta_key ) && in_the_loop() ) - || ( true === $opts['portfolio'] && post_type_exists( 'jetpack-portfolio' ) && is_singular( 'jetpack-portfolio' ) && ! $opts['portfolio-option'] && ( isset( $meta_key ) && '_thumbnail_id' === $meta_key ) && in_the_loop() ) ) { + // Automatically return metadata if it's a PayPal product - we don't want to hide the Featured Image. + if ( 'jp_pay_product' === get_post_type( $object_id ) ) { + return $metadata; + } + + // Return false if the archive option or singular option is unticked. + if ( + ( true === $opts['archive'] + && ( is_home() || is_archive() || is_search() ) + && ! $opts['archive-option'] + && ( isset( $meta_key ) + && '_thumbnail_id' === $meta_key ) + && in_the_loop() + ) + || ( true === $opts['post'] + && is_single() + && ! jetpack_is_product() + && ! $opts['post-option'] + && ( isset( $meta_key ) + && '_thumbnail_id' === $meta_key ) + && in_the_loop() + ) + || ( true === $opts['page'] + && is_singular() + && is_page() + && ! $opts['page-option'] + && ( isset( $meta_key ) + && '_thumbnail_id' === $meta_key ) + && in_the_loop() + ) + || ( true === $opts['portfolio'] + && post_type_exists( 'jetpack-portfolio' ) + && is_singular( 'jetpack-portfolio' ) + && ! $opts['portfolio-option'] + && ( isset( $meta_key ) + && '_thumbnail_id' === $meta_key ) + && in_the_loop() + ) + ) { return false; } else { return $metadata; diff --git a/plugins/jetpack/modules/theme-tools/content-options/post-details.php b/plugins/jetpack/modules/theme-tools/content-options/post-details.php index 3116bc3..a448381 100644 --- a/plugins/jetpack/modules/theme-tools/content-options/post-details.php +++ b/plugins/jetpack/modules/theme-tools/content-options/post-details.php @@ -121,12 +121,14 @@ function jetpack_post_details_should_run() { $comment = ( ! empty( $post_details['comment'] ) ) ? $post_details['comment'] : null; // If there is no stylesheet and there are no date, categories, tags, author or comment declared, don't continue. - if ( empty( $post_details['stylesheet'] ) - && ( empty( $date ) - || empty( $categories ) - || empty( $tags ) - || empty( $author ) - || empty( $comment ) ) ) { + if ( + empty( $post_details['stylesheet'] ) + && ( empty( $date ) + || empty( $categories ) + || empty( $tags ) + || empty( $author ) + || empty( $comment ) ) + ) { return $void; } diff --git a/plugins/jetpack/modules/tiled-gallery/tiled-gallery.php b/plugins/jetpack/modules/tiled-gallery/tiled-gallery.php index b3421aa..9955b0f 100644 --- a/plugins/jetpack/modules/tiled-gallery/tiled-gallery.php +++ b/plugins/jetpack/modules/tiled-gallery/tiled-gallery.php @@ -16,6 +16,8 @@ class Jetpack_Tiled_Gallery { add_action( 'admin_init', array( $this, 'settings_api_init' ) ); add_filter( 'jetpack_gallery_types', array( $this, 'jetpack_gallery_types' ), 9 ); add_filter( 'jetpack_default_gallery_type', array( $this, 'jetpack_default_gallery_type' ) ); + + } public function tiles_enabled() { diff --git a/plugins/jetpack/modules/tiled-gallery/tiled-gallery/tiled-gallery-rtl.css b/plugins/jetpack/modules/tiled-gallery/tiled-gallery/tiled-gallery-rtl.css new file mode 100644 index 0000000..34e5033 --- /dev/null +++ b/plugins/jetpack/modules/tiled-gallery/tiled-gallery/tiled-gallery-rtl.css @@ -0,0 +1 @@ +.tiled-gallery{clear:both;margin:0 0 20px;overflow:hidden}.tiled-gallery img{margin:2px!important}.tiled-gallery .gallery-group{float:right;position:relative}.tiled-gallery .tiled-gallery-item{float:right;margin:0;position:relative;width:inherit}.tiled-gallery .gallery-row{overflow:hidden}.tiled-gallery .tiled-gallery-item a{background:100% 0;border:none;color:inherit;margin:0;padding:0;text-decoration:none;width:auto}.tiled-gallery .tiled-gallery-item img,.tiled-gallery .tiled-gallery-item img:hover{background:100% 0;border:none;box-shadow:none;max-width:100%;padding:0;vertical-align:middle}.tiled-gallery-caption{background:#eee;background:rgba(255,255,255,.8);color:#333;font-size:13px;font-weight:400;overflow:hidden;padding:10px 0;position:absolute;bottom:0;text-indent:10px;text-overflow:ellipsis;width:100%;white-space:nowrap}.tiled-gallery .tiled-gallery-item-small .tiled-gallery-caption{font-size:11px}.widget-gallery .tiled-gallery-unresized{visibility:hidden;height:0;overflow:h idden}.tiled-gallery .tiled-gallery-item img.grayscale{position:absolute;right:0;top:0}.tiled-gallery .tiled-gallery-item img.grayscale:hover{opacity:0}.tiled-gallery.type-circle .tiled-gallery-item img{border-radius:50%!important}.tiled-gallery.type-circle .tiled-gallery-caption{display:none;opacity:0} \ No newline at end of file diff --git a/plugins/jetpack/modules/verification-tools/verification-tools-utils.php b/plugins/jetpack/modules/verification-tools/verification-tools-utils.php index 94d5401..8c9a2c4 100644 --- a/plugins/jetpack/modules/verification-tools/verification-tools-utils.php +++ b/plugins/jetpack/modules/verification-tools/verification-tools-utils.php @@ -5,8 +5,8 @@ * This file will be included in module-extras.php. */ -function jetpack_verification_validate( $verification_services_codes ) { - foreach ( $verification_services_codes as $key => &$code ) { +function jetpack_verification_validate( &$verification_services_codes ) { + foreach ( $verification_services_codes as $key => $code ) { // Parse html meta tags if present if ( stripos( $code, 'meta' ) ) $code = jetpack_verification_get_code( $code ); @@ -27,6 +27,8 @@ function jetpack_verification_validate( $verification_services_codes ) { * @param string $code Verification service code provided in field in the Tools menu. */ do_action( 'jetpack_site_verification_validate', $key, $code ); + + $verification_services_codes[ $key ] = $code; } return $verification_services_codes; } diff --git a/plugins/jetpack/modules/videopress/class.videopress-player.php b/plugins/jetpack/modules/videopress/class.videopress-player.php index 0973018..11abc45 100644 --- a/plugins/jetpack/modules/videopress/class.videopress-player.php +++ b/plugins/jetpack/modules/videopress/class.videopress-player.php @@ -621,7 +621,6 @@ class VideoPress_Player { } $js_url = 'https://s0.wp.com/wp-content/plugins/video/assets/js/next/videopress-iframe.js'; - $js_url = add_query_arg( 'jetpack_version', JETPACK__VERSION, $js_url ); return "