sobota 23. června 2012

Zatnaktel MicroBlogger - Shitnotes for free times [source]

Celý projekt funguje pomocí 9 souborů a jedné složce s datovými soubory. Vše funguje bez DB, protože jsem se ji ještě nenaučil. :D
Takže teď sem hodím náhledy scriptů. Upozorňuju předem, že to bylo psáno na koleni a tak je to strašná sračka, ale funguje.

index.php

<!DOCTYPE HTML>
<html>
<head>
<title>Microblogger</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" href="page.css">
</head>
<body>
<div id="menicqo"><a href="post.php">Odeslat novou</a></div>
<div id="layout">
<h2><span class="one">Zatnaktel</span> <span class="two">Micro</span><span class="three">Blogger</span></h2>
<div class="line"></div>
<?php
$cteni=file_get_contents("zmbdata.zmb");
if($cteni==""){echo"Doposud nebyly odeslány žádné příspěvky.<br><br><br><br>";}
else{
 include"zmbdata.zmb";} ?>
<div class="line"></div>
<?php include"pata.zmb"; ?>
</div>


</body>
</html>

Tohle je náhled souboru zmbpost.php, tato stránka slouží k odeslání celé zprávy na síť.


<?php
$zprava = $_POST["zprava"];
$heslo = $_POST["pass"];
$time = date("d.m.Y H:i", time())
?>
<?php
if($heslo=="MOJE_HESLO")
{
$cteniid=file_get_contents("id.zmb");
$upravaid=($cteniid+1);
$zapisid=fopen("id.zmb","w");
fwrite($zapisid, $upravaid);
fclose($zapisid);
$zprava=htmlspecialchars($zprava);
$zprava = str_replace("\n", "<br>", $zprava);
$zprava = str_replace("(link=", "<a href='", $zprava);
$zprava = str_replace("=link)", "' target='_blank'>", $zprava);
$zprava = str_replace("=(/link)", "</a>", $zprava);
$zprava = str_replace("(i)", "<i>", $zprava);
$zprava = str_replace("(/i)", "</i>", $zprava);
$zprava = str_replace("(textinfo=", "<u title='", $zprava);
$zprava = str_replace("=textinfo)", "'>", $zprava);
$zprava = str_replace("(/textinfo)", "</u>", $zprava);

$zaloha=file_get_contents("zmbdata.zmb");
$vytvarim = fopen("zmbdata.zmb","w");
fwrite($vytvarim, "<span class='id'><a href='http://zatnaktel.unas.cz/microblogger/zprava.php?id=".$upravaid."'>#".$upravaid."</a></span><div><h3>".$time."</h3><p>".$zprava."<div class='line'></div></div>");
fwrite($vytvarim, "\n\r");
fwrite($vytvarim, $zaloha);
$zprsoubor = fopen("zpr/".$upravaid.".zmb","w");
fwrite($zprsoubor, "<span class='id'><a href='http://zatnaktel.unas.cz/microblogger/zprava.php?id=".$upravaid."'>#".$upravaid."</a></span><div><h3>".$time."</h3><p>".$zprava."<div class='line'></div></div>");
fclose($zprsoubor);
$comlist=fopen("zpr/".$upravaid."-comment-list.zmb","w");
fwrite($comlist, "");
fclose($comlist);
$echo = "Zpráva odeslána...<meta http-equiv=\"refresh\" content=\"3;url=index.php\">";
}
else{$echo="<b style='color:#f00;'>Nastala chyba.</b><meta http-equiv=\"refresh\" content=\"3;url=javascript:history.go(-1)\">";}
 ?>

<!DOCTYPE HTML>
<html>
<head>
<title>[POST] - Microblogger</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" href="page.css">
</head>
<body>
<div id="layout">
<?php echo $echo; ?>
</div>


</body>
</html>

Je to opravdu zněť všech možných habaďůr.

Tohle je zdroj stránky zprava.php, která vypisuje zprávu s aktuálním ID.


<?php
$id=$_GET["id"];
?>
<!DOCTYPE HTML>
<html>
<head>
<title><?php echo $id; ?> - Microblogger</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" href="page.css">
</head>
<body>
<div id="menicqo" style="height: 100px;"><a href="index.php">Vrátit se na stream</a><br><br>
<?php
$tw=file_get_contents("./zpr/".$id.".zmb");
$tw=str_replace("#", "ZMB: Zpráva č. ", $tw);
$tw=str_replace("</span>", " - ", $tw);
$tw=str_replace("</h3>", " - ", $tw);
$tw=strip_tags($tw);
$tw=substr($tw,0,120);
$tw=htmlspecialchars($tw);
$tw=($tw."... http://zatnaktel.unas.cz/microblogger/zprava.php?id=".$id);

echo'<a href="https://twitter.com/intent/tweet?text='.$tw.'">Sdílet na twitter</a>';?>
</div>
<div id="layout">
<h2><span class="one">Zatnaktel</span> <span class="two">Micro</span><span class="three">Blogger</span></h2>
<div class="line"></div>
<?php
if(file_exists("./zpr/".$id.".zmb")){include"./zpr/".$id.".zmb";echo"<br><br><br><h2>Komentáře</h2>";if(file_get_contents("./zpr/".$id."-comment-list.zmb")==""){echo"Buď první, kdo okomentuje tento přípěvek!<br>";}else{include"./zpr/".$id."-comment-list.zmb";}echo"<br><br><br><br><h2>Vložit komentář</h2><br><form action='postcomment.php?id=".$id."' method='post'><input type='text' value='Jméno' name='jmeno'><br><textarea name='komentar'>Váš komentář</textarea><br>Nejlepší přítel člověka je ...<input type='text' name='antispam'> (vše malým písmem)<br><input type='submit' value='Odeslat'></form>"; }
else{echo"Zpráva s tímto ID neexistuje.";}
?>
<div class="line"></div>
<?php include"pata.zmb"; ?>
</div>


</body>
</html>


No a na konec sem ještě přidám CSS webu, ať vidíte, na čem to běhá,
page.css


body
{
padding: 10px 150px 20px 120px;
background-color: #fff;
}

div#layout
{
width: 100%;
min-height: 220px;
background-color: #F1F1F1;
border: 1px solid #aaa;
padding: 5px 10px 5px 10px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-moz-border-radius-bottomright: 4px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
color: 222;
font-family: arial;
font-size: 12px;
}

span.one
{color: #0B0;}

span.two
{color: #BC0;}

span.three
{color: #B20;}

h2
{
margin-bottom: -5px;
font-size: 22px;
text-align: center;
}

div.line
{
width: 100%;
border-bottom: 1px solid #222;
margin: 10px 0px 15px 0px;
}

textarea
{
width:100%;
background-color: #fff;
border: 1px solid #222;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-moz-border-radius-bottomright: 4px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
color: #333;
font-size: 14px;
font-family: arial;
height: 130px;
}

input
{
background-color: #fff;
border: 1px solid #222;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-moz-border-radius-bottomright: 4px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
color: #333;
font-size: 14px;
height: 20px;
font-family: arial;
}

div#menicqo
{
width: 80px;
height: 35px;
background-color: #F1F1F1;
border: 1px solid #aaa;
padding: 5px 10px 5px 10px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomleft: 4px;
-moz-border-radius-bottomright: 4px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright: 4px;
color: 222;
font-family: arial;
font-size: 12px;
position: absolute;
top: 18px;
left: 12px;
}

span.id
{
font-size: 35px;
font-family: courier;
color: CCC;
float:left;
margin: 2px 15px 25px 0px;
font-style: normal;
}


a
{
color: #333;
}

2 komentáře: