GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

FooGallery_WPThumb_Enhancements::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * WPThumb Enhancements Class
4
 * Date: 7 Nov 2016
5
 *
6
 * Some themes include a filter to override the ORDER of the image editors to be used,
7
 * so that the GD library is used as a preference over the Imagick library.
8
 * This is acceptable, but WPThumb requires it's own overrides of the WP_Image_Editor_GD
9
 * and WP_Image_Editor_Imagick classes (set in wpthumb.php 'wpthumb_add_image_editors'
10
 * function). An example of this filter code is:
11
 *
12
 *   add_filter( 'wp_image_editors', 'change_graphic_lib' );
13
 *   function change_graphic_lib($array) {
14
 *     return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
15
 *   }
16
 *
17
 * The theme's filter runs after the WPThumb filter, so the override classes needed
18
 * by WPThumb are ignored. This stops WPThumb from working altogether. To get around
19
 * this we need to override the image editors later (priority 999) and "force" the
20
 * usage of the WPThumb override classes, while still preserving the order set by the
21
 * theme author, or server administrator.
22
 *
23
 * The hosting provider's decision to use GD over Imagick is usually due to a timeout
24
 * that occurs when large images are uploaded to the media library. The PHP setting
25
 * for memory on the server could be too low, and this causes Imagick to timeout.
26
 * Switching to GD usually fixes the problem, without needing to change memory limits.
27
 *
28
 */
29
if ( ! class_exists( 'FooGallery_WPThumb_Enhancements' ) ) {
30
31
    class FooGallery_WPThumb_Enhancements {
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
32
33
        function __construct() {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
34
            add_filter( 'wp_image_editors', array( $this, 'override_image_editors' ), 999 );
35
        }
36
37
        /**
38
         * Overrides the editors to make sure the WPThumb editors are included
39
         *
40
         * @param $editors
41
         * @return array
42
         */
43
        function override_image_editors($editors) {
0 ignored issues
show
Best Practice introduced by
It is generally recommended to explicitly declare the visibility for methods.

Adding explicit visibility (private, protected, or public) is generally recommend to communicate to other developers how, and from where this method is intended to be used.

Loading history...
44
45
            $wpthumb_editors = array();
46
47
            //replace the default image editors with the WPThumb image editors.
48
            // also preserve the order so that certain hosts work as expected
49
            foreach ($editors as $editor) {
50
                switch ($editor) {
51
                    case 'WP_Image_Editor_Imagick':
52
                        $wpthumb_editors[] = 'WP_Thumb_Image_Editor_Imagick';
53
                        break;
54
                    case 'WP_Image_Editor_GD':
55
                        $wpthumb_editors[] = 'WP_Thumb_Image_Editor_GD';
56
                        break;
57
                    default:
58
                        $wpthumb_editors[] = $editor;
59
                }
60
            }
61
62
            //make sure we have a unique list of editors
63
            return array_unique( $wpthumb_editors );
64
        }
65
    }
66
}
67