| @@ -6,8 +6,13 @@ | ||
| 6 | 6 | * |
| 7 | 7 | * @package MainWP/Dashboard |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | +// Exit if accessed directly. | |
| 11 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 12 | + exit; | |
| 13 | +} | |
| 14 | + | |
| 10 | 15 | if ( ! defined( 'FILTER_SANITIZE_STRING_COMPATIBLE' ) ) { // to compatible. |
| 11 | 16 | define( 'FILTER_SANITIZE_STRING_COMPATIBLE', 513 ); |
| 12 | 17 | } |
| 13 | 18 | |
| @@ -23,9 +28,9 @@ | ||
| 23 | 28 | } |
| 24 | 29 | } |
| 25 | 30 | |
| 26 | 31 | |
| 27 | -if ( ! function_exists( 'mainwp_do_not_have_permissions' ) ) { | |
| 32 | +if ( ! function_exists( '\mainwp_do_not_have_permissions' ) ) { | |
| 28 | 33 | |
| 29 | 34 | /** |
| 30 | 35 | * Detect permission level & display message to end user. |
| 31 | 36 | * |
| @@ -33,8 +38,9 @@ | ||
| 33 | 38 | * @param bool $echo_out Defines weather or not to echo error message. |
| 34 | 39 | * @return string|bool $msg|false |
| 35 | 40 | */ |
| 36 | 41 | function mainwp_do_not_have_permissions( $where = '', $echo_out = true ) { |
| 42 | + /* translators: %s: Page or section name where access was denied */ | |
| 37 | 43 | $msg = sprintf( esc_html__( 'You do not have sufficient permissions to access this page (%s).', 'mainwp' ), ucwords( $where ) ); |
| 38 | 44 | if ( $echo_out ) { |
| 39 | 45 | 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 | 46 | } else { |
| @@ -84,9 +90,9 @@ | ||
| 84 | 90 | * @param array $output Array output. |
| 85 | 91 | */ |
| 86 | 92 | function mainwp_send_json_output( $output ) { |
| 87 | 93 | if ( is_array( $output ) ) { |
| 88 | - $output['execute_time'] = \MainWP\Dashboard\MainWP_Execution_Helper::instance()->get_exec_time(); | |
| 94 | + $output['execute_time'] = \MainWP\Dashboard\MainWP_Execution_Helper::get_run_time(); | |
| 89 | 95 | } |
| 90 | 96 | wp_send_json( $output ); |
| 91 | 97 | } |
| 92 | 98 | } |
| @@ -107,6 +113,48 @@ | ||
| 107 | 113 | 'cost-tracker' => defined( 'MAINWP_MODULE_COST_TRACKER_ENABLED' ) && MAINWP_MODULE_COST_TRACKER_ENABLED ? true : false, |
| 108 | 114 | 'api-backups' => defined( 'MAINWP_MODULE_API_BACKUPS_ENABLED' ) && MAINWP_MODULE_API_BACKUPS_ENABLED ? true : false, |
| 109 | 115 | ); |
| 110 | 116 | return ! empty( $enable_mainwp_modules[ $module ] ) ? true : false; |
| 117 | + } | |
| 118 | +} | |
| 119 | + | |
| 120 | +if ( ! function_exists( 'mainwp_get_timestamp' ) ) { | |
| 121 | + | |
| 122 | + /** | |
| 123 | + * Function mainwp_get_timestamp. | |
| 124 | + * | |
| 125 | + * @param int $add_time add time. | |
| 126 | + * @return int | |
| 127 | + */ | |
| 128 | + function mainwp_get_timestamp( $add_time = 0 ) { | |
| 129 | + return (int) $add_time + (int) \MainWP\Dashboard\MainWP_Utility::get_timestamp(); | |
| 130 | + } | |
| 131 | + | |
| 132 | + | |
| 133 | +} | |
| 134 | + | |
| 135 | +if ( ! function_exists( 'mainwp_get_current_utc_datetime_db' ) ) { | |
| 136 | + /** | |
| 137 | + * Function mainwp_get_current_utc_datetime_db. | |
| 138 | + * | |
| 139 | + * @param bool $get_db_datetime To get db datetime. | |
| 140 | + * | |
| 141 | + * @return int | |
| 142 | + */ | |
| 143 | + function mainwp_get_current_utc_datetime_db( $get_db_datetime = true ) { | |
| 144 | + $utcTime = new \DateTime( 'now', new \DateTimeZone( 'UTC' ) ); | |
| 145 | + return $get_db_datetime ? $utcTime->format( 'Y-m-d H:i:s' ) : $utcTime->getTimestamp(); // Outputs: YYYY-MM-DD HH:MM:SS. | |
| 146 | + } | |
| 147 | +} | |
| 148 | + | |
| 149 | +if ( ! function_exists( 'mainwp_secure_request' ) ) { | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * Function mainwp_secure_request. | |
| 153 | + * | |
| 154 | + * @param string $action request action. | |
| 155 | + * @return void | |
| 156 | + */ | |
| 157 | + function mainwp_secure_request( $action ) { | |
| 158 | + \MainWP\Dashboard\MainWP_Post_Handler::instance()->secure_request( $action ); | |
| 111 | 159 | } |
| 112 | 160 | } |