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