function urlHash($url) { $urlEncode = new UrlEncode(); $url = $urlEncode->returnUrl($url); $result = array(); global $HOST; if (!$url) { $result["error"] = "No input given"; } else { //Database stuff global $dbConnStr; //This comes from dbConfig.php $dbConnection = pg_connect($dbConnStr); //First try get the id $query = sprintf("SELECT id FROM urls WHERE url = '%s'", $url); //sprintf to reduce SQL injection attack $dbResult = pg_query($dbConnection, $query); $row = pg_fetch_assoc($dbResult); //The URL does not exist in the DB, so insert it if (!$row) { $query = sprintf("INSERT INTO urls(url) VALUES('%s') RETURNING id", $url); $dbResult = pg_query($dbConnection, $query); $row = pg_fetch_assoc($dbResult); } if ($row) { $shortenedUrl = $urlEncode->encodeToShortenedUrl($row["id"]); $result["hashedUrl"] = "http://{$HOST}/{$shortenedUrl}"; } else { $result["error"] = "Unspecified error: Please email barry.steyn@gmail.com with details"; } } return json_encode($result); }