diff --git a/dashboard/css/layout.css b/dashboard/css/layout.css old mode 100644 new mode 100755 index 35bb41b..c929c73 --- a/dashboard/css/layout.css +++ b/dashboard/css/layout.css @@ -16,12 +16,11 @@ h1 { width : 100%; background-image : url('../img/dvc.jpg'); background-repeat : no-repeat; - background-position : 99.5%; + background-position : 98.5%; position : absolute; left : 0px; top : 0px; min-width : 760px; - padding-left : 3px; } #menu { @@ -91,4 +90,10 @@ background-image: linear-gradient(to bottom, rgb(201, 231, 233) 0%, rgb(220, 237 .listingtable td { padding-left : 5px; -} \ No newline at end of file +} + +.listinglink { + ont-size : 12pt; + text-decoration : underline; + color : #60A1DE; +} diff --git a/dashboard/img/down.png b/dashboard/img/down.png new file mode 100755 index 0000000..647313f Binary files /dev/null and b/dashboard/img/down.png differ diff --git a/dashboard/img/dvc.jpg b/dashboard/img/dvc.jpg old mode 100644 new mode 100755 index f0eb3fb..ff3db34 Binary files a/dashboard/img/dvc.jpg and b/dashboard/img/dvc.jpg differ diff --git a/dashboard/img/ear.png b/dashboard/img/ear.png new file mode 100755 index 0000000..6b07f3a Binary files /dev/null and b/dashboard/img/ear.png differ diff --git a/dashboard/img/flags/ad.png b/dashboard/img/flags/ad.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ae.png b/dashboard/img/flags/ae.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/af.png b/dashboard/img/flags/af.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ag.png b/dashboard/img/flags/ag.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/al.png b/dashboard/img/flags/al.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/am.png b/dashboard/img/flags/am.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ao.png b/dashboard/img/flags/ao.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ar.png b/dashboard/img/flags/ar.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/at.png b/dashboard/img/flags/at.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/au.png b/dashboard/img/flags/au.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ax.png b/dashboard/img/flags/ax.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/az.png b/dashboard/img/flags/az.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ba.png b/dashboard/img/flags/ba.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bb.png b/dashboard/img/flags/bb.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bd.png b/dashboard/img/flags/bd.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/be.png b/dashboard/img/flags/be.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bf.png b/dashboard/img/flags/bf.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bg.png b/dashboard/img/flags/bg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bh.png b/dashboard/img/flags/bh.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bi.png b/dashboard/img/flags/bi.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bj.png b/dashboard/img/flags/bj.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bn.png b/dashboard/img/flags/bn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bo.png b/dashboard/img/flags/bo.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/br.png b/dashboard/img/flags/br.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bs.png b/dashboard/img/flags/bs.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bt.png b/dashboard/img/flags/bt.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bw.png b/dashboard/img/flags/bw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/by.png b/dashboard/img/flags/by.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/bz.png b/dashboard/img/flags/bz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ca.png b/dashboard/img/flags/ca.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cd.png b/dashboard/img/flags/cd.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cf.png b/dashboard/img/flags/cf.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cg.png b/dashboard/img/flags/cg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ch.png b/dashboard/img/flags/ch.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ci.png b/dashboard/img/flags/ci.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cl.png b/dashboard/img/flags/cl.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cm.png b/dashboard/img/flags/cm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cn.png b/dashboard/img/flags/cn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/co.png b/dashboard/img/flags/co.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cr.png b/dashboard/img/flags/cr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cu.png b/dashboard/img/flags/cu.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cv.png b/dashboard/img/flags/cv.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cy.png b/dashboard/img/flags/cy.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/cz.png b/dashboard/img/flags/cz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/de.png b/dashboard/img/flags/de.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/dj.png b/dashboard/img/flags/dj.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/dk.png b/dashboard/img/flags/dk.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/dm.png b/dashboard/img/flags/dm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/do.png b/dashboard/img/flags/do.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/dz.png b/dashboard/img/flags/dz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ec.png b/dashboard/img/flags/ec.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ee.png b/dashboard/img/flags/ee.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/eg.png b/dashboard/img/flags/eg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/eh.png b/dashboard/img/flags/eh.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/er.png b/dashboard/img/flags/er.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/es.png b/dashboard/img/flags/es.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/et.png b/dashboard/img/flags/et.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/fi.png b/dashboard/img/flags/fi.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/fj.png b/dashboard/img/flags/fj.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/fm.png b/dashboard/img/flags/fm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/fr.png b/dashboard/img/flags/fr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ga.png b/dashboard/img/flags/ga.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gate.png b/dashboard/img/flags/gate.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gb.png b/dashboard/img/flags/gb.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gd.png b/dashboard/img/flags/gd.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ge.png b/dashboard/img/flags/ge.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gh.png b/dashboard/img/flags/gh.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gm.png b/dashboard/img/flags/gm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gn.png b/dashboard/img/flags/gn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gq.png b/dashboard/img/flags/gq.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gr.png b/dashboard/img/flags/gr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gt.png b/dashboard/img/flags/gt.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gw.png b/dashboard/img/flags/gw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/gy.png b/dashboard/img/flags/gy.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/hn.png b/dashboard/img/flags/hn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/hr.png b/dashboard/img/flags/hr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ht.png b/dashboard/img/flags/ht.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/hu.png b/dashboard/img/flags/hu.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/id.png b/dashboard/img/flags/id.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ie.png b/dashboard/img/flags/ie.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/il.png b/dashboard/img/flags/il.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/in.png b/dashboard/img/flags/in.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/iq.png b/dashboard/img/flags/iq.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ir.png b/dashboard/img/flags/ir.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/is.png b/dashboard/img/flags/is.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/it.png b/dashboard/img/flags/it.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/jm.png b/dashboard/img/flags/jm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/jo.png b/dashboard/img/flags/jo.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/jp.png b/dashboard/img/flags/jp.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ke.png b/dashboard/img/flags/ke.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kg.png b/dashboard/img/flags/kg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kh.png b/dashboard/img/flags/kh.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ki.png b/dashboard/img/flags/ki.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/km.png b/dashboard/img/flags/km.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kn.png b/dashboard/img/flags/kn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kp.png b/dashboard/img/flags/kp.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kr.png b/dashboard/img/flags/kr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ks.png b/dashboard/img/flags/ks.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kw.png b/dashboard/img/flags/kw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/kz.png b/dashboard/img/flags/kz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/la.png b/dashboard/img/flags/la.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lb.png b/dashboard/img/flags/lb.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lc.png b/dashboard/img/flags/lc.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/li.png b/dashboard/img/flags/li.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lk.png b/dashboard/img/flags/lk.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lr.png b/dashboard/img/flags/lr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ls.png b/dashboard/img/flags/ls.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lt.png b/dashboard/img/flags/lt.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lu.png b/dashboard/img/flags/lu.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/lv.png b/dashboard/img/flags/lv.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ly.png b/dashboard/img/flags/ly.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ma.png b/dashboard/img/flags/ma.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mc.png b/dashboard/img/flags/mc.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/md.png b/dashboard/img/flags/md.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/me.png b/dashboard/img/flags/me.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mg.png b/dashboard/img/flags/mg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mh.png b/dashboard/img/flags/mh.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mk.png b/dashboard/img/flags/mk.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ml.png b/dashboard/img/flags/ml.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mm.png b/dashboard/img/flags/mm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mn.png b/dashboard/img/flags/mn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mr.png b/dashboard/img/flags/mr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mt.png b/dashboard/img/flags/mt.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mu.png b/dashboard/img/flags/mu.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mv.png b/dashboard/img/flags/mv.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mw.png b/dashboard/img/flags/mw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mx.png b/dashboard/img/flags/mx.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/my.png b/dashboard/img/flags/my.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/mz.png b/dashboard/img/flags/mz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/na.png b/dashboard/img/flags/na.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ne.png b/dashboard/img/flags/ne.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ng.png b/dashboard/img/flags/ng.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ni.png b/dashboard/img/flags/ni.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/nl.png b/dashboard/img/flags/nl.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/no.png b/dashboard/img/flags/no.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/np.png b/dashboard/img/flags/np.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/nr.png b/dashboard/img/flags/nr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/nz.png b/dashboard/img/flags/nz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/om.png b/dashboard/img/flags/om.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pa.png b/dashboard/img/flags/pa.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pe.png b/dashboard/img/flags/pe.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pg.png b/dashboard/img/flags/pg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ph.png b/dashboard/img/flags/ph.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pk.png b/dashboard/img/flags/pk.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pl.png b/dashboard/img/flags/pl.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pr.png b/dashboard/img/flags/pr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pt.png b/dashboard/img/flags/pt.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/pw.png b/dashboard/img/flags/pw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/py.png b/dashboard/img/flags/py.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/qa.png b/dashboard/img/flags/qa.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ro.png b/dashboard/img/flags/ro.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/rs.png b/dashboard/img/flags/rs.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ru.png b/dashboard/img/flags/ru.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/rw.png b/dashboard/img/flags/rw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sa.png b/dashboard/img/flags/sa.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sb.png b/dashboard/img/flags/sb.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sc.png b/dashboard/img/flags/sc.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sd.png b/dashboard/img/flags/sd.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/se.png b/dashboard/img/flags/se.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sg.png b/dashboard/img/flags/sg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sh.png b/dashboard/img/flags/sh.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/si.png b/dashboard/img/flags/si.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sk.png b/dashboard/img/flags/sk.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sl.png b/dashboard/img/flags/sl.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sm.png b/dashboard/img/flags/sm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sn.png b/dashboard/img/flags/sn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/so.png b/dashboard/img/flags/so.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sr.png b/dashboard/img/flags/sr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/st.png b/dashboard/img/flags/st.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sv.png b/dashboard/img/flags/sv.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sy.png b/dashboard/img/flags/sy.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/sz.png b/dashboard/img/flags/sz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/td.png b/dashboard/img/flags/td.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tg.png b/dashboard/img/flags/tg.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/th.png b/dashboard/img/flags/th.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tj.png b/dashboard/img/flags/tj.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tl.png b/dashboard/img/flags/tl.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tm.png b/dashboard/img/flags/tm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tn.png b/dashboard/img/flags/tn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/to.png b/dashboard/img/flags/to.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tr.png b/dashboard/img/flags/tr.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tt.png b/dashboard/img/flags/tt.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tv.png b/dashboard/img/flags/tv.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tw.png b/dashboard/img/flags/tw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/tz.png b/dashboard/img/flags/tz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ua.png b/dashboard/img/flags/ua.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ug.png b/dashboard/img/flags/ug.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/us.png b/dashboard/img/flags/us.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/uy.png b/dashboard/img/flags/uy.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/uz.png b/dashboard/img/flags/uz.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/va.png b/dashboard/img/flags/va.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/vc.png b/dashboard/img/flags/vc.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ve.png b/dashboard/img/flags/ve.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/vn.png b/dashboard/img/flags/vn.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/vu.png b/dashboard/img/flags/vu.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/wl.png b/dashboard/img/flags/wl.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ws.png b/dashboard/img/flags/ws.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/ye.png b/dashboard/img/flags/ye.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/za.png b/dashboard/img/flags/za.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/zm.png b/dashboard/img/flags/zm.png old mode 100644 new mode 100755 diff --git a/dashboard/img/flags/zw.png b/dashboard/img/flags/zw.png old mode 100644 new mode 100755 diff --git a/dashboard/img/header.jpg b/dashboard/img/header.jpg old mode 100644 new mode 100755 index 61638c5..121a48f Binary files a/dashboard/img/header.jpg and b/dashboard/img/header.jpg differ diff --git a/dashboard/img/radio-waves-hi.png b/dashboard/img/radio-waves-hi.png old mode 100644 new mode 100755 diff --git a/dashboard/img/sat.png b/dashboard/img/sat.png old mode 100644 new mode 100755 diff --git a/dashboard/img/up.png b/dashboard/img/up.png new file mode 100755 index 0000000..6b3e81c Binary files /dev/null and b/dashboard/img/up.png differ diff --git a/dashboard/index.php b/dashboard/index.php index 8151c52..aee8a3a 100644 --- a/dashboard/index.php +++ b/dashboard/index.php @@ -1,8 +1,5 @@ SetFlagFile("./pgs/country.csv"); +$Reflector->SetPIDFile($Service['PIDFile']); +$Reflector->SetXMLFile($Service['XMLFile']); -$ServiceName = substr($FILECONTENT, strpos($FILECONTENT, "LoadXML(); -$AllNodesString = $XML->GetElement($FILECONTENT, $LinkedNodesName); -$tmpNodes = $XML->GetAllElements($AllNodesString, "NODE"); - -for ($i=0;$iGetElement($tmpNodes[$i], 'Callsign'), $XML->GetElement($tmpNodes[$i], 'IP'), $XML->GetElement($tmpNodes[$i], 'LinkedModule'), $XML->GetElement($tmpNodes[$i], 'Protocol'), $XML->GetElement($tmpNodes[$i], 'ConnectTime'), $XML->GetElement($tmpNodes[$i], 'LastHeardTime')); - $Reflector->AddNode($Node); -} - -$AllStationsString = $XML->GetElement($FILECONTENT, $LinkedUsersName); -$tmpStations = $XML->GetAllElements($AllStationsString, "STATION"); - -for ($i=0;$iGetElement($tmpStations[$i], 'Callsign'), $XML->GetElement($tmpStations[$i], 'Via node'), $XML->GetElement($tmpStations[$i], 'Via peer'), $XML->GetElement($tmpStations[$i], 'LastHeardTime')); - $Reflector->AddStation($Station, false); -} - -$AllPeersString = $XML->GetElement($FILECONTENT, $LinkedPeersName); -$tmpPeers = $XML->GetAllElements($AllPeersString, "PEER"); -for ($i=0;$iGetElement($tmpPeers[$i], 'Callsign'), $XML->GetElement($tmpPeers[$i], 'IP'), $XML->GetElement($tmpPeers[$i], 'LinkedModule'), $XML->GetElement($tmpPeers[$i], 'Protocol'), $XML->GetElement($tmpPeers[$i], 'ConnectTime'), $XML->GetElement($tmpPeers[$i], 'LastHeardTime')); - $Reflector->AddPeer($Peer, false); +if ($CallingHome['Active']) { + $CallHomeNow = false; + if (!file_exists("/tmp/callinghome.php")) { + $Hash = CreateCode(16); + $LastSync = 0; + $Ressource = @fopen("/tmp/callinghome.php","w"); + if ($Ressource) { + @fwrite($Ressource, "'); + @fclose($Ressource); + @exec("chmod 777 /tmp/callinghome.php"); + $CallHomeNow = true; + } + } + else { + include("/tmp/callinghome.php"); + if ($LastSync < (time() - $CallingHome['PushDelay'])) { + $Ressource = @fopen("/tmp/callinghome.php","w"); + if ($Ressource) { + @fwrite($Ressource, "'); + @fclose($Ressource); + } + $CallHomeNow = true; + } + } + if ($CallHomeNow || isset($_GET['callhome'])) { + $Reflector->SetCallingHome($CallingHome['Active'], $CallingHome['MyDashBoardURL'], $Hash, $CallingHome['ServerURL'], $CallingHome['Country'], $CallingHome['Comment']); + $Reflector->PushCallingHome(); + } } ?> - XLX Reflector Dashboard + + + + + + + + <?php echo $Reflector->GetReflectorName(); ?> Reflector Dashboard - + function ReloadPage() { document.location.href = "./index.php'; - if (isset($_GET['show'])) { - echo '?show='.$_GET['show']; + if (isset($_GET['show'])) { + echo '?show='.$_GET['show']; } echo '"; }'; - - if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'liveccs'))) { + + if (!isset($_GET['show']) || (($_GET['show'] != 'liveircddb') && ($_GET['show'] != 'reflectors'))) { echo ' setTimeout(ReloadPage, '.$PageOptions['PageRefreshDelay'].');'; } echo ' - + '; - } -?> + } +?> +
XLX Multiprotocol Gateway Reflector -
 XLX vGetElement($FILECONTENT, "Version"); ?> - Dashboard v  /  Service uptime:
+
   GetReflectorName(); ?> vGetVersion(); ?> - Dashboard v  /  Service uptime: GetServiceUptime()); ?>
- + - +?> +
- +
- - + diff --git a/dashboard/log/index.html b/dashboard/log/index.html new file mode 100755 index 0000000..e69de29 diff --git a/dashboard/pgs/class.node.php b/dashboard/pgs/class.node.php old mode 100644 new mode 100755 index 33f8f08..0571786 --- a/dashboard/pgs/class.node.php +++ b/dashboard/pgs/class.node.php @@ -1,7 +1,7 @@ IP = $IP; - + $this->Protocol = $Protocol; $this->ConnectTime = ParseTime($ConnectTime); $this->LastHeardTime = ParseTime($LastHeardTime); + + $this->FullCallsign = trim(str_replace(" ", "-", $Callsign)); + $this->FullCallsign = str_replace(" ", "-", $this->FullCallsign); + $this->FullCallsign = str_replace(" ", "-", $this->FullCallsign); if (strpos($Callsign, " ") !== false) { $this->Callsign = trim(substr($Callsign, 0, strpos($Callsign, " "))); @@ -29,12 +33,12 @@ class Node { $this->Suffix = ""; $this->Prefix = ""; } - - + + $this->LinkedModule = trim($LinkedModule); } - + public function GetFullCallsign() { return $this->FullCallsign; } public function GetCallsign() { return $this->Callsign; } public function GetIP() { return $this->IP; } public function GetLinkedModule() { return $this->LinkedModule; } @@ -45,4 +49,4 @@ class Node { public function GetPrefix() { return $this->Prefix; } } -?> \ No newline at end of file +?> diff --git a/dashboard/pgs/class.parsexml.php b/dashboard/pgs/class.parsexml.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/class.peer.php b/dashboard/pgs/class.peer.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/class.reflector.php b/dashboard/pgs/class.reflector.php old mode 100644 new mode 100755 index 3eaf076..fe6fda7 --- a/dashboard/pgs/class.reflector.php +++ b/dashboard/pgs/class.reflector.php @@ -2,11 +2,24 @@ class xReflector { - public $Nodes = null; - public $Stations = null; - public $Peers = null; - private $Flagarray = null; - private $Flagfile = null; + public $Nodes = null; + public $Stations = null; + public $Peers = null; + private $Flagarray = null; + private $Flagfile = null; + private $CallingHomeActive = null; + private $CallingHomeHash = null; + private $CallingHomeDashboardURL = null; + private $CallingHomeServerURL = null; + private $ReflectorName = null; + private $ServiceUptime = null; + private $ProcessIDFile = null; + private $XMLContent = null; + private $XMLFile = null; + private $ServiceName = null; + private $Version = null; + private $CallingHomeCountry = null; + private $CallingHomeComment = null; public function __construct() { $this->Nodes = array(); @@ -14,6 +27,85 @@ class xReflector { $this->Peers = array(); } + public function LoadXML() { + if ($this->XMLFile != null) { + $handle = fopen($this->XMLFile, 'r'); + $this->XMLContent = fread($handle, filesize($this->XMLFile)); + fclose($handle); + + $this->ServiceName = substr($this->XMLContent, strpos($this->XMLContent, "ServiceName)) { + $this->ServiceName = null; + return false; + } + + $this->ReflectorName = "XLX".$this->ServiceName; + + $LinkedPeersName = "XLX".$this->ServiceName." linked peers"; + $LinkedNodesName = "XLX".$this->ServiceName." linked nodes"; + $LinkedUsersName = "XLX".$this->ServiceName." heard users"; + + $XML = new ParseXML(); + + $AllNodesString = $XML->GetElement($this->XMLContent, $LinkedNodesName); + $tmpNodes = $XML->GetAllElements($AllNodesString, "NODE"); + + for ($i=0;$iGetElement($tmpNodes[$i], 'Callsign'), $XML->GetElement($tmpNodes[$i], 'IP'), $XML->GetElement($tmpNodes[$i], 'LinkedModule'), $XML->GetElement($tmpNodes[$i], 'Protocol'), $XML->GetElement($tmpNodes[$i], 'ConnectTime'), $XML->GetElement($tmpNodes[$i], 'LastHeardTime')); + $this->AddNode($Node); + } + + $AllStationsString = $XML->GetElement($this->XMLContent, $LinkedUsersName); + $tmpStations = $XML->GetAllElements($AllStationsString, "STATION"); + for ($i=0;$iGetElement($tmpStations[$i], 'Callsign'), $XML->GetElement($tmpStations[$i], 'Via node'), $XML->GetElement($tmpStations[$i], 'Via peer'), $XML->GetElement($tmpStations[$i], 'LastHeardTime')); + $this->AddStation($Station, false); + } + + $AllPeersString = $XML->GetElement($this->XMLContent, $LinkedPeersName); + $tmpPeers = $XML->GetAllElements($AllPeersString, "PEER"); + for ($i=0;$iGetElement($tmpPeers[$i], 'Callsign'), $XML->GetElement($tmpPeers[$i], 'IP'), $XML->GetElement($tmpPeers[$i], 'LinkedModule'), $XML->GetElement($tmpPeers[$i], 'Protocol'), $XML->GetElement($tmpPeers[$i], 'ConnectTime'), $XML->GetElement($tmpPeers[$i], 'LastHeardTime')); + $this->AddPeer($Peer, false); + } + + $this->Version = $XML->GetElement($this->XMLContent, "Version"); + } + } + + public function GetVersion() { + return $this->Version; + } + + public function GetReflectorName() { + return $this->ReflectorName; + } + + public function SetXMLFile($XMLFile) { + if (file_exists($XMLFile) && (is_readable($XMLFile))) { + $this->XMLFile = $XMLFile; + } + else { + die("File ".$XMLFile." does not exist or is not readable"); + $this->XMLContent = null; + } + } + + public function SetPIDFile($ProcessIDFile) { + if (file_exists($ProcessIDFile)) { + $this->ProcessIDFile = $ProcessIDFile; + $this->ServiceUptime = time() - filectime($ProcessIDFile); + } + else { + $this->ProcessIDFile = null; + $this->ServiceUptime = null; + } + } + + public function GetServiceUptime() { + return $this->ServiceUptime; + } + public function SetFlagFile($Flagfile) { if (file_exists($Flagfile) && (is_readable($Flagfile))) { $this->Flagfile = $Flagfile; @@ -184,6 +276,24 @@ class xReflector { return $out; } + public function GetModuleOfNode($Node) { + $Node = trim(str_replace(" ", "-", $Node)); + $Node = trim(str_replace(" ", "-", $Node)); + $Node = trim(str_replace(" ", "-", $Node)); + $found = false; + $i = 0; + $Module = ""; + while (!$found && $i<$this->NodeCount()) { + if (strpos($Node, $this->Nodes[$i]->GetFullCallsign()) !== false) { + $Module = $this->Nodes[$i]->GetLinkedModule(); + $found = true; + } + + $i++; + } + return $Module; + } + public function GetCallSignsInModules($Module) { $out = array(); for ($i=0;$i<$this->NodeCount();$i++) { @@ -193,6 +303,22 @@ class xReflector { } return $out; } + + public function SetCallingHome($Active, $DashboardURL, $Hash, $ServerURL, $Country, $Comment) { + $this->CallingHomeActive = ($Active === true); + $this->CallingHomeHash = $Hash; + $this->CallingHomeDashboardURL = $DashboardURL; + $this->CallingHomeServerURL = $ServerURL; + $this->CallingHomeCountry = $Country; + $this->CallingHomeComment = $Comment; + } + + public function PushCallingHome() { + $CallingHome = @fopen($this->CallingHomeServerURL."?ReflectorName=".$this->ReflectorName."&ReflectorUptime=".$this->ServiceUptime."&ReflectorHash=".$this->CallingHomeHash."&DashboardURL=".$this->CallingHomeDashboardURL."&Country=".urlencode($this->CallingHomeCountry)."&Comment=".urlencode($this->CallingHomeComment), "r"); + //debug($this->CallingHomeServerURL."?ReflectorName=".$this->ReflectorName."&ReflectorUptime=".$this->ServiceUptime."&ReflectorHash=".$this->CallingHomeHash."&DashboardURL=".$this->CallingHomeDashboardURL."&Country=".urlencode($this->CallingHomeCountry)."&Comment=".urlencode($this->CallingHomeComment)); + } + + } diff --git a/dashboard/pgs/class.station.php b/dashboard/pgs/class.station.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/config.inc.php b/dashboard/pgs/config.inc.php old mode 100644 new mode 100755 index 027d668..e2b1b6b --- a/dashboard/pgs/config.inc.php +++ b/dashboard/pgs/config.inc.php @@ -1,7 +1,5 @@ + +$PageOptions['MetaDescription'] = 'XLX is a D-Star Reflector System for Ham Radio Operators.'; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaKeywords'] = 'Ham Radio, D-Star, XReflector, XLX, XRF, DCS, REF, '; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaAuthor'] = 'YOURCALL'; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaRevisit'] = 'After 30 Days'; // Meta Tag Values, usefull for Search Engine +$PageOptions['MetaRobots'] = 'index,follow'; // Meta Tag Values, usefull for Search Engine + + + +$Service['PIDFile'] = '/var/log/xlxd.pid'; +$Service['XMLFile'] = '/var/log/xlxd.xml'; + +$CallingHome['Active'] = false; //xlx phone home, true or false +$CallingHome['MyDashBoardURL'] = 'http://your_dashboard'; //dashboard url +$CallingHome['ServerURL'] = 'http://158.64.26.134/api.php'; //database server, do not change !!!! +$CallingHome['PushDelay'] = 600; //push delay in seconds +$CallingHome['Country'] = "your_country"; //Country +$CallingHome['Comment'] = "your_comment"; //Comment. Max 100 character + +?> \ No newline at end of file diff --git a/dashboard/pgs/country.csv b/dashboard/pgs/country.csv old mode 100644 new mode 100755 index 5140149..05cff28 --- a/dashboard/pgs/country.csv +++ b/dashboard/pgs/country.csv @@ -234,7 +234,7 @@ Uganda;UG;5X Ukraine;UA;UR-US-UT-UU-UV-UW-UX-UY-UZ United Arab Emirates;AE;A6 United Kingdom;GB;2E-M0-M1-M2-M3-M4-M5-M6-M7-M8-M9-MB-MM-G0-G1-G2-G3-G4-G5-G6-G7-G8-G9-GX -United States;US;K0-K1-K2-K3-K4-K5-K6-K7-K8-K9-KA-KB-KC-KD-KE-KF-KG-KI-KJ-KK-KM-KN-KO-KQ-KR-KS-KT-KU-KV-KW-KX-KY-KZ-W0-W1-W2-W3-W4-W5-W6-W7-W8-W9-WA-WB-WD-WX-N0-N1-N2-N3-N4-N5-N6-N7-N8-N9-NS-NO-AA-AB-AC-AD-AE-AF-AG-AH-AI-AJ-AK +United States;US;K0-K1-K2-K3-K4-K5-K6-K7-K8-K9-KA-KB-KC-KD-KE-KF-KG-KI-KJ-KK-KM-KN-KO-KQ-KR-KS-KT-KU-KV-KW-KX-KY-KZ-W0-W1-W2-W3-W4-W5-W6-W7-W8-W9-WA-WB-WD-WV-WX-N0-N1-N2-N3-N4-N5-N6-N7-N8-N9-NS-NO-AA-AB-AC-AD-AE-AF-AG-AH-AI-AJ-AK United States Minor Outlying Islands;UM; Uruguay;UY;CV-CW-CX Uzbekistan;UZ;UJ-UK-UL-UM diff --git a/dashboard/pgs/functions.php b/dashboard/pgs/functions.php old mode 100644 new mode 100755 index 6826df1..2bd2ff8 --- a/dashboard/pgs/functions.php +++ b/dashboard/pgs/functions.php @@ -41,7 +41,7 @@ function ParseTime($Input) { case 'dec' : $month = 12; break; default : $month = 1; } - return mktime($tmp1[0], $tmp1[1], $tmp1[2], $month, $tmp[3], $tmp[5]); + return @mktime($tmp1[0], $tmp1[1], $tmp1[2], $month, $tmp[3], $tmp[5]); } @@ -50,4 +50,14 @@ function FormatSeconds($seconds) { return sprintf("%d days %02d:%02d:%02d", $seconds/60/60/24,($seconds/60/60)%24,($seconds/60)%60,$seconds%60); } +function CreateCode ($laenge) { + $zeichen = "1234567890abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNAOPQRSTUVWYXZ"; + mt_srand( (double) microtime() * 1000000); + $out = ""; + for ($i=1;$i<=$laenge;$i++){ + $out .= $zeichen[mt_rand(0,(strlen($zeichen)-1))]; + } + return $out; +} + ?> \ No newline at end of file diff --git a/dashboard/pgs/liveccs.php b/dashboard/pgs/liveccs.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/liveircddb.php b/dashboard/pgs/liveircddb.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/peers.php b/dashboard/pgs/peers.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/reflectors.php b/dashboard/pgs/reflectors.php new file mode 100755 index 0000000..40a3a30 --- /dev/null +++ b/dashboard/pgs/reflectors.php @@ -0,0 +1,55 @@ +GetElement($INPUT, "reflectorlist"); +$Reflectors = $XML->GetAllElements($Reflectorlist, "reflector"); + +?> + + + + + + + + + + +GetElement($Reflectors[$i], "name"); + $COUNTRY = $XML->GetElement($Reflectors[$i], "country"); + $LASTCONTACT = $XML->GetElement($Reflectors[$i], "lastcontact"); + $COMMENT = $XML->GetElement($Reflectors[$i], "comment"); + $DASHBOARDURL = $XML->GetElement($Reflectors[$i], "dashboardurl"); + + if ($odd == "#FFFFFF") { $odd = "#F1FAFA"; } else { $odd = "#FFFFFF"; } + + echo ' + + + + + + + '; +} + +?> +
#ReflectorCountryServiceComment
'.($i+1).''.$NAME.''.$COUNTRY.''.$COMMENT.'
+ + diff --git a/dashboard/pgs/repeaters.php b/dashboard/pgs/repeaters.php old mode 100644 new mode 100755 diff --git a/dashboard/pgs/users.php b/dashboard/pgs/users.php old mode 100644 new mode 100755 index 3390f00..dea06f4 --- a/dashboard/pgs/users.php +++ b/dashboard/pgs/users.php @@ -12,6 +12,7 @@ DPRS Via / Peer Last heard + Listening on StationCount();$i++) { '.$Reflector->Stations[$i]->GetCallsignOnly().' '.$Reflector->Stations[$i]->GetSuffix().' - '.$Reflector->Stations[$i]->GetVia(); - if ($Reflector->Stations[$i]->GetPeer() != 'XLX'.$ServiceName) { + '.$Reflector->Stations[$i]->GetVia(); + if ($Reflector->Stations[$i]->GetPeer() != $Reflector->GetReflectorName()) { echo ' / '.$Reflector->Stations[$i]->GetPeer(); } echo ' - '.date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).' + '.@date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).' + '; + if ($Reflector->Stations[$i]->GetPeer() == $Reflector->GetReflectorName()) { + echo trim($Reflector->GetModuleOfNode($Reflector->Stations[$i]->GetVia())); + } + echo ' '; if ($i == 39) { $i = $Reflector->StationCount()+1; } } @@ -61,18 +67,22 @@ for ($i=0;$i<$Reflector->StationCount();$i++) { $Modules = $Reflector->GetModules(); echo ' - '; + '; for ($i=0;$i'.$PageOptions['ModuleNames'][$Modules[$i]]; if (trim($PageOptions['ModuleNames'][$Modules[$i]]) != "") { echo '
'; } - echo $Modules[$i].''; + echo $Modules[$i].' +'; } else { echo ' + '.$Modules[$i].''; } }