You should know the Codeigniter framework and the Freakauth authentification library: [login to view URL] -
BASICALLY I NEED THE FUNCTIONALITY THAT THE USERLEVEL JUMPS TO ANOTHER USERLEVEL AFTER SOME TIME (xxx days...)
THAT MEANS:
*) a function that writes into a user membership table
$this->membership_lib->new_user($userid,$duration,$userlevel_now,$userlevel_after)
you write in a table: user xxx is member from date xxx for xxx days - and he has now userlevel xxx - dates/time is in unix timestamp. like this...
*) a function that fills this info into the session variables (timestamps) - paid membership begin/end/remaining
*) a user library function that takes this session timestamps and translates them into CI date so I can use
echo "You paid until ".$this->user->membership_end." - thats ".$this->user->membership_remaining.
A LITTLE MORE DETAILED EXPLANATION:
I have 2 applications:
*) Freakauth + paypal lib (already installed)
-- here i want call after receiving successfully the payment your library/model with:
$this->membership_lib->new_user($userid,$duration,$userlevel_now,$userlevel_after)
you write in a table: user xxx is member from date xxx for xxx days - and he has now userlevel xxx - dates/time is in unix timestamp. like this...
-- you know, after each login the freakauth fills the session variables with 'id' 'userlevel' 'logged_in'
now you are setting additional variables: 'membership_begin' 'membership_end' as timestamp.
*) my main application don´t uses Freakauth (would be to slow) - it just checks session variables ('logged_in', 'userlevel'...
here I check in a hook or controller constructor if user is logged_in or the right userlevel...
I already have a small autoloaded library named 'user', that uses the session variables so I can use $this->user->name to get the current user - I need some additional infos from the session variables, like end of membership, days remaining... (conversion to CI date...) so I can tell the user, hey your paid membership ends in 8 days, 7 hours - at the xxx may 2008...
this will be all just a few lines of code (so this is a very small project), I could do this by myself, but the time functions are not my friends... ;-) I will pay you by paypal