PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.5
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.5
16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 All 507 releases
jetpack / jetpack_vendor / automattic / jetpack-backup-helper-script-manager / src / class-helper-script-manager.php

class-helper-script-manager.php in Jetpack – WP Security, Backup, Speed, & Growth 16.3-a.5, at jetpack_vendor/automattic/jetpack-backup-helper-script-manager/src/class-helper-script-manager.php

90 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Jetpack Backup Helper Script Manager class (static wrapper).
4 *
5 * @package automattic/jetpack-backup
6 */
7
8 // After changing this file, consider increasing the version number ("VXXX") in all the files using this namespace, in
9 // order to ensure that the specific version of this file always get loaded. Otherwise, Jetpack autoloader might decide
10 // to load an older/newer version of the class (if, for example, both the standalone and bundled versions of the plugin
11 // are installed, or in some other cases).
12 namespace Automattic\Jetpack\Backup\V0005;
13
14 /**
15 * Manage installation, deletion and cleanup of Helper Scripts to assist with backing up Jetpack Sites.
16 *
17 * A static wrapper around an "implementation" class so that it gets autoloaded late, and we always get the latest
18 * version of the class instead of a random version of it:
19 *
20 * https://github.com/Automattic/jetpack/pull/34297#discussion_r1424227489
21 */
22 class Helper_Script_Manager {
23
24 /**
25 * Instance of helper script manager implementation, or null if not initialized yet.
26 *
27 * @var Helper_Script_Manager_Impl|null
28 */
29 protected static $impl = null;
30
31 /**
32 * Initialize an instance of helper script manager implementation (if needed).
33 *
34 * @return void
35 */
36 protected static function initialize_impl_if_needed() {
37 if ( null === static::$impl ) {
38 static::$impl = new Helper_Script_Manager_Impl();
39 }
40 }
41
42 /**
43 * Install a Helper Script, and returns its filesystem path and access url.
44 *
45 * @param string $script_body Helper Script file contents.
46 *
47 * @return array|\WP_Error Either an array containing the filesystem path ("path"), the URL ("url") of the helper
48 * script, and the WordPress root ("abspath"), or an instance of WP_Error.
49 */
50 public static function install_helper_script( $script_body ) {
51 static::initialize_impl_if_needed();
52 return static::$impl->install_helper_script( $script_body );
53 }
54
55 /**
56 * Ensure that the helper script is gone (by deleting it, if needed).
57 *
58 * @param string $path Path to the helper script to delete.
59 *
60 * @return true|\WP_Error True if the file helper script is gone (either it got deleted, or it was never there), or
61 * WP_Error instance on deletion failures.
62 */
63 public static function delete_helper_script( $path ) {
64 static::initialize_impl_if_needed();
65 return static::$impl->delete_helper_script( $path );
66 }
67
68 /**
69 * Search for Helper Scripts that are suspiciously old, and clean them out.
70 *
71 * @return true|\WP_Error True if all expired helper scripts got cleaned up successfully, or an instance of
72 * WP_Error if one or more expired helper scripts didn't manage to get cleaned up.
73 */
74 public static function cleanup_expired_helper_scripts() {
75 static::initialize_impl_if_needed();
76 return static::$impl->cleanup_expired_helper_scripts();
77 }
78
79 /**
80 * Search for and delete all Helper Scripts. Used during uninstallation.
81 *
82 * @return true|\WP_Error True if all helper scripts got deleted successfully, or an instance of WP_Error if one or
83 * more helper scripts didn't manage to get deleted.
84 */
85 public static function delete_all_helper_scripts() {
86 static::initialize_impl_if_needed();
87 return static::$impl->delete_all_helper_scripts();
88 }
89 }
90