Completed
Push — sync/json-endpoints-19apr2017 ( 4d1744 )
by
unknown
64:46 queued 53:25
created

tiled-gallery/tiled-gallery/tiled-gallery-item.php (5 issues)

Labels
Severity

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
abstract class Jetpack_Tiled_Gallery_Item {
3
	public $image;
4
5
	public function __construct( $attachment_image, $needs_attachment_link, $grayscale ) {
6
		$this->image = $attachment_image;
7
		$this->grayscale = $grayscale;
0 ignored issues
show
The property grayscale does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
8
9
		$this->image_title = $this->image->post_title;
10
11
		$this->image_alt = get_post_meta( $this->image->ID, '_wp_attachment_image_alt', true );
0 ignored issues
show
The property image_alt does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
12
		// If no Alt value, use the caption
13 View Code Duplication
		if ( empty( $this->image_alt ) && ! empty( $this->image->post_excerpt ) ) {
14
			$this->image_alt = trim( strip_tags( $this->image->post_excerpt ) );
15
		}
16
		// If still no Alt value, use the title
17 View Code Duplication
		if ( empty( $this->image_alt ) && ! empty( $this->image->post_title ) ) {
18
			$this->image_alt = trim( strip_tags( $this->image->post_title ) );
19
		}
20
21
		$this->orig_file = wp_get_attachment_url( $this->image->ID );
0 ignored issues
show
The property orig_file does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
22
		$this->link = $needs_attachment_link ? get_attachment_link( $this->image->ID ) : $this->orig_file;
0 ignored issues
show
The property link does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
23
24
		// If h and w are the same, there's a reasonably good chance the image will need cropping to avoid being stretched.
25
		$crop = $this->image->height == $this->image->width ? true : false;
26
		$this->img_src = jetpack_photon_url( $this->orig_file, array(
27
			'w'    => $this->image->width,
28
			'h'    => $this->image->height,
29
			'crop' => $crop
30
		) );
31
	}
32
33
	public function fuzzy_image_meta() {
34
		$meta = wp_get_attachment_metadata( $this->image->ID );
35
		$img_meta = ( ! empty( $meta['image_meta'] ) ) ? (array) $meta['image_meta'] : array();
36 View Code Duplication
		if ( ! empty( $img_meta ) ) {
37
			foreach ( $img_meta as $k => $v ) {
38
				if ( 'latitude' == $k || 'longitude' == $k )
39
					unset( $img_meta[$k] );
40
			}
41
		}
42
43
		return $img_meta;
44
	}
45
46
	public function meta_width() {
47
		$meta = wp_get_attachment_metadata( $this->image->ID );
48
		return isset( $meta['width'] ) ? intval( $meta['width'] ) : '';
49
	}
50
51
	public function meta_height() {
52
		$meta = wp_get_attachment_metadata( $this->image->ID );
53
		return isset( $meta['height'] ) ? intval( $meta['height'] ) : '';
54
	}
55
56
	public function medium_file() {
57
		$medium_file_info = wp_get_attachment_image_src( $this->image->ID, 'medium' );
58
		$medium_file      = isset( $medium_file_info[0] ) ? $medium_file_info[0] : '';
59
		return $medium_file;
60
	}
61
62
	public function large_file() {
63
		$large_file_info  = wp_get_attachment_image_src( $this->image->ID, 'large' );
64
		$large_file       = isset( $large_file_info[0] ) ? $large_file_info[0] : '';
65
		return $large_file;
66
	}
67
}
68
69
class Jetpack_Tiled_Gallery_Rectangular_Item extends Jetpack_Tiled_Gallery_Item {
70
	public function __construct( $attachment_image, $needs_attachment_link, $grayscale ) {
71
		parent::__construct( $attachment_image, $needs_attachment_link, $grayscale );
72
		$this->img_src_grayscale = jetpack_photon_url( $this->img_src, array( 'filter' => 'grayscale' ) );
73
74
		$this->size = 'large';
0 ignored issues
show
The property size does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
75
76
		if ( $this->image->width < 250 )
77
			$this->size = 'small';
78
	}
79
}
80
81
class Jetpack_Tiled_Gallery_Square_Item extends Jetpack_Tiled_Gallery_Item {
82
	public function __construct( $attachment_image, $needs_attachment_link, $grayscale ) {
83
		parent::__construct( $attachment_image, $needs_attachment_link, $grayscale );
84
		$this->img_src_grayscale = jetpack_photon_url( $this->img_src, array( 'filter' => 'grayscale', 'resize' => array( $this->image->width, $this->image->height ) ) );
85
	}
86
}
87
88
class Jetpack_Tiled_Gallery_Circle_Item extends Jetpack_Tiled_Gallery_Square_Item {
89
}
90