3 require_once( dirname(__FILE__).'/includes/config.php' );
\r
5 // Connect To Database
\r
6 $db = yourls_db_connect();
\r
9 $keyword = yourls_sanitize_string($_GET['id']);
\r
11 // First possible exit:
\r
13 header ('Location: '. YOURLS_SITE);
\r
17 $id = yourls_sanitize_int( yourls_string2int($keyword) );
\r
19 // Get URL From Database
\r
20 $table = YOURLS_DB_TABLE_URL;
\r
21 $url = stripslashes($db->get_var("SELECT `url` FROM `$table` WHERE id = $id"));
\r
23 $protocol = $_SERVER["SERVER_PROTOCOL"];
\r
24 if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol )
\r
25 $protocol = 'HTTP/1.0';
\r
29 $update_clicks = $db->query("UPDATE `$table` SET `clicks` = clicks + 1 WHERE `id` = $id");
\r
30 header ($protocol.' 301 Moved Permanently');
\r
31 header ('Location: '. $url);
\r
33 // URL not found. Either reserved, or page, or doesn't exist
\r
36 // Do we have a page?
\r
37 if (file_exists(dirname(__FILE__)."/pages/$keyword.php")) {
\r
38 yourls_page($keyword);
\r
40 // Either reserved id, or no such id
\r
42 header ($protocol.' 307 Temporary Redirect'); // no 404 to tell browser this might change, and also to not pollute logs
\r
43 header ('Location: '. YOURLS_SITE);
\r