index.php 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. $error = null;
  3. $uri = strtok($_SERVER['REQUEST_URI'], '?');
  4. $parts = explode('/', $uri);
  5. $code = array_pop($parts);
  6. date_default_timezone_set("America/Sao_Paulo");
  7. include("static.php");
  8. include_once("lib/recaptchalib.php");
  9. if ($code) {
  10. include_once("lib/Thrash.class.php");
  11. if ($thrash = Thrash::get_by_code($code)) {
  12. $title = "<strong>$site</strong> | {$thrash->title}";
  13. } else {
  14. die('codigo invalido');
  15. }
  16. } else {
  17. $test = strpos($_SERVER['HTTP_HOST'], 'localhost') === 0;
  18. if (isset($_POST['url']) && ($test || isset($_POST["recaptcha_response_field"]))) {
  19. if (!$test) $resp = recaptcha_check_answer ($privatekey,
  20. $_SERVER["REMOTE_ADDR"],
  21. @$_POST["recaptcha_challenge_field"],
  22. @$_POST["recaptcha_response_field"]);
  23. if ($test || $resp->is_valid) {
  24. include_once("lib/Thrash.class.php");
  25. $thrash = Thrash::create($_POST['url'], $_POST['title']);
  26. $redirect_url = $thrash->get_url();
  27. if ($thrash->blocked_domain) $redirect_url .= "?created=1";
  28. header("Location: ".$redirect_url);
  29. die();
  30. } else {
  31. $error = $resp->error;
  32. }
  33. }
  34. }
  35. ?>
  36. <!DOCTYPE html>
  37. <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
  38. <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
  39. <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
  40. <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
  41. <head>
  42. <meta charset="utf-8">
  43. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  44. <title><?php echo strip_tags($title); ?></title>
  45. <meta name="description" content="">
  46. <meta name="viewport" content="width=device-width, initial-scale=1">
  47. <link rel="stylesheet" href="css/normalize.min.css">
  48. <link rel="stylesheet" href="css/main.css">
  49. <!--[if lt IE 9]>
  50. <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  51. <script>window.html5 || document.write('<script src="js/vendor/html5shiv.js"><\/script>')</script>
  52. <![endif]-->
  53. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  54. <script src="js/main.js"></script>
  55. </head>
  56. <body>
  57. <!--[if lt IE 7]>
  58. <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
  59. <![endif]-->
  60. <div class="header-container">
  61. <header class="wrapper clearfix">
  62. <h1 class="title"><?php echo $title; ?></h1>
  63. <nav>
  64. <ul>
  65. <li><a href="./">encurtar url</a></li>
  66. <li><a href="#reclameaqui" onclick="alert('¯\\_(ツ)_/¯');">reclamações</a></li>
  67. </ul>
  68. </nav>
  69. </header>
  70. </div>
  71. <?php
  72. if (isset($thrash) && $thrash && $thrash->blocked_domain == 1) {
  73. $url = "http://webcache.googleusercontent.com/search?q=cache:".$thrash->original_url;
  74. if (isset($_REQUEST['created'])) {
  75. include("inc/share.php");
  76. ?>
  77. <p>A URL que voc&ecirc; encurtou est&aacute; num dom&iacute;nio que bloqueia o <?php echo $site; ?>. Esta url funcionar&aacute; como um redirecionamento para o cache do google.</p>
  78. <p><a href="<?php echo $url; ?>">Exemplo do redirecionamento</a>.</p>
  79. <?php
  80. } else {
  81. header("Location: $url");
  82. die();
  83. }
  84. } else if (isset($thrash) && $thrash) {
  85. $imgs = $thrash->get_image_path();
  86. ?>
  87. <p>URL original: <?php echo "<script>document.write(decode_base64('" . base64_encode("<a href=\"{$thrash->original_url}\">{$thrash->original_url}</a>") . "'));</script>"; ?> - Capturada em: <?php echo date("d/m/Y H\hi", strtotime($thrash->date_created)); ?></p>
  88. <meta property="og:image" content="<?php echo $imgs[0]; ?>"/>
  89. <meta property="og:title" content="<?php echo $title; ?>"/>
  90. <?php
  91. include("inc/share.php");
  92. foreach ($imgs as $img) {
  93. echo "<img src=\"${img}\" /><br/>";
  94. }
  95. } else {
  96. ?>
  97. <div id="mask"></div>
  98. <div class="main-container">
  99. <div class="main wrapper clearfix">
  100. <article>
  101. <h1>Encurtar url</h1>
  102. <p>
  103. <form accept-charset=\"UTF-8\" method="post" class="<?php if (isset($_POST['url']) && isset($_POST['title'])): ?>scriptlet ready<?php endif; ?>">
  104. <input type="submit" value="<?php if (isset($_POST['url']) && isset($_POST['title'])): ?>gerar<?php else: ?>prosseguir<?php endif; ?>" />
  105. <fieldset>Endereço: <input type="text" name="url" value="<?php echo @$_REQUEST['url']; ?>" /></fieldset>
  106. <?php if (@$_GET['error'] == 'load') : ?><span class="error">Não foi possível carregar a página. Por favor, confira o endereço e tente novamente.</span><?php endif; ?>
  107. <fieldset class="title <?php if (isset($_POST['title'])): ?>filled<?php endif; ?>"><label>Título:</label><textarea name="title"><?php echo @$_POST['title']; ?></textarea></fieldset>
  108. <fieldset class="captcha <?php if ($error): ?>error<?php endif; ?>">
  109. <label>Erro no captcha. Tente novamente:</label><!-- <?php echo $error; ?> -->
  110. <?php
  111. if (!$test) echo recaptcha_get_html($publickey, $error);
  112. ?>
  113. </fieldset>
  114. </form>
  115. </p>
  116. </article>
  117. <aside>
  118. <h3>O que é?</h3>
  119. <p>O <?php echo $site; ?> é um serviço de compartilhamento/encurtamento de URLs com propósito de denúncia/comentário crítico. Em vez da página original, a URL encurtada direciona para uma cópia (em imagem) do conteúdo, de modo que não se aumentará o tráfego ou o <em>pagerank</em> da página em questão. Além disso, a cópia ficará disponível mesmo que a página original seja tirada do ar.</p>
  120. <p><strong>IMPORTANTE</strong><br/>
  121. NÃO compartilhe conteúdo ilegal e criminoso, tais como pedofilia ou exposição vexatória de pessoas, por este serviço. O conteúdo será retirado do ar e seu acesso ao serviço barrado. Eventualmente forneceremos seu IP a autoridades competentes.
  122. Há outras formas de denunciar e é criminosa (além de contraproducente) a reprodução desses conteúdos. Use, por exemplo: <a href="http://www.dpf.gov.br/servicos/fale-conosco/denuncias">http://www.dpf.gov.br/servicos/fale-conosco/denuncias</a>
  123. <p>
  124. Tampouco use o <?php echo $site; ?> como um encurtador comum: fazer cópia do conteúdo implica em custos de servidor, e um crescimento da demanda tornaria inviável o serviço, que jamais terá fins lucrativos. Por favor, use apenas para denúncia e compartilhamento de conteúdo desprezível.
  125. </p>
  126. </p>
  127. </aside>
  128. </div> <!-- #main -->
  129. </div> <!-- #main-container -->
  130. <?php
  131. }
  132. ?>
  133. <div class="footer-container">
  134. <footer class="wrapper">
  135. <a href="https://github.com/naofode/naofo.de">código fonte</a>
  136. &nbsp;&nbsp;-&nbsp;&nbsp;
  137. <a title="botao <?php echo $site; ?>" href='javascript:var d=document,b=d.body,div=d.createElement("div");div.innerHTML="<form accept-charset=\"UTF-8\" action=\"http://<?php echo $site; ?>\" method=\"post\" target=\"_blank\"><input name=\"url\"><input name=\"title\"></form>";div.style.display="none";b.appendChild(div);var f=div.children[0];f["url"].value=window.location.href;f["title"].value=d.title;f.submit();' onclick="return false;">botão <?php echo $site; ?></a> (arraste para sua barra de favoritos e clique quando estiver na página que deseja encurtar)
  138. </footer>
  139. </div>
  140. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  141. <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.11.0.min.js"><\/script>')</script>
  142. <script src="js/plugins.js"></script>
  143. <script src="js/main.js"></script>
  144. <script>
  145. (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
  146. function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
  147. e=o.createElement(i);r=o.getElementsByTagName(i)[0];
  148. e.src='//www.google-analytics.com/analytics.js';
  149. r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
  150. ga('create', 'UA-50387468-1', 'naofo.de');ga('send','pageview');
  151. </script>
  152. </body>
  153. </html>