| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /**
- * WooCommerce.com Product Installation Requirements Check.
- *
- * @package WooCommerce\WCCom
- * @since 3.8.0
- */
- use Automattic\Jetpack\Constants;
- defined( 'ABSPATH' ) || exit;
- /**
- * WC_WCCOM_Site_Installer_Requirements_Check Class
- * Contains functionality to check the necessary requirements for the installer.
- */
- class WC_WCCOM_Site_Installer_Requirements_Check {
- /**
- * Check if the site met the requirements
- *
- * @version 3.8.0
- * @return bool|WP_Error Does the site met the requirements?
- */
- public static function met_requirements() {
- $errs = array();
- if ( ! self::met_wp_cron_requirement() ) {
- $errs[] = 'wp-cron';
- }
- if ( ! self::met_filesystem_requirement() ) {
- $errs[] = 'filesystem';
- }
- if ( ! empty( $errs ) ) {
- // translators: %s: Requirements unmet.
- return new WP_Error( 'requirements_not_met', sprintf( __( 'Server requirements not met, missing requirement(s): %s.', 'woocommerce' ), implode( ', ', $errs ) ), array( 'status' => 400 ) );
- }
- return true;
- }
- /**
- * Validates if WP CRON is enabled.
- *
- * @since 3.8.0
- * @return bool
- */
- private static function met_wp_cron_requirement() {
- return ! Constants::is_true( 'DISABLE_WP_CRON' );
- }
- /**
- * Validates if `WP_CONTENT_DIR` is writable.
- *
- * @since 3.8.0
- * @return bool
- */
- private static function met_filesystem_requirement() {
- return is_writable( WP_CONTENT_DIR );
- }
- }
|