diff --git a/README.MD b/README.MD index 98771a8..d9a7d7a 100644 --- a/README.MD +++ b/README.MD @@ -55,5 +55,124 @@ $store->set('age', 25); // Integer value ?> +``` +* Using the points system and subscriptions with the package: +``` +get($user); + echo $person; + $person=json_decode($person, true); + + if ($person !== null) { + $earlier = new DateTime("now"); + $later = new DateTime($person['subscription_date']); + $abs_diff = $later->diff($earlier)->format("%a"); + + if ($person['points'] < 1) { + $store->delete("points_$user"); + return [0, 0]; + } elseif ($abs_diff < 1) { + $store->delete($user); + return [0, 0]; + } else { + return [$person['points'], $abs_diff + 1]; + } + } else { + return [0, 0]; + } +} + +function del2point2days($user) { + global $store; + + $person = $store->get($user); + $person=json_decode($person, true); + if ($person !== null) { + $apoints = $person['points'] - 1; + $person['points'] = $apoints; + + $earlier = new DateTime("now"); + $later = new DateTime($person['subscription_date']); + $abs_diff = $later->diff($earlier)->format("%a"); + + $store->set($user, $person); + + return [$apoints, $abs_diff + 1]; + } + + return [0, 0]; +} + +function add2point2days($user, $points, $days ,$name) { + global $store; + + $person = $store->get($user); + $person=json_decode($person, true); + + $earlier = new DateTime("now"); + $later = new DateTime(); + $abs_diff = 0; + $subscription_count=1; + if ($person !== null) { + $later = new DateTime($person['subscription_date']); + $abs_diff = $later->diff($earlier)->format("%a"); + $subscription_count=$person['subscription_count'] + 1; + }; + + $adays = $days + $abs_diff + 1; + $apoints = $points; + if ($person !== null) { + $apoints += $person['points']; + } + + $dt = date("Y-m-d"); + $subscription_date = date("Y-m-d", strtotime("$dt +$adays day")); + + $person = [ + 'id' => $user, + 'points' => $apoints, + 'days_remaining' => $adays, + 'subscription_date' => $subscription_date, + 'name' => $name, + 'subscription_count' => $subscription_count, + 'last_subscription' => $dt + ]; + + $store->set($user, $person); + + return [$apoints, $adays]; +} + + + + +$user=123; + +//echo get2point2days($user) ; +//[0,0] , +// {"id":123,"points":9,"days_remaining":18,"subscription_date":"2023-06-13","name":"Ali","subscription_count":2,"last_subscription":"2023-05-26"} + +//del2point2days($user); + +//{"id":123,"points":8,"days_remaining":18,"subscription_date":"2023-06-13","name":"Ali","subscription_count":2,"last_subscription":"2023-05-26"} + + +//add2point2days($user,2, 5 ,"Ali"); +//{"id":123,"points":11,"days_remaining":23,"subscription_date":"2023-06-18","name":"Ali","subscription_count":3,"last_subscription":"2023-05-26"} + + + +?> ```