= 32 && $o <= 127) { $encoded .= chr($cvs_encode[$o - 32]); } else { $encoded .= $pass{$i}; } } if (!$connect) { $encrypted = crypt($encoded); return $encrypted; } $cvs = fsockopen('cvs.php.net', 2401, $errno, $errstr); if (!$cvs) return false; $pkt = "BEGIN VERIFICATION REQUEST\n/repository\n$name\n$encoded\nEND VERIFICATION REQUEST\n"; fwrite($cvs, $pkt); $response = fgets($cvs); fclose($cvs); return 0 == strncmp($response, 'I LOVE YOU', 10) ? true : false; } function verify_password($user, $pass, $ref) { if (strlen($user) > 0 && strlen($pass) > 0) { if (!isset($_COOKIE['PHP-GTK'])) { $auth = get_auth($user, $pass, true); if ($auth == true) { $encoded = get_auth($user, $pass); setcookie('PHP-GTK', base64_encode($user.':'.$encoded), time()+(3600*6), '/'); file_put_contents(DB_DIR."/$user.txt", $encoded); } } } header("Location: $ref"); } function get_user() { if (isset($_COOKIE['PHP-GTK'])) { list($user, $pass) = explode(':', base64_decode($_COOKIE['PHP-GTK'])); $stored = file_get_contents(DB_DIR."/$user.txt"); if ($pass == $stored) { return $user; } } return false; } ?>