<? Php /** * Php cookie * Class: PHP_COOKIE */ Class PHP_COOKIE { Var $ _ name = ""; Var $ _ val = array (); Var $ _ expires; Var $ _ dir = '/'; // all dirs Var $ _ site = ''; Function PHP_COOKIE ($ cname, $ cexpires = "", $ cdir = "/", $ csite = "") { $ This-> _ name = $ cname; If ($ cexpires ){ $ This-> _ expires = $ cexpires; } Else { $ This-> _ expires = time () + 60*60*24*30*12 ;//~ 12 months } $ This-> _ dir = $ cdir; $ This-> _ site = $ csite; $ This-> _ val = array (); $ This-> extract (); } Function extract ($ cname = "") { If (! Isset ($ _ COOKIE )){ Global $ _ COOKIE; $ _ COOKIE = $ GLOBALS ["HTTP_COOKIE_VARS"]; } If (empty ($ cname) & isset ($ this )){ $ Cname = $ this-> _ name; } If (! Empty ($ _ COOKIE [$ cname]) { If (get_magic_quotes_gpc ()){ $ _ COOKIE [$ cname] = stripslashes ($ _ COOKIE [$ cname]); } $ Arr = unserialize ($ _ COOKIE [$ cname]); If ($ arr! = False & is_array ($ arr )){ Foreach ($ arr as $ var => $ val ){ $ _ COOKIE [$ var] = $ val; If (isset ($ GLOBALS ["PHP_SELF"]) { $ GLOBALS [$ var] = $ val; } } } If (isset ($ this) $ this-> _ val = $ arr; } // Remove the cookie globally Unset ($ _ COOKIE [$ cname]); Unset ($ GLOBALS [$ cname]); } Function put ($ var, $ value) { $ _ COOKIE [$ var] = $ value; $ This-> _ val ["$ var"] = $ value; If (isset ($ GLOBALS ["PHP_SELF"]) { $ GLOBALS [$ var] = $ value; } If (empty ($ value )){ Unset ($ this-> _ val [$ var]); } } Function clear () { $ This-> _ val = array (); } Function set () { If (empty ($ this-> _ val )){ $ Cookie_val = ""; } Else { $ Cookie_val = serialize ($ this-> _ val ); } If (strlen ($ cookie_val)> 4*1024 ){ Trigger_error ("The cookie $ this-> _ name exceeds the specification for the maximum cookie size. Some data may be lost", E_USER_WARNING ); } Setcookie ("$ this-> _ name", $ cookie_val, $ this-> _ expires, $ this-> _ dir, $ this-> _ site ); } } ?> |