PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.13.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.13.0
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 2 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
111 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, $additional_options = '' ) {
66 $start = "https://surecart.com/cdn-cgi/image/{$this->getResizeOptions()},width=$size" . ( ! empty( $additional_options ) ? ",$additional_options," : '' );
67 $url = "$start/$url";
68 if ( $append_width ) {
69 $url .= " $size" . 'w';
70 }
71 return $url;
72 }
73
74 /**
75 * Get the image srcset.
76 *
77 * @param string $url The full url to the image.
78 *
79 * @return string
80 */
81 public function imageSrcSet( $url, $image_sizes = [] ) {
82 $image_sizes = empty( $image_sizes ) ? $this->getImageSizes() : $image_sizes;
83 $sizes = [];
84 foreach ( $image_sizes as $size ) {
85 $sizes[] = $this->imageUrl( $url, $size, true );
86 }
87 return implode( ', ', $sizes );
88 }
89
90 /**
91 * Get the image_sizes
92 *
93 * @return array
94 */
95 public function getImageSizes() {
96 return apply_filters( 'surecart/default_image_sizes', $this->image_sizes, $this );
97 }
98
99 /**
100 * Get the image options.
101 *
102 * @return string
103 */
104 public function getResizeOptions() {
105 return implode(
106 ',',
107 apply_filters( 'surecart/image_resize_options', $this->resize_options, $this )
108 );
109 }
110 }
111