PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.8.2
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.8.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 / Collection.php
surecart / app / src / Models Last commit date
Traits 3 years ago AbandonedCheckout.php 3 years ago AbandonedCheckoutProtocol.php 3 years ago Account.php 3 years ago AccountPortalSession.php 3 years ago Activation.php 3 years ago ApiToken.php 3 years ago BalanceTransaction.php 3 years ago Brand.php 3 years ago Bump.php 3 years ago BuyLink.php 3 years ago CancellationAct.php 3 years ago CancellationReason.php 3 years ago Charge.php 3 years ago Checkout.php 3 years ago Collection.php 3 years ago Component.php 3 years ago Coupon.php 3 years ago Customer.php 3 years ago CustomerLink.php 3 years ago CustomerNotificationProtocol.php 3 years ago DatabaseModel.php 3 years ago Download.php 3 years ago Event.php 3 years ago Form.php 3 years ago Integration.php 3 years ago Invoice.php 3 years ago License.php 3 years ago LineItem.php 3 years ago ManualPaymentMethod.php 3 years ago Media.php 3 years ago Model.php 3 years ago ModelInterface.php 3 years ago Order.php 3 years ago OrderProtocol.php 3 years ago PaymentIntent.php 3 years ago PaymentMethod.php 3 years ago Period.php 3 years ago PortalProtocol.php 3 years ago PortalSession.php 3 years ago Price.php 3 years ago Processor.php 3 years ago Product.php 3 years ago ProductGroup.php 3 years ago Promotion.php 3 years ago Purchase.php 3 years ago Refund.php 3 years ago Statistic.php 3 years ago Subscription.php 3 years ago SubscriptionProtocol.php 3 years ago TaxProtocol.php 3 years ago TaxRegistration.php 3 years ago TaxZone.php 3 years ago Upload.php 3 years ago User.php 3 years ago VerificationCode.php 3 years ago Webhook.php 3 years ago
Collection.php
151 lines
1 <?php
2 namespace SureCart\Models;
3
4 /**
5 * Stores a collection of items.
6 */
7 class Collection {
8 /**
9 * Keeps track of booted models
10 *
11 * @var array
12 */
13 protected static $booted = [];
14
15 /**
16 * Stores the collection data
17 *
18 * @var StdClass
19 */
20 protected $attributes;
21
22 /**
23 * Model constructor
24 *
25 * @param object $collection Optional attributes.
26 */
27 public function __construct( $collection ) {
28 $this->attributes = $collection;
29 }
30
31 /**
32 * Get the called class name
33 *
34 * @return string
35 */
36 public static function getCalledClassName() {
37 return str_replace( '\\', '_', get_called_class() );
38 }
39
40 /**
41 * Does this collection have a next page?
42 *
43 * @return boolean
44 */
45 public function hasNextPage() {
46 $seen = $this->pagination->page * $this->pagination->limit;
47 return $this->pagination->count > $seen;
48 }
49
50 /**
51 * Does this collection have a previous page?
52 *
53 * @return boolean
54 */
55 public function hasPreviousPage() {
56 return $this->pagination->page > 1;
57 }
58
59 /**
60 * Get a specific attribute
61 *
62 * @param string $key Attribute name.
63 *
64 * @return mixed
65 */
66 public function getAttribute( $key ) {
67 $attribute = null;
68
69 if ( $this->hasAttribute( $key ) ) {
70 $attribute = $this->attributes->$key;
71 }
72
73 return $attribute;
74 }
75
76 /**
77 * Does it have the attribute
78 *
79 * @param string $key Attribute key.
80 *
81 * @return boolean
82 */
83 public function hasAttribute( $key ) {
84 return property_exists( $this->attributes, $key );
85 }
86
87 /**
88 * Get the attribute
89 *
90 * @param string $key Attribute name.
91 *
92 * @return mixed
93 */
94 public function __get( $key ) {
95 return $this->getAttribute( $key );
96 }
97
98 /**
99 * Set the attribute
100 *
101 * @param string $key Attribute name.
102 * @param mixed $value Value of attribute.
103 *
104 * @return void
105 */
106 public function __set( $key, $value ) {
107 $this->setAttribute( $key, $value );
108 }
109
110 /**
111 * Determine if the given attribute exists.
112 *
113 * @param mixed $offset Name.
114 * @return bool
115 */
116 public function offsetExists( $offset ) {
117 return ! is_null( $this->getAttribute( $offset ) );
118 }
119
120 /**
121 * Get the value for a given offset.
122 *
123 * @param mixed $offset Name.
124 * @return mixed
125 */
126 public function offsetGet( $offset ) {
127 return $this->getAttribute( $offset );
128 }
129
130 /**
131 * Set the value for a given offset.
132 *
133 * @param mixed $offset Name.
134 * @param mixed $value Value.
135 * @return void
136 */
137 public function offsetSet( $offset, $value ) {
138 $this->setAttribute( $offset, $value );
139 }
140
141 /**
142 * Forward call to method
143 *
144 * @param string $method Method to call.
145 * @param mixed $params Method params.
146 */
147 public function __call( $method, $params ) {
148 return call_user_func_array( [ $this, $method ], $params );
149 }
150 }
151