summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jetpack/jetpack_vendor/automattic/jetpack-compat')
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/CHANGELOG.md119
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/LICENSE.txt357
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/SECURITY.md38
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/functions.php32
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-client.php89
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-actions.php362
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-modules.php28
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-settings.php229
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpacktracking.php47
-rw-r--r--plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/lib/tracks/client.php41
10 files changed, 1342 insertions, 0 deletions
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/CHANGELOG.md b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/CHANGELOG.md
new file mode 100644
index 00000000..76993fe5
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/CHANGELOG.md
@@ -0,0 +1,119 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [1.6.8] - 2021-12-14
+### Changed
+- Updated package dependencies.
+
+## [1.6.7] - 2021-10-19
+### Changed
+- Updated package dependencies.
+
+## [1.6.6] - 2021-09-28
+### Fixed
+- Register WP hooks even if WP isn't loaded yet.
+
+## [1.6.5] - 2021-05-25
+### Changed
+- Updated package dependencies.
+
+## [1.6.4] - 2021-04-27
+### Changed
+- Updated package dependencies.
+
+## [1.6.3] - 2021-03-30
+### Added
+- Composer alias for dev-master, to improve dependencies
+
+### Changed
+- Update package dependencies.
+
+## [1.6.2] - 2021-02-05
+
+- CI: Make tests more generic
+
+## [1.6.1] - 2021-01-19
+
+- Add mirror-repo information to all current composer packages
+- Monorepo: Reorganize all projects
+
+## [1.6.0] - 2020-12-07
+
+- Pin dependencies
+- Packages: Update for PHP 8 testing
+
+## [1.5.1] - 2020-10-28
+
+- Updated PHPCS: Packages and Debugger
+
+## [1.5.0] - 2020-10-01
+
+- API: Remove the constant `JETPACK_CLIENT__HTTPS`.
+
+## [1.4.0] - 2020-08-19
+
+- Compat Package: Fix method declaration compatibility
+
+## [1.3.0] - 2020-06-10
+
+- Various: Update use of whitelist/blacklist
+
+## [1.2.0] - 2020-04-28
+
+- Correct inline documentation "Array" type
+- Compat: use require_once instead of jetpack_require_lib()
+
+## [1.1.0] - 2020-03-10
+
+- Sync Package: Add readme skeleton (#14945)
+
+## [1.0.5] - 2019-11-08
+
+- Packages: Use classmap instead of PSR-4
+
+## [1.0.4] - 2019-11-08
+
+- Move fix_url_for_bad_hosts from Jetpack class to Connection pa…
+
+## [1.0.3] - 2019-10-29
+
+- PHPCS: Rest of the packages
+- Update Prettier and reformat files
+
+## [1.0.2] - 2019-09-20
+
+- Docs: Unify usage of @package phpdoc tags
+- Janitorial: Remove the leading backslash from namespaces
+
+## [1.0.1] - 2019-09-14
+
+- Sync: Add return for deprecated Jetpack_Sync_Settings functions with expected return value
+
+## 1.0.0 - 2019-09-14
+
+- Jetpack 7.5: Back compatibility package
+
+[1.6.8]: https://github.com/Automattic/jetpack-compat/compare/v1.6.7...v1.6.8
+[1.6.7]: https://github.com/Automattic/jetpack-compat/compare/v1.6.6...v1.6.7
+[1.6.6]: https://github.com/Automattic/jetpack-compat/compare/v1.6.5...v1.6.6
+[1.6.5]: https://github.com/Automattic/jetpack-compat/compare/v1.6.4...v1.6.5
+[1.6.4]: https://github.com/Automattic/jetpack-compat/compare/v1.6.3...v1.6.4
+[1.6.3]: https://github.com/Automattic/jetpack-compat/compare/v1.6.2...v1.6.3
+[1.6.2]: https://github.com/Automattic/jetpack-compat/compare/v1.6.1...v1.6.2
+[1.6.1]: https://github.com/Automattic/jetpack-compat/compare/v1.6.0...v1.6.1
+[1.6.0]: https://github.com/Automattic/jetpack-compat/compare/v1.5.1...v1.6.0
+[1.5.1]: https://github.com/Automattic/jetpack-compat/compare/v1.5.0...v1.5.1
+[1.5.0]: https://github.com/Automattic/jetpack-compat/compare/v1.4.0...v1.5.0
+[1.4.0]: https://github.com/Automattic/jetpack-compat/compare/v1.3.0...v1.4.0
+[1.3.0]: https://github.com/Automattic/jetpack-compat/compare/v1.2.0...v1.3.0
+[1.2.0]: https://github.com/Automattic/jetpack-compat/compare/v1.1.0...v1.2.0
+[1.1.0]: https://github.com/Automattic/jetpack-compat/compare/v1.0.5...v1.1.0
+[1.0.5]: https://github.com/Automattic/jetpack-compat/compare/v1.0.4...v1.0.5
+[1.0.4]: https://github.com/Automattic/jetpack-compat/compare/v1.0.3...v1.0.4
+[1.0.3]: https://github.com/Automattic/jetpack-compat/compare/v1.0.2...v1.0.3
+[1.0.2]: https://github.com/Automattic/jetpack-compat/compare/v1.0.1...v1.0.2
+[1.0.1]: https://github.com/Automattic/jetpack-compat/compare/v1.0.0...v1.0.1
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/LICENSE.txt b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/LICENSE.txt
new file mode 100644
index 00000000..e82774c1
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/LICENSE.txt
@@ -0,0 +1,357 @@
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+===================================
+
+
+GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+ Preamble
+
+The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+GNU GENERAL PUBLIC LICENSE
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+a) You must cause the modified files to carry prominent notices
+stating that you changed the files and the date of any change.
+
+b) You must cause any work that you distribute or publish, that in
+whole or in part contains or is derived from the Program or any
+part thereof, to be licensed as a whole at no charge to all third
+parties under the terms of this License.
+
+c) If the modified program normally reads commands interactively
+when run, you must cause it, when started running for such
+interactive use in the most ordinary way, to print or display an
+announcement including an appropriate copyright notice and a
+notice that there is no warranty (or else, saying that you provide
+a warranty) and that users may redistribute the program under
+these conditions, and telling the user how to view a copy of this
+License. (Exception: if the Program itself is interactive but
+does not normally print such an announcement, your work based on
+the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+a) Accompany it with the complete corresponding machine-readable
+source code, which must be distributed under the terms of Sections
+1 and 2 above on a medium customarily used for software interchange; or,
+
+b) Accompany it with a written offer, valid for at least three
+years, to give any third party, for a charge no more than your
+cost of physically performing source distribution, a complete
+machine-readable copy of the corresponding source code, to be
+distributed under the terms of Sections 1 and 2 above on a medium
+customarily used for software interchange; or,
+
+c) Accompany it with the information you received as to the offer
+to distribute corresponding source code. (This alternative is
+allowed only for noncommercial distribution and only if you
+received the program in object code or executable form with such
+an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+<one line to give the program's name and a brief idea of what it does.>
+Copyright (C) <year> <name of author>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+Gnomovision version 69, Copyright (C) year name of author
+Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+`Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+<signature of Ty Coon>, 1 April 1989
+Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/SECURITY.md b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/SECURITY.md
new file mode 100644
index 00000000..b4b46c0e
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/SECURITY.md
@@ -0,0 +1,38 @@
+# Security Policy
+
+Full details of the Automattic Security Policy can be found on [automattic.com](https://automattic.com/security/).
+
+## Supported Versions
+
+Generally, only the latest version of Jetpack has continued support. If a critical vulnerability is found in the current version of Jetpack, we may opt to backport any patches to previous versions.
+
+## Reporting a Vulnerability
+
+[Jetpack](https://jetpack.com/) is an open-source plugin for WordPress. Our HackerOne program covers the plugin software, as well as a variety of related projects and infrastructure.
+
+**For responsible disclosure of security issues and to be eligible for our bug bounty program, please submit your report via the [HackerOne](https://hackerone.com/automattic) portal.**
+
+Our most critical targets are:
+
+* Jetpack and the Jetpack composer packages (all within this repo)
+* Jetpack.com -- the primary marketing site.
+* cloud.jetpack.com -- a management site.
+* wordpress.com -- the shared management site for both Jetpack and WordPress.com sites.
+
+For more targets, see the `In Scope` section on [HackerOne](https://hackerone.com/automattic).
+
+_Please note that the **WordPress software is a separate entity** from Automattic. Please report vulnerabilities for WordPress through [the WordPress Foundation's HackerOne page](https://hackerone.com/wordpress)._
+
+## Guidelines
+
+We're committed to working with security researchers to resolve the vulnerabilities they discover. You can help us by following these guidelines:
+
+* Follow [HackerOne's disclosure guidelines](https://www.hackerone.com/disclosure-guidelines).
+* Pen-testing Production:
+ * Please **setup a local environment** instead whenever possible. Most of our code is open source (see above).
+ * If that's not possible, **limit any data access/modification** to the bare minimum necessary to reproduce a PoC.
+ * **_Don't_ automate form submissions!** That's very annoying for us, because it adds extra work for the volunteers who manage those systems, and reduces the signal/noise ratio in our communication channels.
+ * To be eligible for a bounty, all of these guidelines must be followed.
+* Be Patient - Give us a reasonable time to correct the issue before you disclose the vulnerability.
+
+We also expect you to comply with all applicable laws. You're responsible to pay any taxes associated with your bounties.
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/functions.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/functions.php
new file mode 100644
index 00000000..42f73915
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/functions.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Legacy global scope functions.
+ *
+ * @package automattic/jetpack-compat
+ */
+
+// If WordPress's plugin API is available already, use it. If not,
+// drop data into `$wp_filter` for `WP_Hook::build_preinitialized_hooks()`.
+if ( function_exists( 'add_filter' ) ) {
+ $add_filter = 'add_filter';
+ $add_action = 'add_action';
+} else {
+ $add_filter = function ( $name, $cb, $priority = 10, $accepted_args = 1 ) {
+ global $wp_filter;
+ // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
+ $wp_filter[ $name ][ $priority ][] = array(
+ 'accepted_args' => $accepted_args,
+ 'function' => $cb,
+ );
+ };
+ $add_action = $add_filter;
+}
+
+/**
+ * Load necessary functions.
+ */
+function jetpack_compat_require_defined_functions() {
+ require_once __DIR__ . '/lib/tracks/client.php';
+}
+
+$add_action( 'plugins_loaded', 'jetpack_compat_require_defined_functions' );
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-client.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-client.php
new file mode 100644
index 00000000..6e0a8941
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-client.php
@@ -0,0 +1,89 @@
+<?php
+/**
+ * Jetpack Client
+ *
+ * Deprecated methods for Jetpack to act as client with wpcom, provided for back-compatibility.
+ *
+ * @category Connection
+ * @package automattic/jetpack-compat
+ */
+
+use Automattic\Jetpack\Connection\Client;
+
+/**
+ * Class Jetpack_Client
+ *
+ * @deprecated Use Automattic\Jetpack\Connection\Client
+ */
+class Jetpack_Client {
+
+ /**
+ * Jetpack API version.
+ *
+ * @deprecated use Automattic\Jetpack\Connection\Client::WPCOM_JSON_API_VERSION
+ */
+ const WPCOM_JSON_API_VERSION = '1.1';
+
+ /**
+ * Perform remote request.
+ *
+ * @deprecated use Automattic\Jetpack\Connection\Client::remote_request
+ *
+ * @param array $args Arguments.
+ * @param null $body Request body.
+ *
+ * @return array|WP_Error
+ */
+ public static function remote_request( $args, $body = null ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Connection\Client' );
+ return Client::remote_request( $args, $body );
+ }
+
+ /**
+ * Request to wpcom using the blog id.
+ *
+ * @deprecated use Automattic\Jetpack\Connection\Client::wpcom_json_api_request_as_blog
+ *
+ * @param string $path Endpoint path.
+ * @param string $version Endpoint version.
+ * @param array $args Arguments.
+ * @param null $body Request body.
+ * @param string $base_api_path Endpoint base prefix.
+ *
+ * @return array|WP_Error
+ */
+ public static function wpcom_json_api_request_as_blog(
+ $path,
+ $version = self::WPCOM_JSON_API_VERSION,
+ $args = array(),
+ $body = null,
+ $base_api_path = 'rest'
+ ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Connection\Client' );
+ return Client::wpcom_json_api_request_as_blog( $path, $version, $args, $body, $base_api_path );
+ }
+
+ /**
+ * Wrapper for wp_remote_request(). Turns off SSL verification for certain SSL errors.
+ * This is suboptimal, but many, many, many hosts have misconfigured SSL.
+ *
+ * @deprecated use Automattic\Jetpack\Connection\Client::_wp_remote_request
+ *
+ * When Jetpack is registered, the jetpack_fallback_no_verify_ssl_certs option is set to the current time if:
+ * 1. a certificate error is found AND
+ * 2. not verifying the certificate works around the problem.
+ *
+ * The option is checked on each request.
+ *
+ * @internal
+ *
+ * @param String $url the request URL.
+ * @param array $args request arguments.
+ * @param Boolean $set_fallback whether to allow flagging this request to use a fallback certficate override.
+ * @return array|WP_Error WP HTTP response on success
+ */
+ public static function _wp_remote_request( $url, $args, $set_fallback = false ) { // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Connection\Client' );
+ return Client::_wp_remote_request( $url, $args, $set_fallback );
+ }
+}
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-actions.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-actions.php
new file mode 100644
index 00000000..096b4cd5
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-actions.php
@@ -0,0 +1,362 @@
+<?php
+/**
+ * A compatibility shim for the sync actions class.
+ *
+ * @package automattic/jetpack-compat
+ */
+
+use Automattic\Jetpack\Sync\Actions;
+
+/**
+ * Class Jetpack_Sync_Actions
+ *
+ * @deprecated Use Automattic\Jetpack\Sync\Actions
+ */
+class Jetpack_Sync_Actions extends Automattic\Jetpack\Sync\Actions {
+
+ /**
+ * Initializes the class.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::init
+ */
+ public static function init() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::init();
+ }
+
+ /**
+ * Adds a shutdown sender callback.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::add_sender_shutdown
+ */
+ public static function add_sender_shutdown() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::add_sender_shutdown();
+ }
+
+ /**
+ * Returns false or true based on whether this class should initialize the sender
+ * in current circumstances.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::should_initialize_sender
+ *
+ * @return Boolean should the object initialize sender?
+ */
+ public static function should_initialize_sender() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::should_initialize_sender();
+ }
+
+ /**
+ * Returns false or true based on whether sync is allowed.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::sync_allowed
+ *
+ * @return Boolean is sync allowed?
+ */
+ public static function sync_allowed() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::sync_allowed();
+ }
+
+ /**
+ * Returns false or true based on whether sync via cron is allowed.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::sync_via_cron_allowed
+ *
+ * @return Boolean is sync via cron allowed?
+ */
+ public static function sync_via_cron_allowed() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::sync_via_cron_allowed();
+ }
+
+ /**
+ * Filters a boolean value that determines whether blocklisted posts should be prevented
+ * from being publicized.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::prevent_publicize_blacklisted_posts
+ *
+ * @param Boolean $should_publicize initial setting value.
+ * @param WP_Post $post the post object.
+ * @return Boolean whether to prevent publicizing.
+ */
+ public static function prevent_publicize_blacklisted_posts( $should_publicize, $post ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::prevent_publicize_blacklisted_posts( $should_publicize, $post );
+ }
+
+ /**
+ * Set the importing flag to true.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::set_is_importing_true
+ */
+ public static function set_is_importing_true() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::set_is_importing_true();
+ }
+
+ /**
+ * Send the sync data.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::send_data
+ *
+ * @param Mixed $data the sync data.
+ * @param String $codec_name the codec slug.
+ * @param Integer $sent_timestamp the current server timestamp.
+ * @param Integer $queue_id the queue identifier.
+ * @param Integer $checkout_duration time spent retrieving items.
+ * @param Integer $preprocess_duration Time spent converting items into data.
+ * @param Integer $queue_size The current size of the sync queue.
+ * @param string $buffer_id The ID of the Queue buffer checked out for processing.
+ *
+ * @return WP_Response the response object.
+ */
+ public static function send_data( $data, $codec_name, $sent_timestamp, $queue_id, $checkout_duration, $preprocess_duration, $queue_size = null, $buffer_id = null ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::send_data( $data, $codec_name, $sent_timestamp, $queue_id, $checkout_duration, $preprocess_duration, $queue_size, $buffer_id );
+ }
+
+ /**
+ * Commence initial sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::do_initial_sync
+ */
+ public static function do_initial_sync() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::do_initial_sync();
+ }
+
+ /**
+ * Commence full sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::do_full_sync
+ *
+ * @param array $modules the modules list.
+ * @return Boolean whether the sync was initialized.
+ */
+ public static function do_full_sync( $modules = null ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::do_full_sync( $modules );
+ }
+
+ /**
+ * Schedule cron sessions.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::jetpack_cron_schedule
+ *
+ * @param array $schedules the schedules to add.
+ */
+ public static function jetpack_cron_schedule( $schedules ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::jetpack_cron_schedule( $schedules );
+ }
+
+ /**
+ * Commence cron sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::do_cron_sync
+ */
+ public static function do_cron_sync() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::do_cron_sync();
+ }
+
+ /**
+ * Commence cron full sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::do_cron_full_sync
+ */
+ public static function do_cron_full_sync() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::do_cron_full_sync();
+ }
+
+ /**
+ * Commence cron sync of a specific type of object.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::do_cron_sync_by_type
+ *
+ * @param array $type the type of object to sync.
+ */
+ public static function do_cron_sync_by_type( $type ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::do_cron_sync_by_type();
+ }
+
+ /**
+ * Initalize the listener of the object.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::initialize_listener
+ */
+ public static function initialize_listener() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::initialize_listener();
+ }
+
+ /**
+ * Initalize the sender of the object.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::initialize_sender
+ */
+ public static function initialize_sender() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::initialize_sender();
+ }
+
+ /**
+ * Initalize the woocommerce listeners.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::initialize_woocommerce
+ */
+ public static function initialize_woocommerce() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::initialize_woocommerce();
+ }
+
+ /**
+ * Add the woocommerce sync module.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::add_woocommerce_sync_module
+ *
+ * @param array $sync_modules an array of modules.
+ */
+ public static function add_woocommerce_sync_module( $sync_modules ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::add_woocommerce_sync_module( $sync_modules );
+ }
+
+ /**
+ * Initalize the WP Super Cache listener.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::initialize_wp_super_cache
+ */
+ public static function initialize_wp_super_cache() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::initialize_wp_super_cache();
+ }
+
+ /**
+ * Add the WP Super Cache sync module.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::add_wp_super_cache_sync_module
+ *
+ * @param array $sync_modules the list to be amended.
+ */
+ public static function add_wp_super_cache_sync_module( $sync_modules ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::add_wp_super_cache_sync_module( $sync_modules );
+ }
+
+ /**
+ * Sanitizes the filtered sync cron schedule.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::sanitize_filtered_sync_cron_schedule
+ *
+ * @param String $schedule the cron schedule to sanitize.
+ * @return String sanitized cron schedule.
+ */
+ public static function sanitize_filtered_sync_cron_schedule( $schedule ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::sanitize_filtered_sync_cron_schedule( $schedule );
+ }
+
+ /**
+ * Returns the time offset for a the start schedule.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::get_start_time_offset
+ *
+ * @param String $schedule the schedule string.
+ * @param String $hook hook slug.
+ * @return Integer start time offset.
+ */
+ public static function get_start_time_offset( $schedule = '', $hook = '' ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::get_start_time_offset( $schedule, $hook );
+ }
+
+ /**
+ * If needed, schedule a cron sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::maybe_schedule_sync_cron
+ *
+ * @param String $schedule the schedule string.
+ * @param String $hook hook slug.
+ */
+ public static function maybe_schedule_sync_cron( $schedule, $hook ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::maybe_schedule_sync_cron( $schedule, $hook );
+ }
+
+ /**
+ * Clears cron jobs scheduled for sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::clear_sync_cron_jobs
+ */
+ public static function clear_sync_cron_jobs() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::clear_sync_cron_jobs();
+ }
+
+ /**
+ * Initialize cron jobs for sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::init_sync_cron_jobs
+ */
+ public static function init_sync_cron_jobs() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::init_sync_cron_jobs();
+ }
+
+ /**
+ * Cleans up schedules on plugin upgrade.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::cleanup_on_upgrade
+ *
+ * @param String $new_version the new version.
+ * @param String $old_version the old version.
+ */
+ public static function cleanup_on_upgrade( $new_version = null, $old_version = null ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::cleanup_on_upgrade( $new_version, $old_version );
+ }
+
+ /**
+ * Clears cron jobs scheduled for sync.
+ *
+ * @deprecated Automattic\Jetpack\Sync\Actions::get_sync_status
+ *
+ * @param array $fields sync fields to get status of.
+ */
+ public static function get_sync_status( $fields = null ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Actions' );
+
+ return Actions::get_sync_status( $fields );
+ }
+}
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-modules.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-modules.php
new file mode 100644
index 00000000..69bc8af5
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-modules.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * A compatibility shim for the sync modules class.
+ *
+ * @package automattic/jetpack-compat
+ */
+
+use Automattic\Jetpack\Sync\Modules;
+
+/**
+ * Class Jetpack_Sync_Modules
+ *
+ * @deprecated Use Automattic\Jetpack\Sync\Modules
+ */
+class Jetpack_Sync_Modules {
+
+ /**
+ * Returns the sync module object.
+ *
+ * @param String $module_name the module name.
+ * @return Automattic\Jetpack\Sync\Modules\Module the module object.
+ */
+ public static function get_module( $module_name ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Modules' );
+
+ return Modules::get_module( $module_name );
+ }
+}
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-settings.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-settings.php
new file mode 100644
index 00000000..e31f79d9
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpack-sync-settings.php
@@ -0,0 +1,229 @@
+<?php
+/**
+ * Legacy/deprecated Sync Setting getter and setter.
+ *
+ * @package automattic/jetpack-sync
+ */
+
+use Automattic\Jetpack\Sync\Settings;
+
+/**
+ * Class Jetpack_Sync_Settings
+ *
+ * @deprecated Use Automattic\Jetpack\Sync\Settings
+ */
+class Jetpack_Sync_Settings {
+
+ /**
+ * Return all settings
+ *
+ * @deprecated See Automattic/Jetpack/Sync/Settings
+ *
+ * @return array All Sync Settings.
+ */
+ public static function get_settings() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::get_settings();
+ }
+
+ /**
+ * Return a single setting.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param string $setting Setting to return.
+ *
+ * @return mixed Value of setting.
+ */
+ public static function get_setting( $setting ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::get_setting( $setting );
+ }
+
+ /**
+ * Update a sync setting
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param mixed $new_settings New setting to set.
+ */
+ public static function update_settings( $new_settings ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ Settings::update_settings( $new_settings );
+ }
+
+ /**
+ * Return is_network_setting result.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param string $setting Setting to check.
+ *
+ * @return bool
+ */
+ public static function is_network_setting( $setting ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::is_network_setting( $setting );
+ }
+
+ /**
+ * Return blocklisted post types SQL.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ */
+ public static function get_blacklisted_post_types_sql() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::get_blacklisted_post_types_sql();
+ }
+
+ /**
+ * Return allowed post meta SQL.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @return string
+ */
+ public static function get_whitelisted_post_meta_sql() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::get_whitelisted_post_meta_sql();
+ }
+
+ /**
+ * Return allowed comment meta SQL
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ */
+ public static function get_whitelisted_comment_meta_sql() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::get_whitelisted_comment_meta_sql();
+ }
+
+ /**
+ * Return get_comments_filter_sql
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ */
+ public static function get_comments_filter_sql() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::get_comments_filter_sql();
+ }
+
+ /**
+ * Result data.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ */
+ public static function reset_data() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ Settings::reset_data();
+ }
+
+ /**
+ * Set importing status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param mixed $is_importing Value to set.
+ */
+ public static function set_importing( $is_importing ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ Settings::set_importing( $is_importing );
+ }
+
+ /**
+ * Return is_importing status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @return bool
+ */
+ public static function is_importing() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::is_importing();
+ }
+
+ /**
+ * Return is_sync_enabled status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @return bool
+ */
+ public static function is_sync_enabled() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::is_sync_enabled();
+ }
+
+ /**
+ * Set cron status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param mixed $is_doing_cron Value to set.
+ */
+ public static function set_doing_cron( $is_doing_cron ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ Settings::set_doing_cron( $is_doing_cron );
+ }
+
+ /**
+ * Return is_doing_cron status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @return bool
+ */
+ public static function is_doing_cron() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::is_doing_cron();
+ }
+
+ /**
+ * Return is_syncing status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @return bool
+ */
+ public static function is_syncing() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::is_syncing();
+ }
+
+ /**
+ * Set "is syncing" status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param mixed $is_syncing Is syncing value.
+ */
+ public static function set_is_syncing( $is_syncing ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ Settings::set_is_syncing( $is_syncing );
+ }
+
+ /**
+ * Return is_sending status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @return bool
+ */
+ public static function is_sending() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ return Settings::is_sending();
+ }
+
+ /**
+ * Set "is sending" status.
+ *
+ * @deprecated See Automattic\Jetpack\Sync\Settings
+ *
+ * @param mixed $is_sending Is sending value.
+ */
+ public static function set_is_sending( $is_sending ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Sync\Settings' );
+ Settings::set_is_sending( $is_sending );
+ }
+
+}
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpacktracking.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpacktracking.php
new file mode 100644
index 00000000..abfe4f62
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/legacy/class-jetpacktracking.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Legacy and deprecated Jetpack Tracking class.
+ *
+ * @package automattic/jetpack-compat
+ */
+
+use Automattic\Jetpack\Tracking;
+
+/**
+ * Legacy class JetpackTracking
+ *
+ * @deprecated See Automattic\Jetpack\Tracking
+ */
+class JetpackTracking {
+
+ /**
+ * Enqueue tracks scripts.
+ *
+ * @deprecated See Automattic\Jetpack\Tracking
+ */
+ public static function enqueue_tracks_scripts() {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Tracking' );
+
+ $tracking = new Tracking();
+ return $tracking->enqueue_tracks_scripts();
+ }
+
+ /**
+ * Record user event.
+ *
+ * @deprecated See Automattic\Jetpack\Tracking
+ *
+ * @param mixed $event_type Event type.
+ * @param array $data Event data.
+ * @param mixed $user User who did the event.
+ *
+ * @return bool
+ */
+ public static function record_user_event( $event_type, $data = array(), $user = null ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Tracking' );
+
+ $tracking = new Tracking();
+ return $tracking->record_user_event( $event_type, $data, $user );
+ }
+
+}
diff --git a/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/lib/tracks/client.php b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/lib/tracks/client.php
new file mode 100644
index 00000000..41056897
--- /dev/null
+++ b/plugins/jetpack/jetpack_vendor/automattic/jetpack-compat/lib/tracks/client.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Deprecated Tracks client.
+ *
+ * @package automattic/jetpack-compat
+ */
+
+/**
+ * Get tracks identity for an user.
+ *
+ * @deprecated 7.5.0 use Automattic\Jetpack\Tracking->tracks_get_identity instead
+ *
+ * @param int $user_id User id.
+ *
+ * @return mixed tracks identity.
+ */
+function jetpack_tracks_get_identity( $user_id ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Tracking->tracks_get_identity' );
+
+ $tracking = new Automattic\Jetpack\Tracking( 'jetpack', Jetpack::connection() );
+ return $tracking->tracks_get_identity( $user_id );
+}
+
+/**
+ * Record Jetpack Tracks Event
+ *
+ * @deprecated 7.5.0 use Automattic\Jetpack\Tracking->tracks_record_event instead
+ *
+ * @param object $user User acting.
+ * @param string $event_name Event name.
+ * @param array $properties Properties.
+ * @param string|bool $event_timestamp_millis Timestamp.
+ *
+ * @return bool
+ */
+function jetpack_tracks_record_event( $user, $event_name, $properties = array(), $event_timestamp_millis = false ) {
+ _deprecated_function( __METHOD__, 'jetpack-7.5', 'Automattic\Jetpack\Tracking->tracks_record_event' );
+
+ $tracking = new Automattic\Jetpack\Tracking( 'jetpack', Jetpack::connection() );
+ return $tracking->tracks_record_event( $user, $event_name, $properties, $event_timestamp_millis );
+}