From 89935e876cc1e3a2d73743811f4c505e6e0cabcf Mon Sep 17 00:00:00 2001 From: kanoi Date: Sat, 21 Mar 2015 01:37:15 +1100 Subject: [PATCH] php - store graph settings in a cookie --- html/can.js | 66 ---------------------------------------- pool/page.php | 71 ++++++++++++++++++++++++++++++++++++++++++-- pool/page_usperf.php | 62 ++++++++++++++++++++++++++++---------- 3 files changed, 115 insertions(+), 84 deletions(-) delete mode 100644 html/can.js diff --git a/html/can.js b/html/can.js deleted file mode 100644 index d7f05687..00000000 --- a/html/can.js +++ /dev/null @@ -1,66 +0,0 @@ -function hasCan(){var c0=document.getElementById('can0');c=document.getElementById('can');return !!(c0&&c&&c.getContext&&c.getContext('2d'));} -function sep(d){ans={};var ar=d.split("\t");var l=ar.length;for(var i=0;i(zm-0.5)){return(zm-0.5)}return z} -function gchx(c,x){return gch(x*c['xm']+c['xo'],c['ctx'].canvas.width)} -function gchy(c,y){return gch((1-y)*c['ym']+c['yo'],c['ctx'].canvas.height)} -function gx0(c){return -c['xo']/c['xm']}; -function gy0(c){return -c['yo']/c['ym']}; -function gto(c,xo,yo){c['xo']+=xo;c['yo']+=yo} -function gts(c,xs,ys){c['xm']*=xs;c['ym']*=ys} -function gtso(c,xs,ys){gto(c,c['xm']*(1.0-xs)/2.0,c['ym']*(1.0-ys)/2.0);gts(c,xs,ys)} -function gfs(c,bg){c['ctx'].fillStyle=bg} -function gss(c,fg){c['ctx'].strokeStyle=fg} -function glw(c,pct){c['ctx'].lineWidth=pct*c['ym']/100.0} -function glwr(c,rat){c['ctx'].lineWidth*=rat} -function gfz(c,x,y,ox,oy,t,co,a){gfs(c,co);c['ctx'].textAlign=a;c['ctx'].fillText(t,gchx(c,x)+ox,gchy(c,y)-oy)} -function gbe(c,x,y){c['ctx'].beginPath();c['ctx'].moveTo(gchx(c,x),gchy(c,y))} -function gln(c,x,y){c['ctx'].lineTo(gchx(c,x),gchy(c,y))} -function gct(c,x1,y1,x2,y2,x3,y3){c['ctx'].bezierCurveTo(gchx(c,x1),gchy(c,y1),gchx(c,x2),gchy(c,y2),gchx(c,x3),gchy(c,y3))} -function glm(c,x,y){c['ctx'].moveTo(gchx(c,x),gchy(c,y))} -function gle(c){c['ctx'].closePath()} -function gfl(c){c['ctx'].fill()} -function gst(c){c['ctx'].stroke()} -function gfi(c){gle(c);gst(c)} -function gbd(c){gbe(c,0,0);gln(c,1,0);gln(c,1,1);gln(c,0,1);gle(c);gfl(c);gst(c)} -function ggr(c,xs,ys,yt,xn,x0,x1,y0,y1,ar,nx,vx,vy,av){ -gtso(c,xs,ys); -gss(c,'black');glw(c,0.2); -gbe(c,0,1);gln(c,0,0);gln(c,1,0);gst(c); -glw(c,0.01); -var hi=c['ctx'].measureText('M').width, wi=c['ctx'].measureText('1').width; -for(var i=0;i<11;i++){var y=i/10.0;gbe(c,-0.01,y);gln(c,1,y);gst(c);var t=''+(((y1-y0)*i/10+y0).toFixed(2));gfz(c,0,y,-wi,0,t,'black','end')} -gfz(c,gx0(c),0.55,wi,0,yt,'#0080ff','left'); -var m=Math.round(0.5+xn/20.0); -var f=1; -for(var i=0;i=x0;i-=(6*3600)){var n=dfmt(c,i);var xo=(i-x0)/(x1-x0);if(c['tkey']){gbe(c,xo,0);gln(c,xo,-0.02);gst(c);gfz(c,xo,0,0,-hi*tpos,n,'brown','center')}if(c['tlines']){gbe(c,xo,0);gln(c,xo,1);gst(c)}} -glw(c,0.1); -gss(c,'black'); -if(c['smooth']){var xa=0,ya=0,xb=0,yb=0; -for(var i=0;ic['xm']){c['ym']=c['xm']}c['xo']=0.0;c['yo']=0.0;c['ctx']=c['can'].getContext('2d');c['ctx'].canvas.width=c['xm']+1;c['ctx'].canvas.height=c['ym']+1;div.appendChild(c['can'])} -function gopt(c){ccb(c,'smooth');ccb(c,'over');ccb(c,'skey');ccb(c,'slines');ccb(c,'tkey');ccb(c,'tlines');ccb(c,'zerob');ccb(c,'utc')} -function gdrw(d){var c={};gc(c);gopt(c); -gfs(c,'white');gss(c,'#0000c0');glw(c,0.5);gbd(c); -var rows=d['rows'],ymin=-1,ymax=0,xmin=-1,xmax=0; -var tda=0; -for(var i=0;iths){ymin=ths}if(ths>ymax)ymax=ths;d['nx:'+i]=sn(i,d['shift:'+i]);if(xmin==-1||xmin>s){xmin=s}if(xmax 'shift key', 'slines' => 'shift lines', + 'tkey' => 'time key', 'tlines' => 'times lines', + 'over' => 'key overlap', 'smooth' => 'smooth', + 'zerob' => 'zero based', 'utc' => 'utc'); + $xon = array('skey' => 1, 'utc' => 1); + if ($vlines === true) + $xon['slines'] = 1; + + $pg .= '
'; + foreach ($cbx as $nam => $txt) + $pg .= " $txt "; + + $pg .= '
'; + $pg .= '
'; + $pg .= 'A graph will show here if your browser supports html5/canvas'; $pg .= "
\n"; $data = str_replace(array("\\","'"), array("\\\\","\\'"), $ans['DATA']); - $pg .= "\n"; - $pg .= "\n"; + $pg .= "\n"; } - return $pg; } #