diff options
Diffstat (limited to 'blog/sbs_1/bloglista.php')
-rw-r--r-- | blog/sbs_1/bloglista.php | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/blog/sbs_1/bloglista.php b/blog/sbs_1/bloglista.php new file mode 100644 index 0000000..bb762b7 --- /dev/null +++ b/blog/sbs_1/bloglista.php @@ -0,0 +1,202 @@ +<!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;"><</span> + </div> + <div onmousedown="nextGroup();" id="button" style="right:0;"> + <span style="display:table-cell;vertical-align:middle;">></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> |