PluginProbe
Depicter — Popup & Slider Builder / 1.5.2
Depicter — Popup & Slider Builder v1.5.2
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / src / Document / Models / Common / Size / States.php

States.php in Depicter — Popup & Slider Builder 1.5.2, at app/src/Document/Models/Common/Size/States.php

69 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Depicter\Document\Models\Common\Size;
3
4
5 use Depicter\Document\CSS\Breakpoints;
6
7 class States
8 {
9 /**
10 * @var Base
11 */
12 public $default;
13
14 /**
15 * @var Base
16 */
17 public $tablet;
18
19 /**
20 * @var Base
21 */
22 public $mobile;
23
24 /**
25 * Retrieves sizes for all breakpoints
26 *
27 * @param mixed $sizeProp
28 * @param bool $includeUnit
29 *
30 * @return array
31 */
32 public function getResponsiveSizes( $sizeProp, $includeUnit = false ) {
33 $responsiveSizes = [];
34
35 foreach( Breakpoints::names() as $device ){
36 $responsiveSizes[ $device ] = '';
37
38 if( !empty( $this->{$device}->{$sizeProp} ) && is_string( $this->{$device}->{$sizeProp} ) ){
39 $responsiveSizes[ $device ] .= $this->{$device}->{$sizeProp};
40
41 } elseif( isset( $this->{$device}->{$sizeProp}->value ) && is_numeric( $this->{$device}->{$sizeProp}->value ) ){
42 $responsiveSizes[ $device ] .= $this->{$device}->{$sizeProp}->value;
43 if( $includeUnit && !empty( $this->{$device}->{$sizeProp}->unit ) ){
44 $responsiveSizes[ $device ] .= $this->{$device}->{$sizeProp}->unit;
45 }
46 }
47 }
48
49 return $responsiveSizes;
50 }
51
52 /**
53 * If responsive sizes are all empty
54 *
55 * @param $responsiveSizes
56 *
57 * @return bool
58 */
59 public function hasNoResponsiveSize( $responsiveSizes )
60 {
61 foreach( Breakpoints::names() as $device ){
62 if( ! empty( $responsiveSizes[ $device ] ) ){
63 return false;
64 }
65 }
66 return true;
67 }
68 }
69