PluginProbe
Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO / 1.3.53
Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO v1.3.53
1.4.17 1.4.16 1.4.15 1.4.14 1.4.13 1.4.12 1.4.11 1.4.10 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.54 1.3.53 1.3.52 1.3.51 1.3.50 1.3.49 1.3.48 All 180 releases
disco / vendor / micropackage / requirements / src / Checker / PHPExtensions.php

PHPExtensions.php in Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO 1.3.53, at vendor/micropackage/requirements/src/Checker/PHPExtensions.php

58 lines 1.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * PHP Extensions Checker class
4 *
5 * @package micropackage/requirements
6 */
7
8 namespace Micropackage\Requirements\Checker;
9
10 use Micropackage\Requirements\Abstracts;
11 use Micropackage\Requirements\Requirements;
12
13 /**
14 * PHP Extensions Checker class
15 */
16 class PHPExtensions extends Abstracts\Checker {
17
18 /**
19 * Checker name
20 *
21 * @var string
22 */
23 protected $name = 'php_extensions';
24
25 /**
26 * Checks if the requirement is met
27 *
28 * @since 1.0.0
29 * @throws \Exception When provided value is not an array.
30 * @param array $value Array of extensions.
31 * @return void
32 */
33 public function check( $value ) {
34
35 if ( ! is_array( $value ) ) {
36 throw new \Exception( 'PHP Extensions Check requires array parameter' );
37 }
38
39 $missing_extensions = array();
40
41 foreach ( $value as $extension ) {
42 if ( ! extension_loaded( $extension ) ) {
43 $missing_extensions[] = $extension;
44 }
45 }
46
47 if ( ! empty( $missing_extensions ) ) {
48 $this->add_error( sprintf(
49 // Translators: PHP extensions.
50 _n( 'Missing PHP extension: %s', 'Missing PHP extensions: %s', count( $missing_extensions ), Requirements::$textdomain ),
51 implode( ', ', $missing_extensions )
52 ) );
53 }
54
55 }
56
57 }
58