summaryrefslogblamecommitdiff
path: root/blog/sbs_1/bloglista.php
blob: bb762b7741ea2be3f8a2d02a32188a2a9aeae989 (plain) (tree)









































































































































































































                                                                                                                                                                               
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="Friday 24 October 1997 09:30 GMT">
	<title>Chrisoft::Blog</title>
	<link rel=stylesheet href='../common.css' type='text/css'>
	<link rel=stylesheet href='extras.css' type='text/css'>
	<style type="text/css">
		div#button
		{
			display:table;
			position:fixed;
			top:50%;
			margin-top:-3.5em;
			width:4em;
			height:7em;
			text-align:center;
			font-weight:bold;
			background-color:rgba(255,204,255,0.5);
			color:#EE8899;
		}
		div#button:hover
		{
			background-color:rgba(255,220,255,0.7);
			color:#FF66CC;
		}
	</style>
	<script type="text/javascript">
		var titles=[],dates=[],links=[],elems=[],oldelems=[],xs=[],ys=[];
		var numPost=5;
		var startIdx=0;
		var dragging=null;
		var xp=0,yp=0,xe=0,ye=0;
		function chk(tx,ty)
		{
			for(var i=0;i<xs.length;++i)
			if(Math.hypot(tx-xs[i],ty-ys[i])<100)return 1;
			return 0;
		}
		function dragInit(e)
		{
			dragging=e;xe=xp-dragging.offsetLeft;ye=yp-dragging.offsetTop;
			e.style.transition="none";
		}
		function onMove(e)
		{
			xp=document.all?window.event.clientX:e.pageX;
			yp=document.all?window.event.clientY:e.pageY;
			if(dragging!==null)
			{
				dragging.style.left=(xp-xe)+'px';
				dragging.style.top=(yp-ye)+'px';
			}
		}
		function initTile(obj,inv)
		{
			var t=0;
			t=Math.random()*window.innerHeight;
			obj.style.top=t.toString()+'px';
			t=window.innerWidth+Math.random()*window.innerWidth*0.7+window.innerWidth*0.1;
			if(inv==1)t-=2*window.innerWidth;
			obj.style.left=t.toString()+'px';
			t=Math.random()*360;
			obj.style.transform='rotate('+t.toString()+'deg)';
		}
		function launchTileIn(obj)
		{
			var tx=0,ty=0;
			obj.style.transition="all 0.5s ease-out";
			do{
			tx=Math.random()*window.innerHeight*0.35+window.innerHeight*0.35;
			ty=Math.random()*window.innerWidth*0.6+window.innerWidth*0.1;
			}while(chk(tx,ty)==1);
			obj.style.top=tx.toString()+'px';
			obj.style.left=ty.toString()+'px';
			xs.push(tx);ys.push(ty);
			tx=Math.random()*90-45;
			obj.style.transform='rotate('+tx.toString()+'deg)';
		}
		function launchTileOut(obj,inv)
		{
			var t=0;
			obj.style.transition="all 0.5s ease-in";
			t=Math.random()*window.innerHeight;
			obj.style.top=t.toString()+'px';
			t=0-obj.offsetWidth-Math.random()*window.innerWidth;
			if(inv==1)t=window.innerWidth-t;
			obj.style.left=t.toString()+'px';
			t=Math.random()*90-45;
			obj.style.transform='rotate('+t.toString()+'deg)';
		}
		function createTile(id)
		{
			var e=document.createElement("table");
			e.className="TText";
			e.style.position="fixed";
			e.style.cursor="move";
			e.style.boxShadow="1px 1px 1px 1px #333333";
			e.innerHTML="<tr><td><a href=\""+links[id]+"\">"+titles[id]+"</a></td></tr><tr><td>"+dates[id]+"</td></tr>";
			e.onmousedown=function(){dragInit(e);return false;};
			elems.push(e);
			document.getElementsByTagName("body")[0].appendChild(e);
			return e;
		}
		function createGroup(inv)
		{
			xs.length=ys.length=0;
			for(var i=0;i<numPost;++i)
			{
				if(startIdx+i>=titles.length)break;
				var e=createTile(startIdx+i);
				initTile(e,inv);
			}
			setTimeout(
			function(){for(var i=0;i<elems.length;++i)launchTileIn(elems[i]);}
			,500);
		}
		function lastGroup()
		{
			if(startIdx-numPost<0)return;
			oldelems=elems.slice(0);elems.length=0;
			for(var i=0;i<oldelems.length;++i)launchTileOut(oldelems[i],1);
			setTimeout(
			function(){for(var i=0;i<oldelems.length;++i)oldelems[i].remove();}
			,500);
			startIdx-=numPost;
			createGroup(1);
		}
		function nextGroup()
		{
			if(startIdx+numPost>=titles.length)return;
			oldelems=elems.slice(0);elems.length=0;
			for(var i=0;i<oldelems.length;++i)launchTileOut(oldelems[i],0);
			setTimeout(
			function(){for(var i=0;i<oldelems.length;++i)oldelems[i].remove();}
			,500);
			startIdx+=numPost;
			createGroup(0);
		}
		function onWheel(e)
		{
			var wdelta=e.wheelDelta||-e.detail;
			if(wdelta<0)nextGroup();
			if(wdelta>0)lastGroup();
		}
		function init()
		{
			document.addEventListener("mousewheel",onWheel,false);
			document.addEventListener("DOMMouseScroll",onWheel,false);
			document.onmousemove=onMove;
			document.onmouseup=function(){dragging=null;};
			createGroup();
		}
	</script>
</head>
<body onload="init();">
	<table border="0" style="width:70%;margin:auto;">
    <tr>
		<td class="CTitle" style="font-size:2em;" colspan="2">
			<a href="../">Chrisoft</a>::Blog
		</td>
    </tr>
    <tr>
		<td class="TText" colspan="2" style="padding:10px;">
			WARNING: You've entered the dangerous zone.<br>
			I occasionally empty the trash in my brain here...<br>
			Browse with care!<br>
			Most posts are in Chinese...
		</td>
    </tr>
	</table>
	<div onmousedown="lastGroup();" id="button" style="left:0;">
	<span style="display:table-cell;vertical-align:middle;">&lt;</span>
	</div>
	<div onmousedown="nextGroup();" id="button" style="right:0;">
	<span style="display:table-cell;vertical-align:middle;">&gt;</span>
	</div>
	<script type="text/javascript">
	<?php
		$files=scandir("/var/www/html/blog/content",1);
		for($i=0,$c=count($files);$i<$c;$i++)
		{
			if(!(strstr($files[$i],"txt")))continue;
			if(strstr($files[$i],"swp"))continue;
			$fn=sprintf("/var/www/html/blog/content/%s",$files[$i]);
			$handle=fopen($fn, "r");
			$title="";$date="";
			if($handle)
			{
				$title=fgets($handle,4096);
				$date=fgets($handle,4096);
				fclose($handle);
			}
			$title=substr($title,0,strlen($title)-1);
			$date=substr($date,0,strlen($date)-1);
			$cur=sprintf("links.push(\"./blogreader.php?p=%s\");titles.push(\"%s\");dates.push(\"%s\");\n",substr($files[$i],0,strlen($files[$i])-4),$title,$date);
			echo $cur;
		}
	?>
	</script>
</body>