aboutsummaryrefslogtreecommitdiff
path: root/www/go.php
blob: 9d1a44f3c43d27ed1f0b3719900d79e9e703eb05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
/**
 * SemanticScuttle - your social bookmark manager.
 *
 * PHP version 5.
 *
 * @category Bookmarking
 * @package  SemanticScuttle
 * @author   Christian Weiske <cweiske@cweiske.de>
 * @license  GPL http://www.gnu.org/licenses/gpl.html
 * @link     http://sourceforge.net/projects/semanticscuttle
 */
require_once '../src/SemanticScuttle/header.php';

if (!$GLOBALS['shorturl']) {
    header('HTTP/1.0 500 Internal Server Error');
    header('Content-Type: text/plain');
    echo 'Short URL service deactivated';
    exit();
}

if (!isset($_SERVER['PATH_INFO'])) {
    header('HTTP/1.0 400 Bad Request');
    header('Content-Type: text/plain');
    echo 'Short URL name missing';
    exit();
}

list($url, $short) = explode('/', $_SERVER['PATH_INFO']);

$bs = SemanticScuttle_Service_Factory::get('Bookmark');
$bookmark = $bs->getBookmarkByShortname($short);
if ($bookmark === false) {
    header('HTTP/1.0 404 Not found');
    header('Content-Type: text/plain');
    echo 'No bookmark found with short name of: ' . $short;
    exit();
}

header('HTTP/1.0 302 Found');
header('Location: ' . $bookmark['bAddress']);
?>