PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.5.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.5.0
4.5.1 4.5.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
CanDuplicate.php 1 year ago CanFilter.php 2 weeks ago CanFinalize.php 3 years ago CanResendNotifications.php 1 year ago HasAffiliation.php 2 years ago HasAttributes.php 1 year ago HasAutoFeeRules.php 5 months ago HasBillingAddress.php 7 months ago HasCharge.php 3 years ago HasCheckout.php 3 years ago HasCommissionStructure.php 2 years ago HasCoupon.php 3 years ago HasCustomer.php 3 years ago HasDates.php 1 year ago HasDiscount.php 1 year ago HasDisputes.php 9 months ago HasFees.php 11 months ago HasImageSizes.php 2 years ago HasInvoice.php 1 year ago HasLicense.php 2 years ago HasLineItem.php 2 years ago HasOrder.php 3 years ago HasPaymentFailures.php 1 year ago HasPaymentInstrument.php 1 year ago HasPaymentIntent.php 3 years ago HasPaymentMethod.php 3 years ago HasPayout.php 2 years ago HasPayouts.php 2 years ago HasPlatformFee.php 1 year ago HasPrice.php 3 years ago HasProcessorType.php 3 years ago HasProduct.php 3 years ago HasPromotion.php 1 year ago HasPurchase.php 3 years ago HasPurchases.php 3 years ago HasReferral.php 2 years ago HasReferralItems.php 2 years ago HasReferrals.php 2 years ago HasRefund.php 3 years ago HasRefundItems.php 1 year ago HasServiceFee.php 1 year ago HasShippingAddress.php 7 months ago HasShippingChoices.php 1 year ago HasShippingMethod.php 1 year ago HasSubscription.php 3 years ago HasSubscriptions.php 3 years ago HasSwap.php 1 year 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