PluginProbe
MainWP Dashboard: Self-hosted WordPress Management for Agencies / 5.3
MainWP Dashboard: Self-hosted WordPress Management for Agencies v5.3
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 / functions.php

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

153 lines 4.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * MainWP Base Functions.
4 *
5 * Grab MainWP Directory and check for permissions.
6 *
7 * @package MainWP/Dashboard
8 */
9
10 if ( ! defined( 'FILTER_SANITIZE_STRING_COMPATIBLE' ) ) { // to compatible.
11 define( 'FILTER_SANITIZE_STRING_COMPATIBLE', 513 );
12 }
13
14 if ( ! function_exists( 'mainwpdir' ) ) {
15
16 /**
17 * Grab MainWP Directory
18 *
19 * @return string
20 */
21 function mainwpdir() {
22 return WP_PLUGIN_DIR . DIRECTORY_SEPARATOR . dirname( plugin_basename( __FILE__ ) ) . DIRECTORY_SEPARATOR . 'libs' . DIRECTORY_SEPARATOR;
23 }
24 }
25
26
27 if ( ! function_exists( '\mainwp_do_not_have_permissions' ) ) {
28
29 /**
30 * Detect permission level & display message to end user.
31 *
32 * @param string $where User's location.
33 * @param bool $echo_out Defines weather or not to echo error message.
34 * @return string|bool $msg|false
35 */
36 function mainwp_do_not_have_permissions( $where = '', $echo_out = true ) {
37 $msg = sprintf( esc_html__( 'You do not have sufficient permissions to access this page (%s).', 'mainwp' ), ucwords( $where ) );
38 if ( $echo_out ) {
39 echo '<div class="mainwp-permission-error"><p>' . esc_html( $msg ) . '</p>If you need access to this page please contact the dashboard administrator.</div>';
40 } else {
41 return $msg;
42 }
43
44 return false;
45 }
46 }
47
48 if ( ! function_exists( 'mainwp_current_user_can' ) ) {
49
50 /**
51 * Check permission level.
52 *
53 * To compatible with extensions.
54 *
55 * @param string $cap_type Group or type of capabilities.
56 * @param string $cap Capabilities for current user.
57 *
58 * @return bool true|false
59 */
60 function mainwp_current_user_can( $cap_type = '', $cap = '' ) {
61 if ( function_exists( 'MainWP\Dashboard\mainwp_current_user_have_right' ) ) {
62 return MainWP\Dashboard\mainwp_current_user_have_right( $cap_type, $cap );
63 }
64 return true;
65 }
66 }
67
68 if ( ! function_exists( 'mainwp_get_actions_handler_instance' ) ) {
69
70 /**
71 * Function to get mainwp actions handler instance.
72 *
73 * @return bool true|false
74 */
75 function mainwp_get_actions_handler_instance() {
76 return \MainWP\Dashboard\MainWP_Actions_Handler::instance();
77 }
78 }
79
80 if ( ! function_exists( 'mainwp_send_json_output' ) ) {
81 /**
82 * Handle send json output.
83 *
84 * @param array $output Array output.
85 */
86 function mainwp_send_json_output( $output ) {
87 if ( is_array( $output ) ) {
88 $output['execute_time'] = \MainWP\Dashboard\MainWP_Execution_Helper::instance()->get_exec_time();
89 }
90 wp_send_json( $output );
91 }
92 }
93
94
95 if ( ! function_exists( 'mainwp_modules_is_enabled' ) ) {
96
97 /**
98 * Check if module is enable.
99 *
100 * @param string $module module slug.
101 *
102 * @return bool true|false
103 */
104 function mainwp_modules_is_enabled( $module ) {
105 $enable_mainwp_modules = array(
106 'logs' => defined( 'MAINWP_MODULE_LOG_ENABLED' ) && MAINWP_MODULE_LOG_ENABLED ? true : false,
107 'cost-tracker' => defined( 'MAINWP_MODULE_COST_TRACKER_ENABLED' ) && MAINWP_MODULE_COST_TRACKER_ENABLED ? true : false,
108 'api-backups' => defined( 'MAINWP_MODULE_API_BACKUPS_ENABLED' ) && MAINWP_MODULE_API_BACKUPS_ENABLED ? true : false,
109 );
110 return ! empty( $enable_mainwp_modules[ $module ] ) ? true : false;
111 }
112 }
113
114 if ( ! function_exists( 'mainwp_get_timestamp' ) ) {
115
116 /**
117 * Function mainwp_get_timestamp.
118 *
119 * @param int $add_time add time.
120 * @return int
121 */
122 function mainwp_get_timestamp( $add_time = 0 ) {
123 return (int) $add_time + (int) \MainWP\Dashboard\MainWP_Utility::get_timestamp();
124 }
125
126
127 }
128
129 if ( ! function_exists( 'mainwp_get_current_utc_datetime_db' ) ) {
130 /**
131 * Function mainwp_get_current_utc_datetime_db.
132 *
133 * @return int
134 */
135 function mainwp_get_current_utc_datetime_db() {
136 $utcTime = new \DateTime( 'now', new \DateTimeZone( 'UTC' ) );
137 return $utcTime->format( 'Y-m-d H:i:s' ); // Outputs: YYYY-MM-DD HH:MM:SS.
138 }
139 }
140
141 if ( ! function_exists( 'mainwp_secure_request' ) ) {
142
143 /**
144 * Function mainwp_secure_request.
145 *
146 * @param string $action request action.
147 * @return void
148 */
149 function mainwp_secure_request( $action ) {
150 \MainWP\Dashboard\MainWP_Post_Handler::instance()->secure_request( $action );
151 }
152 }
153