public static function handle_activate() { if ( ! current_user_can( 'manage_woocommerce' ) && ! current_user_can( 'manage_options' ) ) { wp_die( esc_html__( 'Keine Berechtigung.', 'wc-dsgvo' ) ); } check_admin_referer( self::NONCE_ACTIVATE ); $key = isset( $_POST['wc_dsgvo_license_key'] ) ? wp_unslash( $_POST['wc_dsgvo_license_key'] ) : ''; self::set_license_key( $key ); self::remote_check( 'activate' ); $data = self::get_license_data(); if ( ! empty( $data['status'] ) && 'active' === $data['status'] ) { self::update_license_data( array( 'status' => 'active', 'last_check' => time(), ) ); self::redirect_back( 'activated' ); } // Erster kurzer Validate-Fallback usleep( 500000 ); // 0.5 Sekunden $fallback = self::remote_check( 'validate' ); $data = self::get_license_data(); if ( ! is_wp_error( $fallback ) && ! empty( $data['status'] ) && 'active' === $data['status'] ) { self::update_license_data( array( 'status' => 'active', 'last_check' => time(), ) ); self::redirect_back( 'activated' ); } // Zweiter kurzer Validate-Fallback usleep( 700000 ); // 0.7 Sekunden $fallback = self::remote_check( 'validate' ); $data = self::get_license_data(); if ( ! is_wp_error( $fallback ) && ! empty( $data['status'] ) && 'active' === $data['status'] ) { self::update_license_data( array( 'status' => 'active', 'last_check' => time(), ) ); self::redirect_back( 'activated' ); } self::redirect_back( 'error' ); }