PluginProbe ʕ •ᴥ•ʔ
UpdraftPlus: WP Backup & Migration Plugin / 1.26.4
UpdraftPlus: WP Backup & Migration Plugin v1.26.4
1.26.4 1.26.3 1.9.19 1.9.25 1.9.26 1.9.30 1.9.31 1.9.32 1.9.4 1.9.40 1.9.41 1.9.42 1.9.43 1.9.44 1.9.45 1.9.46 1.9.5 1.9.50 1.9.51 1.9.60 1.9.62 1.9.63 1.9.64 1.11.12 1.4.8 1.11.15 1.4.9 1.11.17 1.5.16 1.11.18 1.5.20 1.11.2 1.5.21 1.11.20 1.5.22 1.11.23 1.5.5 1.11.24 1.5.6 1.11.25 1.5.7 1.11.26 1.5.8 1.11.27 1.5.9 1.11.28 1.6.1 1.11.3 1.6.17 1.11.4 1.6.2 1.11.5 1.6.46 1.11.8 1.7.0 1.11.9 1.7.1 1.12.0 1.7.18 1.12.1 1.7.20 1.12.12 1.7.3 1.12.13 1.7.34 1.12.15 1.7.35 1.12.17 1.7.39 1.12.2 1.7.40 1.12.20 1.7.41 1.12.23 1.8.1 1.12.24 1.8.11 1.12.25 1.8.12 1.12.28 1.8.13 1.12.29 1.8.2 1.12.30 1.8.5 1.12.32 1.8.8 1.12.34 1.9.0 1.12.35 1.9.13 1.12.37 1.9.15 1.12.39 1.9.17 1.12.4 1.12.40 1.12.6 1.13.1 1.13.11 1.13.12 1.13.15 1.13.16 1.13.2 1.13.3 1.13.4 1.13.5 1.13.6 1.13.7 1.13.8 1.13.9 1.14.10 1.14.11 1.14.12 1.14.13 1.14.2 1.14.3 1.14.4 1.14.5 1.14.7 1.14.9 1.15.0 1.15.2 1.15.3 1.15.5 1.15.6 1.15.7 1.16.0 1.16.10 1.16.11 1.16.12 1.16.13 1.16.14 1.16.15 1.16.16 1.16.17 1.16.20 1.16.21 1.16.22 1.16.23 1.16.24 1.16.25 1.16.26 1.16.28 1.16.29 1.16.32 1.16.34 1.16.35 1.16.36 1.16.37 1.16.4 1.16.40 1.16.41 1.16.42 1.16.43 1.16.44 1.16.45 1.16.46 1.16.47 1.16.48 1.16.49 1.16.5 1.16.50 1.16.51 1.16.53 1.16.55 1.16.56 1.16.59 1.16.6 1.16.60 1.16.61 1.16.62 1.16.63 1.16.64 1.16.65 1.16.66 1.16.67 1.16.68 1.16.69 1.16.7 1.16.8 1.16.9 1.2.0 1.2.1 1.2.10 1.2.11 1.2.12 1.2.14 1.2.15 1.2.16 1.2.17 1.2.19 1.2.2 1.2.20 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.33 1.2.35 1.2.36 1.2.38 1.2.39 1.2.4 1.2.40 1.2.41 1.2.42 1.2.43 1.2.44 1.2.45 1.2.46 1.2.5 1.2.7 1.2.8 1.2.9 1.22.1 1.22.10 1.22.11 1.22.12 1.22.14 1.22.15 1.22.16 1.22.17 1.22.18 1.22.19 1.22.20 1.22.21 1.22.22 1.22.23 1.22.24 1.22.3 1.22.4 1.22.5 1.22.6 1.22.7 1.22.8 1.22.9 1.23.1 1.23.10 1.23.11 1.23.12 1.23.13 1.23.15 1.23.16 1.23.2 1.23.3 1.23.4 1.23.5 1.23.6 1.23.7 1.23.8 1.23.9 1.24.1 1.24.10 1.24.11 1.24.12 1.24.2 trunk 1.24.3 0.7.4 1.24.4 0.7.7 1.24.5 0.8.28 1.24.6 0.8.29 1.24.7 0.8.30 1.24.8 0.8.31 1.24.9 0.8.32 1.25.1 0.8.33 1.25.2 0.8.36 1.25.3 0.8.37 1.25.5 0.8.50 1.25.6 0.8.51 1.25.7 0.9.1 1.25.8 0.9.10 1.25.9 0.9.11 1.26.1 0.9.12 1.26.2 0.9.2 1.3.10 0.9.20 1.3.12 0.9.21 1.3.14 0.9.22 1.3.15 1.0.10 1.3.17 1.0.11 1.3.18 1.0.12 1.3.19 1.0.15 1.3.2 1.0.16 1.3.20 1.0.18 1.3.22 1.0.20 1.3.23 1.0.3 1.3.24 1.0.4 1.3.25 1.0.5 1.3.3 1.0.6 1.3.4 1.0.7 1.3.6 1.0.8 1.3.7 1.0.9 1.3.8 1.1.0 1.3.9 1.1.10 1.4.0 1.1.11 1.4.10 1.1.12 1.4.11 1.1.13 1.4.12 1.1.14 1.4.13 1.1.15 1.4.14 1.1.16 1.4.15 1.1.17 1.4.2 1.1.2 1.4.27 1.1.3 1.4.28 1.1.5 1.4.29 1.1.6 1.4.30 1.1.8 1.4.4 1.1.9 1.4.48 1.10.1 1.4.5 1.10.3 1.4.6 1.11.1 1.4.7
updraftplus / central / factory.php
updraftplus / central Last commit date
classes 2 years ago css 3 weeks ago images 3 years ago js 3 weeks ago modules 3 weeks ago bootstrap.php 1 month ago commands.php 1 month ago factory.php 3 years ago host.php 1 month ago listener.php 1 month ago translations-central.php 1 month ago updraftplus.php 1 month ago wp-optimize.php 1 month ago
factory.php
82 lines
1 <?php
2
3 if (!defined('ABSPATH')) die('No direct access.');
4
5 if (!defined('UPDRAFTCENTRAL_SET_TIME_LIMIT')) define('UPDRAFTCENTRAL_SET_TIME_LIMIT', 900);
6
7 // We bypass the class declaration if the class already existed. This usually happens if two or more
8 // plugins integrated the same `UpdraftCentral` client folder.
9 if (!class_exists('UpdraftCentral_Factory')) :
10
11 /**
12 * Returns an instance of the host plugin class where the UpdraftCentral "central" folder is being
13 * integrated.
14 */
15 class UpdraftCentral_Factory {
16
17 /**
18 * Creates a host plugin instance
19 *
20 * @return object|null
21 */
22 public static function create_host() {
23
24 // All other plugins that wish to integrate the "central" libraries into their
25 // codebase must use this filter (see WP-Optimize plugin as an example).
26 $hosts = apply_filters('updraftcentral_host_plugins', array());
27
28 // If $hosts is empty then we return null
29 if (empty($hosts)) return null;
30
31 // N.B. If multiple host plugins (e.g. updraftplus, wp-optimize, etc.) are currently
32 // active then we only select one to handle all incoming UpdraftCentral requests for
33 // this website in order to avoid conflicts and confusion especially when tracing or
34 // debugging issues.
35 //
36 // You will know which plugin is currently serving and handling the request by checking
37 // the "get_plugin_name" method of the global variable "$updraftcentral_host_plugin"
38 // (e.g. $updraftcentral_host_plugin->get_plugin_name())
39 //
40 // N.B. You can add additional host plugins here. Just make sure that you will create
41 // a host class for that particular plugin (see central/wp-optimize.php as an example).
42 $mapped_classes = array(
43 'updraftplus' => 'UpdraftPlus_Host',
44 'wp-optimize' => 'WP_Optimize_Host',
45 );
46
47 $path = $host_class = '';
48 foreach ($hosts as $plugin) {
49 // Make sure that we have a registered host class with a valid file that exist
50 $host_file = dirname(__FILE__).'/'.$plugin.'.php';
51 if (isset($mapped_classes[$plugin]) && file_exists($host_file)) {
52 $path = $host_file;
53 $host_class = $mapped_classes[$plugin];
54 break;
55 }
56 }
57
58 // The host file was not found under this plugin thus, we let the other plugins
59 // create or build the host plugin (global) variable instead.
60 if (empty($path)) return null;
61
62 if (!class_exists($host_class)) include_once($path);
63
64 // Re-check host class once again just to make sure that we have the desired
65 // class loaded before calling its instance method
66 if (class_exists($host_class)) {
67 return call_user_func(array($host_class, 'instance'));
68 }
69
70 return null;
71 }
72 }
73
74 endif;
75
76 global $updraftcentral_host_plugin;
77 $updraftcentral_host_plugin = UpdraftCentral_Factory::create_host();
78
79 if ($updraftcentral_host_plugin) {
80 $updraftcentral_host_plugin->load_updraftcentral();
81 }
82