PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.6.1
4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Models / Traits / HasImageSizes.php
surecart / app / src / Models / Traits Last commit date
CanFinalize.php 3 years ago HasCharge.php 3 years ago HasCheckout.php 3 years ago HasCoupon.php 3 years ago HasCustomer.php 3 years ago HasDiscount.php 3 years ago HasImageSizes.php 3 years ago HasOrder.php 3 years ago HasPaymentIntent.php 3 years ago HasPaymentMethod.php 3 years ago HasPrice.php 3 years ago HasProcessorType.php 3 years ago HasProduct.php 3 years ago HasPurchase.php 3 years ago HasPurchases.php 3 years ago HasRefund.php 3 years ago HasShippingAddress.php 3 years ago HasSubscription.php 3 years ago HasSubscriptions.php 3 years ago SyncsCustomer.php 3 years ago
HasImageSizes.php
109 lines
1 <?php
2
3 namespace SureCart\Models\Traits;
4
5 /**
6 * If the model has an attached customer.
7 */
8 trait HasImageSizes {
9 /**
10 * Sizes.
11 *
12 * @var array
13 */
14 protected $image_sizes = [
15 320,
16 640,
17 960,
18 1280,
19 1920,
20 ];
21
22 /**
23 * Options.
24 *
25 * @var array
26 */
27 protected $resize_options = [
28 'fit=scale-down',
29 'format=auto',
30 ];
31
32 /**
33 * Set the image sizes.
34 *
35 * @param array $sizes Image sizes.
36 *
37 * @return $this
38 */
39 public function withImageSizes( $sizes ) {
40 $this->image_sizes = $sizes;
41 return $this;
42 }
43
44 /**
45 * Set the image resize options.
46 *
47 * @param array $options Image resize options.
48 *
49 * @return $this
50 */
51 public function withResizeOptions( $options ) {
52 $this->resize_options = $options;
53 return $this;
54 }
55
56 /**
57 * Get the URL.
58 *
59 * @param string $url The full url to the image.
60 * @param integer $size The size to use.
61 * @param boolean $append_width Append the width to the url.
62 *
63 * @return string
64 */
65 public function imageUrl( $url, $size, $append_width = false ) {
66 $url = "https://surecart.com/cdn-cgi/image/{$this->getResizeOptions()},width=$size/$url";
67 if ( $append_width ) {
68 $url .= " $size" . 'w';
69 }
70 return $url;
71 }
72
73 /**
74 * Get the image srcset.
75 *
76 * @param string $url The full url to the image.
77 *
78 * @return string
79 */
80 public function imageSrcSet( $url ) {
81 $sizes = [];
82 foreach ( $this->getImageSizes() as $size ) {
83 $sizes[] = $this->imageUrl( $url, $size, true );
84 }
85 return implode( ', ', $sizes );
86 }
87
88 /**
89 * Get the image_sizes
90 *
91 * @return array
92 */
93 public function getImageSizes() {
94 return apply_filters( 'surecart/default_image_sizes', $this->image_sizes, $this );
95 }
96
97 /**
98 * Get the image options.
99 *
100 * @return string
101 */
102 public function getResizeOptions() {
103 return implode(
104 ',',
105 apply_filters( 'surecart/image_resize_options', $this->resize_options, $this )
106 );
107 }
108 }
109