Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,124 @@ $store->set('age', 25); // Integer value


?>
```
* Using the points system and subscriptions with the package:
```
<?php
// Examples by chatGPT with Ali

require_once 'base.php'; // import module class

$store = new KeyValueStore('my_database.sqlite'); // add db filename

date_default_timezone_set("Asia/Baghdad");

function get2point2days($user) {
global $store;

$person = $store->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"}



?>
```