Пример #1
0
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);
}