Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Esimerkki keskustelun lukemisesta / tallentamisesta julkiselta foorumilta.
- Syötä keskusteluketjun osoite, hae viestit ja tallenna vaikka PDF-tiedostoksi.
- */
- error_reporting(0);
- header("Content-Type: text/html; charset=utf-8");
- header("Cache-Control: no-cache");
- $offset = 60 * 60 * 24 * 1;
- $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
- header($ExpStr);
- if (session_status() == PHP_SESSION_NONE) { session_start(); }
- date_default_timezone_set("Europe/Helsinki");
- // Tarvittavat funktiot
- function test_input($data) {
- $data = trim($data);
- $data = stripslashes($data);
- $data = htmlspecialchars($data);
- return $data;
- }
- function get_string_between($string, $start, $end){
- $string = ' ' . $string;
- $ini = strpos($string, $start);
- if ($ini == 0) return '';
- $ini += strlen($start);
- $len = strpos($string, $end, $ini) - $ini;
- return substr($string, $ini, $len);
- }
- if ($_SERVER["REQUEST_METHOD"] == "POST") {
- if (session_status() != PHP_SESSION_NONE) {
- if (isset($_POST["mesta"]) && $_POST['kertatunnus'] == $_SESSION['kerta']) {
- $url = test_input($_POST["mesta"]);
- }
- } else {
- if (isset($_POST["mesta"])) {
- $url = test_input($_POST["mesta"]);
- }
- }
- }
- $kerta = mt_rand(1,10000);
- if (session_status() != PHP_SESSION_NONE) { $_SESSION['kerta'] = $kerta; }
- ?>
- <!DOCTYPE HTML>
- <html lang="fi">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>S U O M I 2 4</title>
- <meta name="apple-mobile-web-app-title" content="S U O M I 2 4" />
- <meta name="author" content="Anonymous" />
- <style>*{box-sizing:border-box}html{background-color:#F1F1F1;height:101%;font-size:large}body{margin:0;padding:0;width:100%;text-align:center}a{text-decoration:none}a:hover{text-decoration:none}#bos{display:inline-block;width:96%;margin:auto;text-align:center;background-image:linear-gradient(to right,#F1F1F1,#7CFC00,#F1F1F1);padding:10px}#coli{color:#FFF;float:right}#coli:hover{color:#FFF}#wrapper{width:98%}#wrapper>div{display:inline-block;width:96%;margin:auto;text-align:left}h3{margin-left:40px;text-align:left}input[type=submit]{font-size:16px;background-color:#7EC87E;color:#FFF;border-radius:5px;padding:2px 10px}input[type=submit]:hover{background-color:#449d44;border-color:#398439;cursor:pointer;box-shadow:0 12px 16px 0 rgba(0,0,0,.24),0 17px 50px 0 rgba(0,0,0,.19)}input[type=submit]:focus{outline:none}input[type=text]{width:450px;padding:5px}.box{border:solid 1px #00F;background-color:#00F;color:#FFF;padding:15px;font-size:larger;word-wrap:break-word}.boxi{border:dashed 1px #00F;border-left:solid 5px #00F;background-color:#FFF;color:#300;padding:15px;word-wrap:break-word}.boxi2{border:dashed 1px #00F;border-left:solid 25px #00F;background-color:#FFF;color:#300;padding:15px;word-wrap:break-word}.boxi3{border:dashed 1px #00F;border-left:solid 45px #00F;background-color:#FFF;color:#300;padding:15px;word-wrap:break-word}.boxi4{border:dashed 1px #00F;border-left:solid 65px #00F;background-color:#FFF;color:#300;padding:15px;word-wrap:break-word}.hakunappula{display:inline-block;text-decoration:none;font-weight:400;color:#FFF;background-color:#3369FF;text-align:center}.hakunappula:hover{background-color:#0034C2;cursor:pointer}.puna{color:#F00}@media print{.noPrint{display:none}}</style>
- </head><body>
- <div id="bos" class="noPrint">
- <form id="lmk<?php echo $kerta; ?>" method="post" autocomplete="off" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
- <input type="text" id="mesta" name="mesta" placeholder="https://keskustelu.suomi24.fi/" onfocus="this.placeholder=''" required="required" maxlength="100" value="" />
- <input type="hidden" value="<?php echo $kerta; ?>" name="kertatunnus" />
- <input type="submit" name="osoite" id="osoite" class="hakunappula" value="Hae osoitteesta" />
- </form></div>
- <?php
- if (isset($url)) {
- echo "<div id='wrapper'>";
- if(substr($url, 0, 29) != "https://keskustelu.suomi24.fi"){ echo "<p class='puna'>Haetaan vain suomi24 -sivuston keskusteluja!</p><p>esim. https://keskustelu.suomi24.fi/t/17691833/kehita-eteenpain</p>"; die(); }
- $data = file_get_contents($url);
- $start = '[{"@context":"http://schema.org","@type":"WebPage",';
- $end = ']}]';
- $parsed = '[{"@context":"http://schema.org","@type":"WebPage",';
- $parsed .= get_string_between($data, $start, $end);
- $parsed .= $end;
- // Korjataan oudoimmat plus-merkkien esiintymät aineistossa
- //if (substr_count($parsed,"+") > 100) { $parsed = str_replace("+"," ",$parsed); }
- $tulos = array();
- $tulos = json_decode($parsed, true);
- echo "<div class='box'><b><span id='ots'>".$url."</span></b><a id='coli' href='#' title='Kopioi url uudelleen hakukenttään' onclick='CopyToClipboard(\"ots\");return false;'>Kopioi url</a></div>";
- if (isset($tulos[3])) {
- echo "<h3>Aloittaja: ".$tulos[3]['author']['name']." ~ ".date("d.m.Y \k\l\o H:i:s",strtotime($tulos[3]['dateCreated']))."</h3>";
- echo "<div class='boxi'>".nl2br(stripslashes($tulos[3]['text']))."</div>";
- $x = 0;
- while (isset($tulos[3]['comment'][$x])) {
- echo "<h3>".$tulos[3]['comment'][$x]['author']['name']." ~ ".date("d.m.Y \k\l\o H:i:s",strtotime($tulos[3]['comment'][$x]['dateCreated']))."</h3>";
- echo "<div class='boxi'>".nl2br(stripslashes($tulos[3]['comment'][$x]['text']))."</div>";
- $xx = 0;
- while (isset($tulos[3]['comment'][$x]['comment'][$xx])) {
- echo "<h3>".$tulos[3]['comment'][$x]['comment'][$xx]['author']['name']." ~ ".date("d.m.Y \k\l\o H:i:s",strtotime($tulos[3]['comment'][$x]['comment'][$xx]['dateCreated']))."</h3>";
- echo "<div class='boxi2'>".nl2br(stripslashes($tulos[3]['comment'][$x]['comment'][$xx]['text']))."</div>";
- $xxx = 0;
- while (isset($tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx])) {
- echo "<h3>".$tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['author']['name']." ~ ".date("d.m.Y \k\l\o H:i:s",strtotime($tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['dateCreated']))."</h3>";
- echo "<div class='boxi3'>".nl2br(stripslashes($tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['text']))."</div>";
- $xxxx = 0;
- while (isset($tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['comment'][$xxxx])) {
- echo "<h3>".$tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['comment'][$xxxx]['author']['name']." ~ ".date("d.m.Y \k\l\o H:i:s",strtotime($tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['comment'][$xxxx]['dateCreated']))."</h3>";
- echo "<div class='boxi4'>".nl2br(stripslashes($tulos[3]['comment'][$x]['comment'][$xx]['comment'][$xxx]['comment'][$xxxx]['text']))."</div>";
- $xxxx++;
- }
- $xxx++;
- }
- $xx++;
- }
- $x++;
- }
- } else {
- echo "<div class='boxi'>Ei dataa saatavilla!</div>";
- }
- echo "<br /><br /></div>";
- }
- // Siivouspäivä
- if (isset($data)) { unset($data); }
- if (isset($end)) { unset($end); }
- if (isset($parsed)) { unset($parsed); }
- if (isset($start)) { unset($start); }
- if (isset($tulos)) { unset($tulos); }
- if (isset($url)) { unset($url); }
- if (isset($x)) { unset($x); }
- if (isset($xx)) { unset($xx); }
- if (isset($xxx)) { unset($xxx); }
- if (isset($xxxx)) { unset($xxxx); }
- ?>
- <script>function CopyToClipboard(id){var r=document.createRange();r.selectNode(document.getElementById(id));window.getSelection().removeAllRanges();window.getSelection().addRange(r);document.execCommand('copy');window.getSelection().removeAllRanges();document.getElementById("coli").style.visibility='hidden';var urli = document.getElementById("ots").innerText;document.getElementById("mesta").value=urli;}if(window.history.replaceState){window.history.replaceState(null, null, window.location.href);}</script>
- <noscript>HUOM! Selaimesi ei tue JavaScriptiä, joten sivusto ei toimi täysin suunnitellusti.</noscript>
- </body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement