PHP kısmında lazım olursa şuraya ufak bir not bırakayım belki lazım olur.


$expire_date = "12-12-2012 12:12:12";
$expire = new DateTime($expire_date);
$currdate = new DateTime(date("d-m-Y H:i:s", time()));
$interval = $expire->diff($currdate);
print_r($interval);


$intervalin döndürdüğü nesneyip parçalayıp gerekeni kullanırsın ancak invert diye bir değer var. Diff fonksiyonu değer döndürürken kalan gün mü geçen gün mü ikilemine girmemek için dikkat edilmeli.

invert 1 ise gelecekteki bir tarih ile şimdiki tarihi kıyasladım, 0 ise dönen yıl, ay, gün, saat, dk yani tüm değerler geçmişte kalmış, geçmiş gitmiş anlamına gelir.

Şu şekilde geçmiş miş geçmemiş mi bakıyorum.

foreach($interval as $key => $value){
if ($key == "invert"){
// for past time conditions
if (!$value){
tokenRenew($token, $expire_date, $last_ip);
} else if ($value){
// for IP change condinations
if ($last_ip != $this->getIP()){
tokenRenew($token, $expire_date, $last_ip);
}
// may added machine id etc
}
break;
}
}


Amaca uygun olarak örneğe benzer bir şeyler yapılabilir. Kodu nereden aldığımı hatırlamıyorum ama bu tip çözümler bolca var (bakınız).