function show404($shorturl) { yourls_status_header(404); yourls_html_head('page404', 'This page does not exist'); yourls_html_logo(); ?> <div class="main-column"> <div class="panel panel-teaser"> <div class="panel-header"> <h1>Page Not Found</h1> </div> <div class="panel-body"> <p>Leider konnten wir keine Adresse unter dem Kürzel <strong><?php echo $shorturl; ?> </strong> finden. Das bedeutet, dass diese Kurz-URL nicht existiert. </div> </div> </div> <div class="sidebar-column"> <div class="panel panel-sidebar"> <h2>Über den Kurz-URL-Dienst</h2> <div class="panel-body"> <span class="caret"></span> <p>Auf der Website <?php echo $_SERVER['SERVER_NAME']; ?> lassen sich Kurzlinks zu Ressourcen der <a href="http://www.uni-frankfurt.de/">Goethe-Universität Frankfurt</a> erstellen. <a href="/">Zur Startseite</a> </div> </div> </div> <?php yourls_html_footer(); }
function yourls_die($message = '', $title = '', $header_code = 200) { yourls_status_header($header_code); yourls_html_head(); yourls_html_logo(); echo "<h2>{$title}</h2>"; echo "<p>{$message}</p>"; yourls_html_footer(); die; }
/** * Die die die * */ function yourls_die($message = '', $title = '', $header_code = 200) { yourls_do_action('pre_yourls_die', $message, $title, $header_code); yourls_status_header($header_code); if (!yourls_did_action('html_head')) { yourls_html_head(); yourls_html_logo(); } echo yourls_apply_filter('die_title', "<h2>{$title}</h2>"); echo yourls_apply_filter('die_message', "<p>{$message}</p>"); // Hook into 'yourls_die' to add more elements or messages to that page yourls_do_action('yourls_die'); if (!yourls_did_action('html_footer')) { yourls_html_footer(); } die; }
/** * Return API result. Dies after this * */ function yourls_api_output($mode, $return) { if (isset($return['simple'])) { $simple = $return['simple']; unset($return['simple']); } yourls_do_action('pre_api_output', $mode, $return); if (isset($return['statusCode'])) { $code = $return['statusCode']; } elseif (isset($return['errorCode'])) { $code = $return['errorCode']; } else { $code = 200; } yourls_status_header($code); switch ($mode) { case 'jsonp': yourls_content_type_header('application/javascript'); echo $return['callback'] . '(' . json_encode($return) . ')'; break; case 'json': yourls_content_type_header('application/json'); echo json_encode($return); break; case 'xml': yourls_content_type_header('application/xml'); echo yourls_xml_encode($return); break; case 'simple': default: yourls_content_type_header('text/plain'); if (isset($simple)) { echo $simple; } break; } yourls_do_action('api_output', $mode, $return); die; }
/** * Redirect to another page * */ function yourls_redirect($location, $code = 301) { yourls_do_action('pre_redirect', $location, $code); $location = yourls_apply_filter('redirect_location', $location, $code); $code = yourls_apply_filter('redirect_code', $code, $location); // Redirect, either properly if possible, or via Javascript otherwise if (!headers_sent()) { yourls_status_header($code); header("Location: {$location}"); } else { yourls_redirect_javascript($location); } die; }
function yourls_die($message = '', $title = '', $header_code = 200) { yourls_status_header($header_code); yourls_html_head(); yourls_html_logo(); echo yourls_apply_filter('die_title', "<h2>{$title}</h2>"); echo yourls_apply_filter('die_message', "<p>{$message}</p>"); yourls_do_action('yourls_die'); yourls_html_footer(); die; }
/** * Output and return API result * * This function will echo (or only return if asked) an array as JSON, JSONP or XML. If the array has a * 'simple' key, it can also output that key as unformatted text if expected output mode is 'simple' * * Most likely, script should not do anything after outputting this * * @since 1.6 * * @param string $mode Expected output mode ('json', 'jsonp', 'xml', 'simple') * @param array $output Array of things to output * @param bool $send_headers Optional, default true: Whether a headers (status, content type) should be sent or not * @param bool $echo Optional, default true: Whether the output should be outputted or just returned * @return string API output, as an XML / JSON / JSONP / raw text string */ function yourls_api_output($mode, $output, $send_headers = true, $echo = true) { if (isset($output['simple'])) { $simple = $output['simple']; unset($output['simple']); } yourls_do_action('pre_api_output', $mode, $output, $send_headers, $echo); if ($send_headers) { if (isset($output['statusCode'])) { $code = $output['statusCode']; } elseif (isset($output['errorCode'])) { $code = $output['errorCode']; } else { $code = 200; } yourls_status_header($code); } $result = ''; switch ($mode) { case 'jsonp': if ($send_headers) { yourls_content_type_header('application/javascript'); } $callback = isset($output['callback']) ? $output['callback'] : ''; $result = $callback . '(' . json_encode($output) . ')'; break; case 'json': if ($send_headers) { yourls_content_type_header('application/json'); } $result = json_encode($output); break; case 'xml': if ($send_headers) { yourls_content_type_header('application/xml'); } $result = yourls_xml_encode($output); break; case 'simple': default: if ($send_headers) { yourls_content_type_header('text/plain'); } $result = isset($simple) ? $simple : ''; break; } if ($echo) { echo $result; } yourls_do_action('api_output', $mode, $output, $send_headers, $echo); return $result; }
function yourls_redirect($location, $code = 301) { // Redirect, either properly if possible, or via Javascript otherwise if (!headers_sent()) { yourls_status_header($code); header("Location: {$location}"); } else { yourls_redirect_javascript($location); } die; }