PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 5.3.2
MainWP Dashboard: Self-hosted WordPress Management for Agencies v5.3.2
6.2 6.1.8 6.1.7 6.1.6 6.1.5 6.1.4 6.1.3 6.1.2 6.1.1 6.1 6.0.12 6.0.11 4.6.0.1 5.0 5.0.1 5.0.2 5.0.3 5.0.3.1 5.0.3.2 5.1 5.1.1 5.2 5.2.1 5.2.2 5.3 All 153 releases
mainwp / includes / compatible.php

compatible.php in MainWP Dashboard: Self-hosted WordPress Management for Agencies 5.3.2, at includes/compatible.php

184 lines 5.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * MainWP compatible legacy functions.
4 *
5 * @package MainWP/Dashboard
6 */
7
8 // phpcs:disable -- legacy functions for backwards compatibility. Required.
9
10 if ( ! class_exists( 'MainWP_DB' ) ) {
11
12 /**
13 * MainWP Database Compatible class.
14 */
15 class MainWP_DB { // phpcs:ignore Generic.Classes.OpeningBraceSameLine.ContentAfterBrace -- NOSONAR.
16
17 /**
18 * Private static variable to hold the single instance of the class.
19 *
20 * @var mixed Default null
21 */
22 private static $instance = null;
23
24 /**
25 * Create public static instance.
26 *
27 * @return MainWP_DB
28 */
29 public static function instance() {
30 if ( null === static::$instance ) {
31 static::$instance = new self();
32 }
33 return static::$instance;
34 }
35
36 /**
37 * Get child site by ID.
38 *
39 * @param int $id Child site ID.
40 * @param array $selectGroups Select groups.
41 *
42 * @return object|null Database query results or null on failure.
43 *
44 * @uses \MainWP\Dashboard\MainWP_DB::instance()::get_website_by_id()
45 */
46 public function getWebsiteById( $id, $selectGroups = false ) {
47 return MainWP\Dashboard\MainWP_DB::instance()->get_website_by_id( $id, $selectGroups );
48 }
49
50 /**
51 * Get child sites by child site IDs.
52 *
53 * @param array $ids Child site IDs.
54 * @param int $userId User ID.
55 *
56 * @return object|null Database uery result or null on failure.
57 *
58 * @uses \MainWP\Dashboard\MainWP_DB::instance()::get_website_by_ids()
59 */
60 public function getWebsitesByIds( $ids, $userId = null ) {
61 return MainWP\Dashboard\MainWP_DB::instance()->get_websites_by_ids( $ids, $userId );
62 }
63
64 /**
65 * Get child sites by groups IDs.
66 *
67 * @param array $ids Groups IDs.
68 * @param int $userId User ID.
69 *
70 * @return object|null Database uery result or null on failure.
71 *
72 * @uses \MainWP\Dashboard\MainWP_DB::instance()::get_websites_by_group_ids()
73 */
74 public function getWebsitesByGroupIds( $ids, $userId = null ) {
75 return MainWP\Dashboard\MainWP_DB::instance()->get_websites_by_group_ids( $ids, $userId );
76 }
77
78 /**
79 * Get sites by user ID.
80 *
81 * @param int $userid User ID.
82 * @param bool $selectgroups Selected groups.
83 * @param null $search_site Site search field value.
84 * @param string $orderBy Order list by. Default: URL.
85 *
86 * @return object|null Database query results or null on failure.
87 *
88 * @uses \MainWP\Dashboard\MainWP_DB::instance()::get_websites_by_user_id()
89 */
90 public function getWebsitesByUserId( $userid, $selectgroups = false, $search_site = null, $orderBy = 'wp.url' ) {
91 return MainWP\Dashboard\MainWP_DB::instance()->get_websites_by_user_id( $userid, $selectgroups, $search_site, $orderBy );
92 }
93
94 /**
95 * Get Child site wp_options database table.
96 *
97 * @param array $website Child Site array.
98 * @param mixed $option Child Site wp_options table name.
99 *
100 * @return string|null Database query result (as string), or null on failure.
101 *
102 * @uses \MainWP\Dashboard\MainWP_DB::instance()::get_website_option()
103 */
104 public function getWebsiteOption( $website, $option ) {
105 return MainWP\Dashboard\MainWP_DB::instance()->get_website_option( $website, $option );
106 }
107
108 /**
109 * Update child site options.
110 *
111 * @param object $website Child site object.
112 * @param mixed $option Option to update.
113 * @param mixed $value Value to update with.
114 *
115 * @uses \MainWP\Dashboard\MainWP_DB::instance()::update_website_option()
116 */
117 public function updateWebsiteOption( $website, $option, $value ) {
118 return MainWP\Dashboard\MainWP_DB::instance()->update_website_option( $website, $option, $value );
119 }
120 }
121 }
122
123 if ( ! class_exists( 'MainWP_System' ) ) {
124
125 /**
126 * MainWP System Compatible class
127 *
128 * @internal
129 */
130 class MainWP_System { // phpcs:ignore Generic.Classes.OpeningBraceSameLine.ContentAfterBrace -- NOSONAR.
131
132 /**
133 * Public static variable to hold the current plugin version.
134 *
135 * @var string Current plugin version.
136 */
137 public static $version = '4.0.7.2'; // NOSONAR - not IP.
138
139 /**
140 * Create public static instance.
141 *
142 * @return MainWP_System
143 */
144 public static function Instance() {
145 return MainWP\Dashboard\Instance();
146 }
147 }
148 }
149
150 if ( ! class_exists( 'MainWP_Extensions_View' ) ) {
151
152 /**
153 * MainWP Extensions View Compatible class.
154 *
155 * @uses \MainWP\Dashboard\MainWP_Extensions_View::get_available_extensions()
156 */
157 class MainWP_Extensions_View { // phpcs:ignore Generic.Classes.OpeningBraceSameLine.ContentAfterBrace -- NOSONAR.
158
159 /**
160 * Get all available extensions.
161 *
162 * @return array Available extensions.
163 *
164 * @devtodo Move to MainWP Server via an XML file.
165 */
166 public static function getAvailableExtensions() {
167 return MainWP\Dashboard\MainWP_Extensions_View::get_available_extensions();
168 }
169 }
170 }
171
172
173 /**
174 * To compatible with php version < 7.3.0.
175 */
176 if ( ! function_exists( 'array_key_first' ) ) {
177 function array_key_first( array $arr ) {
178 foreach ( $arr as $key => $unused ) {
179 return $key;
180 }
181 return null;
182 }
183 }
184