die; } // extend/upgrade user $user = UserPeer::loadUserById($userId); $newExpiryDate = strtotime('+' . $order->days . ' days'); if ($user->level == 'paid user' || $user->level == 'admin') { // add onto existing period $existingExpiryDate = strtotime($user->paidExpiryDate); // if less than today just revert to now if ($existingExpiryDate < time()) { $existingExpiryDate = time(); } $newExpiryDate = (int) $existingExpiryDate + (int) ($order->days * (60 * 60 * 24)); } $newUserType = 'paid user'; if ($user->level == 'admin') { $newUserType = 'admin'; } // update order status to paid $dbUpdate = new DBObject("users", array("level", "lastPayment", "paidExpiryDate"), 'id'); $dbUpdate->level = $newUserType; $dbUpdate->lastPayment = date("Y-m-d H:i:s", time()); $dbUpdate->paidExpiryDate = date("Y-m-d H:i:s", $newExpiryDate); $dbUpdate->id = $userId; $effectedRows = $dbUpdate->update(); if ($effectedRows === false) { // failed to update user die; } } }