@@ -22,11 +22,11 @@ class Subscription
22
22
public function summary ($ data = [])
23
23
{
24
24
25
- $ start = new \DateTime ('now - 1 year ' );
26
- $ end = new \DateTime ();
25
+ $ start = new \DateTime ('now - 1 year ' );
26
+ $ end = new \DateTime ();
27
27
28
- $ interval = new \DateInterval ('P1M ' );
29
- $ period = new \DatePeriod ($ start , $ interval , $ end );
28
+ $ interval = new \DateInterval ('P1M ' );
29
+ $ period = new \DatePeriod ($ start , $ interval , $ end );
30
30
31
31
$ start_date = $ start ->modify ('first day of this month ' )->format ('Y-m-d 00:00:00 ' );
32
32
$ end_date = $ end ->modify ('last day of this month ' )->format ('Y-m-d 23.59.59 ' );
@@ -93,15 +93,15 @@ public function processData($data = [])
93
93
94
94
public function getSubscriber ($ data )
95
95
{
96
-
96
+
97
97
if (isset ($ data ['username ' ]) && $ data ['username ' ] != '' ) {
98
98
$ subscriber = Subscriber::where (['username ' => $ data ['username ' ]])->first ();
99
99
if ($ subscriber ) {
100
100
return $ subscriber ;
101
101
}
102
102
} else if (isset ($ data ['mac ' ]) && $ data ['mac ' ] != '' ) {
103
103
$ mac_address = MacAddress::where (['mac ' => $ data ['mac ' ]])->first ();
104
-
104
+
105
105
if ($ mac_address ) {
106
106
$ subscriber = Subscriber::where (['id ' => $ mac_address ->subscriber_id ])->first ();
107
107
if ($ subscriber ) {
@@ -114,7 +114,7 @@ public function getSubscriber($data)
114
114
115
115
}
116
116
117
- public function saveSubcriber ($ data )
117
+ public function saveSubcriber ($ request , $ data )
118
118
{
119
119
if (isset ($ data ['subscriber_id ' ]) && isset ($ data ['package_id ' ]) && $ data ['subscriber_id ' ] && $ data ['package_id ' ]) {
120
120
return $ this ->buyPackage ($ data ['package_id ' ], $ data ['subscriber_id ' ]);
@@ -132,17 +132,14 @@ public function saveSubcriber($data)
132
132
$ data ['subscriber_id ' ] = $ subscriber ->id ;
133
133
$ data ['partner_id ' ] = $ subscriber ->partner_id ;
134
134
}
135
-
136
-
135
+
137
136
if (!isset ($ data ['partner_id ' ])) {
138
137
$ partner = $ this ->addPartner ($ data );
139
- print_r ($ partner ); exit ;
140
138
$ data ['partner_id ' ] = $ partner ->id ;
141
139
}
142
140
143
141
$ item_subscriber = Subscriber::where (['partner_id ' => $ data ['partner_id ' ]])->first ();
144
-
145
- print_r ($ item_subscriber ); exit ;
142
+
146
143
if (!$ item_subscriber ) {
147
144
$ item_subscriber = Subscriber::updateOrCreate ([
148
145
'username ' => $ username ,
@@ -160,18 +157,17 @@ public function saveSubcriber($data)
160
157
}
161
158
162
159
$ mac_address = MacAddress::where (['subscriber_id ' => $ item_subscriber ->id ])->first ();
163
-
164
-
160
+
165
161
if (!$ mac_address ) {
166
162
$ mac_address = MacAddress::updateOrCreate ([
167
163
'subscriber_id ' => $ item_subscriber ->id ,
168
164
'mac ' => $ data ['mac ' ],
169
165
]);
170
166
}
171
-
167
+
172
168
$ invoice = $ this ->buyPackage ($ data ['package_id ' ], $ item_subscriber ->id );
173
169
174
- $ data ['invoice_id ' ] =$ invoice ->id ;
170
+ $ data ['invoice_id ' ] = $ invoice ->id ;
175
171
176
172
$ request ->session ()->put ('subscription_data ' , $ data );
177
173
@@ -272,7 +268,7 @@ public function addSubscription($package_id, $subscriber_id)
272
268
$ date = ($ package ->duration ) ? $ date ->addYears ($ package ->duration ) : $ date ->addYear ();
273
269
break ;
274
270
default :
275
- throw new \Exception ("Package [ $ package ->title ] does not have correct Duration setting " , 1 );
271
+ throw new \Exception ("Package [ $ package ->title ] does not have correct Duration setting " , 1 );
276
272
break ;
277
273
}
278
274
@@ -297,11 +293,28 @@ public function addPartner($data)
297
293
{
298
294
$ partner_cls = new PartnerCls ();
299
295
300
- $ partner = Partner::where ('email ' , $ data ['email ' ] ?? '' )
301
- ->orWhere ('phone ' , $ data ['phone ' ] ?? '' )->first ();
296
+ $ partner_qry = Partner::query ();
297
+
298
+ $ email = $ data ['email ' ] ?? '' ;
299
+ $ phone = $ data ['phone ' ] ?? '' ;
300
+
301
+ if ($ email != '' && $ phone == '' ) {
302
+ $ partner_qry ->orWhere ('email ' , $ data ['email ' ]);
303
+ } elseif ($ email == '' && $ phone != '' ) {
304
+ $ partner_qry ->orWhere ('phone ' , $ data ['phone ' ]);
305
+ } elseif ($ email != '' && $ phone != '' ) {
306
+ $ partner_qry ->orWhere ('email ' , $ data ['email ' ]);
307
+ $ partner_qry ->orWhere ('phone ' , $ data ['phone ' ]);
308
+ } else {
309
+ $ partner_qry ->where ('id ' , null );
310
+ }
311
+
312
+ $ partner = $ partner_qry ->first ();
313
+
302
314
303
315
if (!$ partner ) {
304
316
$ partner = $ partner_cls ->createPartner ([
317
+ 'first_name ' => $ data ['username ' ] ?? '' ,
305
318
'email ' => $ data ['email ' ] ?? '' ,
306
319
'phone ' => $ data ['phone ' ] ?? '' ,
307
320
'slugs ' => [$ data ['username ' ] ?? '' ],
0 commit comments