diff --git a/dashboard/css/layout.css b/dashboard/css/layout.css new file mode 100755 index 0000000..bf0167b --- /dev/null +++ b/dashboard/css/layout.css @@ -0,0 +1,96 @@ +body { + margin : 0px; + padding : 0px; + background-color : #D3D3D3; + font-family : calibri, verdana, arial, comic sans; +} + +h1 { + font-size : 25pt; +} + +#top { + height : 105px; + background-color : #FFFFFF; + width : 100%; + background-image : url('../img/dvc.jpg'); + background-repeat : no-repeat; + background-position : 99.5%; + position : absolute; + left : 0px; + top : 0px; +} + +#menu { + margin-top : 5px; + height : 34px; + float : left; +} + +#menubar { + height : 40px; + width : 100%; + background-color : #FEC456; + position : absolute; + left : 0px; + top : 105px; +} + +#info { + float : right; + font-size : 11pt; +} + +#content { + + width : 100%; + position : absolute; + left : 0px; + top : 150px; +} + +.menulink { + font-size : 14pt; + text-decoration : none; + border : 1px #000000 solid; + padding-left : 10px; + padding-top : 3px; + padding-bottom : 3px; + padding-right : 10px; + margin-left : 10px; + background-color : #FFFFC6; + color : #000000; +} + +.pl { + font-size : 12pt; + text-decoration : none; + color : #000000; +} + +.listingtable { + margin-top : 10px; + border : 1px #C1DAD7 solid; + font-size : 12pt; +} + +.listingtable th { + height : 35px; + text-align : center; + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, rgb(201, 231, 233)), + color-stop(0.8, rgb(220, 237, 244)) +); +background-image: -o-linear-gradient(bottom, rgb(201, 231, 233) 0%, rgb(220, 237, 244) 80%); +background-image: -moz-linear-gradient(bottom, rgb(201, 231, 233) 0%, rgb(220, 237, 244) 80%); +background-image: -webkit-linear-gradient(bottom, rgb(201, 231, 233) 0%, rgb(220, 237, 244) 80%); +background-image: -ms-linear-gradient(bottom, rgb(201, 231, 233) 0%, rgb(220, 237, 244) 80%); +background-image: linear-gradient(to bottom, rgb(201, 231, 233) 0%, rgb(220, 237, 244) 80%); +} + +.listingtable td { + padding-left : 5px; +} \ No newline at end of file diff --git a/dashboard/favicon.ico b/dashboard/favicon.ico new file mode 100755 index 0000000..78d5346 Binary files /dev/null and b/dashboard/favicon.ico differ diff --git a/dashboard/img/dvc.jpg b/dashboard/img/dvc.jpg new file mode 100755 index 0000000..f0eb3fb Binary files /dev/null and b/dashboard/img/dvc.jpg differ diff --git a/dashboard/img/flags/ad.png b/dashboard/img/flags/ad.png new file mode 100755 index 0000000..c58bc93 Binary files /dev/null and b/dashboard/img/flags/ad.png differ diff --git a/dashboard/img/flags/ae.png b/dashboard/img/flags/ae.png new file mode 100755 index 0000000..088ef8e Binary files /dev/null and b/dashboard/img/flags/ae.png differ diff --git a/dashboard/img/flags/af.png b/dashboard/img/flags/af.png new file mode 100755 index 0000000..995b351 Binary files /dev/null and b/dashboard/img/flags/af.png differ diff --git a/dashboard/img/flags/ag.png b/dashboard/img/flags/ag.png new file mode 100755 index 0000000..5f8b4f6 Binary files /dev/null and b/dashboard/img/flags/ag.png differ diff --git a/dashboard/img/flags/al.png b/dashboard/img/flags/al.png new file mode 100755 index 0000000..2e516ec Binary files /dev/null and b/dashboard/img/flags/al.png differ diff --git a/dashboard/img/flags/am.png b/dashboard/img/flags/am.png new file mode 100755 index 0000000..d529a99 Binary files /dev/null and b/dashboard/img/flags/am.png differ diff --git a/dashboard/img/flags/ao.png b/dashboard/img/flags/ao.png new file mode 100755 index 0000000..4cdfb0e Binary files /dev/null and b/dashboard/img/flags/ao.png differ diff --git a/dashboard/img/flags/ar.png b/dashboard/img/flags/ar.png new file mode 100755 index 0000000..b31ec92 Binary files /dev/null and b/dashboard/img/flags/ar.png differ diff --git a/dashboard/img/flags/at.png b/dashboard/img/flags/at.png new file mode 100755 index 0000000..993b903 Binary files /dev/null and b/dashboard/img/flags/at.png differ diff --git a/dashboard/img/flags/au.png b/dashboard/img/flags/au.png new file mode 100755 index 0000000..ef20b66 Binary files /dev/null and b/dashboard/img/flags/au.png differ diff --git a/dashboard/img/flags/az.png b/dashboard/img/flags/az.png new file mode 100755 index 0000000..3fb7ccb Binary files /dev/null and b/dashboard/img/flags/az.png differ diff --git a/dashboard/img/flags/ba.png b/dashboard/img/flags/ba.png new file mode 100755 index 0000000..fa4d609 Binary files /dev/null and b/dashboard/img/flags/ba.png differ diff --git a/dashboard/img/flags/bb.png b/dashboard/img/flags/bb.png new file mode 100755 index 0000000..5e87a9e Binary files /dev/null and b/dashboard/img/flags/bb.png differ diff --git a/dashboard/img/flags/bd.png b/dashboard/img/flags/bd.png new file mode 100755 index 0000000..c55d3d7 Binary files /dev/null and b/dashboard/img/flags/bd.png differ diff --git a/dashboard/img/flags/be.png b/dashboard/img/flags/be.png new file mode 100755 index 0000000..449446a Binary files /dev/null and b/dashboard/img/flags/be.png differ diff --git a/dashboard/img/flags/bf.png b/dashboard/img/flags/bf.png new file mode 100755 index 0000000..f3a7288 Binary files /dev/null and b/dashboard/img/flags/bf.png differ diff --git a/dashboard/img/flags/bg.png b/dashboard/img/flags/bg.png new file mode 100755 index 0000000..ec03d4f Binary files /dev/null and b/dashboard/img/flags/bg.png differ diff --git a/dashboard/img/flags/bh.png b/dashboard/img/flags/bh.png new file mode 100755 index 0000000..61bad9b Binary files /dev/null and b/dashboard/img/flags/bh.png differ diff --git a/dashboard/img/flags/bi.png b/dashboard/img/flags/bi.png new file mode 100755 index 0000000..d82b894 Binary files /dev/null and b/dashboard/img/flags/bi.png differ diff --git a/dashboard/img/flags/bj.png b/dashboard/img/flags/bj.png new file mode 100755 index 0000000..220c8e7 Binary files /dev/null and b/dashboard/img/flags/bj.png differ diff --git a/dashboard/img/flags/bn.png b/dashboard/img/flags/bn.png new file mode 100755 index 0000000..944a7be Binary files /dev/null and b/dashboard/img/flags/bn.png differ diff --git a/dashboard/img/flags/bo.png b/dashboard/img/flags/bo.png new file mode 100755 index 0000000..aec2cc6 Binary files /dev/null and b/dashboard/img/flags/bo.png differ diff --git a/dashboard/img/flags/br.png b/dashboard/img/flags/br.png new file mode 100755 index 0000000..b54f27d Binary files /dev/null and b/dashboard/img/flags/br.png differ diff --git a/dashboard/img/flags/bs.png b/dashboard/img/flags/bs.png new file mode 100755 index 0000000..43db8c1 Binary files /dev/null and b/dashboard/img/flags/bs.png differ diff --git a/dashboard/img/flags/bt.png b/dashboard/img/flags/bt.png new file mode 100755 index 0000000..dfd0d6a Binary files /dev/null and b/dashboard/img/flags/bt.png differ diff --git a/dashboard/img/flags/bw.png b/dashboard/img/flags/bw.png new file mode 100755 index 0000000..0a74b72 Binary files /dev/null and b/dashboard/img/flags/bw.png differ diff --git a/dashboard/img/flags/by.png b/dashboard/img/flags/by.png new file mode 100755 index 0000000..1c9f546 Binary files /dev/null and b/dashboard/img/flags/by.png differ diff --git a/dashboard/img/flags/bz.png b/dashboard/img/flags/bz.png new file mode 100755 index 0000000..ef37f6d Binary files /dev/null and b/dashboard/img/flags/bz.png differ diff --git a/dashboard/img/flags/ca.png b/dashboard/img/flags/ca.png new file mode 100755 index 0000000..524f815 Binary files /dev/null and b/dashboard/img/flags/ca.png differ diff --git a/dashboard/img/flags/cd.png b/dashboard/img/flags/cd.png new file mode 100755 index 0000000..a96eccf Binary files /dev/null and b/dashboard/img/flags/cd.png differ diff --git a/dashboard/img/flags/cf.png b/dashboard/img/flags/cf.png new file mode 100755 index 0000000..e203020 Binary files /dev/null and b/dashboard/img/flags/cf.png differ diff --git a/dashboard/img/flags/cg.png b/dashboard/img/flags/cg.png new file mode 100755 index 0000000..7afcfe0 Binary files /dev/null and b/dashboard/img/flags/cg.png differ diff --git a/dashboard/img/flags/ch.png b/dashboard/img/flags/ch.png new file mode 100755 index 0000000..bd447d2 Binary files /dev/null and b/dashboard/img/flags/ch.png differ diff --git a/dashboard/img/flags/ci.png b/dashboard/img/flags/ci.png new file mode 100755 index 0000000..14fceff Binary files /dev/null and b/dashboard/img/flags/ci.png differ diff --git a/dashboard/img/flags/cl.png b/dashboard/img/flags/cl.png new file mode 100755 index 0000000..741c34b Binary files /dev/null and b/dashboard/img/flags/cl.png differ diff --git a/dashboard/img/flags/cm.png b/dashboard/img/flags/cm.png new file mode 100755 index 0000000..e2a308b Binary files /dev/null and b/dashboard/img/flags/cm.png differ diff --git a/dashboard/img/flags/cn.png b/dashboard/img/flags/cn.png new file mode 100755 index 0000000..7474dde Binary files /dev/null and b/dashboard/img/flags/cn.png differ diff --git a/dashboard/img/flags/co.png b/dashboard/img/flags/co.png new file mode 100755 index 0000000..477177b Binary files /dev/null and b/dashboard/img/flags/co.png differ diff --git a/dashboard/img/flags/cr.png b/dashboard/img/flags/cr.png new file mode 100755 index 0000000..62cc81a Binary files /dev/null and b/dashboard/img/flags/cr.png differ diff --git a/dashboard/img/flags/cu.png b/dashboard/img/flags/cu.png new file mode 100755 index 0000000..4ada582 Binary files /dev/null and b/dashboard/img/flags/cu.png differ diff --git a/dashboard/img/flags/cv.png b/dashboard/img/flags/cv.png new file mode 100755 index 0000000..e45bfdb Binary files /dev/null and b/dashboard/img/flags/cv.png differ diff --git a/dashboard/img/flags/cy.png b/dashboard/img/flags/cy.png new file mode 100755 index 0000000..e909ebc Binary files /dev/null and b/dashboard/img/flags/cy.png differ diff --git a/dashboard/img/flags/cz.png b/dashboard/img/flags/cz.png new file mode 100755 index 0000000..acfac56 Binary files /dev/null and b/dashboard/img/flags/cz.png differ diff --git a/dashboard/img/flags/de.png b/dashboard/img/flags/de.png new file mode 100755 index 0000000..2dbd9b0 Binary files /dev/null and b/dashboard/img/flags/de.png differ diff --git a/dashboard/img/flags/dj.png b/dashboard/img/flags/dj.png new file mode 100755 index 0000000..147636a Binary files /dev/null and b/dashboard/img/flags/dj.png differ diff --git a/dashboard/img/flags/dk.png b/dashboard/img/flags/dk.png new file mode 100755 index 0000000..65d6b35 Binary files /dev/null and b/dashboard/img/flags/dk.png differ diff --git a/dashboard/img/flags/dm.png b/dashboard/img/flags/dm.png new file mode 100755 index 0000000..04a92e1 Binary files /dev/null and b/dashboard/img/flags/dm.png differ diff --git a/dashboard/img/flags/do.png b/dashboard/img/flags/do.png new file mode 100755 index 0000000..12e017e Binary files /dev/null and b/dashboard/img/flags/do.png differ diff --git a/dashboard/img/flags/dz.png b/dashboard/img/flags/dz.png new file mode 100755 index 0000000..4670a0e Binary files /dev/null and b/dashboard/img/flags/dz.png differ diff --git a/dashboard/img/flags/ec.png b/dashboard/img/flags/ec.png new file mode 100755 index 0000000..9289152 Binary files /dev/null and b/dashboard/img/flags/ec.png differ diff --git a/dashboard/img/flags/ee.png b/dashboard/img/flags/ee.png new file mode 100755 index 0000000..1067640 Binary files /dev/null and b/dashboard/img/flags/ee.png differ diff --git a/dashboard/img/flags/eg.png b/dashboard/img/flags/eg.png new file mode 100755 index 0000000..238d535 Binary files /dev/null and b/dashboard/img/flags/eg.png differ diff --git a/dashboard/img/flags/eh.png b/dashboard/img/flags/eh.png new file mode 100755 index 0000000..b8cf7ef Binary files /dev/null and b/dashboard/img/flags/eh.png differ diff --git a/dashboard/img/flags/er.png b/dashboard/img/flags/er.png new file mode 100755 index 0000000..546b1b9 Binary files /dev/null and b/dashboard/img/flags/er.png differ diff --git a/dashboard/img/flags/es.png b/dashboard/img/flags/es.png new file mode 100755 index 0000000..a8ad334 Binary files /dev/null and b/dashboard/img/flags/es.png differ diff --git a/dashboard/img/flags/et.png b/dashboard/img/flags/et.png new file mode 100755 index 0000000..e807c21 Binary files /dev/null and b/dashboard/img/flags/et.png differ diff --git a/dashboard/img/flags/fi.png b/dashboard/img/flags/fi.png new file mode 100755 index 0000000..1ad1797 Binary files /dev/null and b/dashboard/img/flags/fi.png differ diff --git a/dashboard/img/flags/fj.png b/dashboard/img/flags/fj.png new file mode 100755 index 0000000..6bf7371 Binary files /dev/null and b/dashboard/img/flags/fj.png differ diff --git a/dashboard/img/flags/fm.png b/dashboard/img/flags/fm.png new file mode 100755 index 0000000..32d5b83 Binary files /dev/null and b/dashboard/img/flags/fm.png differ diff --git a/dashboard/img/flags/fr.png b/dashboard/img/flags/fr.png new file mode 100755 index 0000000..a768476 Binary files /dev/null and b/dashboard/img/flags/fr.png differ diff --git a/dashboard/img/flags/ga.png b/dashboard/img/flags/ga.png new file mode 100755 index 0000000..32c68bf Binary files /dev/null and b/dashboard/img/flags/ga.png differ diff --git a/dashboard/img/flags/gb.png b/dashboard/img/flags/gb.png new file mode 100755 index 0000000..3b6668e Binary files /dev/null and b/dashboard/img/flags/gb.png differ diff --git a/dashboard/img/flags/gd.png b/dashboard/img/flags/gd.png new file mode 100755 index 0000000..9a68c48 Binary files /dev/null and b/dashboard/img/flags/gd.png differ diff --git a/dashboard/img/flags/ge.png b/dashboard/img/flags/ge.png new file mode 100755 index 0000000..108e367 Binary files /dev/null and b/dashboard/img/flags/ge.png differ diff --git a/dashboard/img/flags/gh.png b/dashboard/img/flags/gh.png new file mode 100755 index 0000000..c2bf9d0 Binary files /dev/null and b/dashboard/img/flags/gh.png differ diff --git a/dashboard/img/flags/gm.png b/dashboard/img/flags/gm.png new file mode 100755 index 0000000..b929a80 Binary files /dev/null and b/dashboard/img/flags/gm.png differ diff --git a/dashboard/img/flags/gn.png b/dashboard/img/flags/gn.png new file mode 100755 index 0000000..be43ceb Binary files /dev/null and b/dashboard/img/flags/gn.png differ diff --git a/dashboard/img/flags/gq.png b/dashboard/img/flags/gq.png new file mode 100755 index 0000000..db9415a Binary files /dev/null and b/dashboard/img/flags/gq.png differ diff --git a/dashboard/img/flags/gr.png b/dashboard/img/flags/gr.png new file mode 100755 index 0000000..0944411 Binary files /dev/null and b/dashboard/img/flags/gr.png differ diff --git a/dashboard/img/flags/gt.png b/dashboard/img/flags/gt.png new file mode 100755 index 0000000..76c5db7 Binary files /dev/null and b/dashboard/img/flags/gt.png differ diff --git a/dashboard/img/flags/gw.png b/dashboard/img/flags/gw.png new file mode 100755 index 0000000..06dc510 Binary files /dev/null and b/dashboard/img/flags/gw.png differ diff --git a/dashboard/img/flags/gy.png b/dashboard/img/flags/gy.png new file mode 100755 index 0000000..4f9b232 Binary files /dev/null and b/dashboard/img/flags/gy.png differ diff --git a/dashboard/img/flags/hn.png b/dashboard/img/flags/hn.png new file mode 100755 index 0000000..b1a9f5f Binary files /dev/null and b/dashboard/img/flags/hn.png differ diff --git a/dashboard/img/flags/hr.png b/dashboard/img/flags/hr.png new file mode 100755 index 0000000..6820513 Binary files /dev/null and b/dashboard/img/flags/hr.png differ diff --git a/dashboard/img/flags/ht.png b/dashboard/img/flags/ht.png new file mode 100755 index 0000000..ba76abd Binary files /dev/null and b/dashboard/img/flags/ht.png differ diff --git a/dashboard/img/flags/hu.png b/dashboard/img/flags/hu.png new file mode 100755 index 0000000..eeee4ca Binary files /dev/null and b/dashboard/img/flags/hu.png differ diff --git a/dashboard/img/flags/id.png b/dashboard/img/flags/id.png new file mode 100755 index 0000000..e96bc74 Binary files /dev/null and b/dashboard/img/flags/id.png differ diff --git a/dashboard/img/flags/ie.png b/dashboard/img/flags/ie.png new file mode 100755 index 0000000..52e2ad4 Binary files /dev/null and b/dashboard/img/flags/ie.png differ diff --git a/dashboard/img/flags/il.png b/dashboard/img/flags/il.png new file mode 100755 index 0000000..c85c9d3 Binary files /dev/null and b/dashboard/img/flags/il.png differ diff --git a/dashboard/img/flags/in.png b/dashboard/img/flags/in.png new file mode 100755 index 0000000..be5acd3 Binary files /dev/null and b/dashboard/img/flags/in.png differ diff --git a/dashboard/img/flags/iq.png b/dashboard/img/flags/iq.png new file mode 100755 index 0000000..f370c9a Binary files /dev/null and b/dashboard/img/flags/iq.png differ diff --git a/dashboard/img/flags/ir.png b/dashboard/img/flags/ir.png new file mode 100755 index 0000000..7f647fa Binary files /dev/null and b/dashboard/img/flags/ir.png differ diff --git a/dashboard/img/flags/is.png b/dashboard/img/flags/is.png new file mode 100755 index 0000000..74c9e03 Binary files /dev/null and b/dashboard/img/flags/is.png differ diff --git a/dashboard/img/flags/it.png b/dashboard/img/flags/it.png new file mode 100755 index 0000000..d62e50b Binary files /dev/null and b/dashboard/img/flags/it.png differ diff --git a/dashboard/img/flags/jm.png b/dashboard/img/flags/jm.png new file mode 100755 index 0000000..a960d3d Binary files /dev/null and b/dashboard/img/flags/jm.png differ diff --git a/dashboard/img/flags/jo.png b/dashboard/img/flags/jo.png new file mode 100755 index 0000000..e8b743a Binary files /dev/null and b/dashboard/img/flags/jo.png differ diff --git a/dashboard/img/flags/jp.png b/dashboard/img/flags/jp.png new file mode 100755 index 0000000..fd1ce05 Binary files /dev/null and b/dashboard/img/flags/jp.png differ diff --git a/dashboard/img/flags/ke.png b/dashboard/img/flags/ke.png new file mode 100755 index 0000000..dbf559f Binary files /dev/null and b/dashboard/img/flags/ke.png differ diff --git a/dashboard/img/flags/kg.png b/dashboard/img/flags/kg.png new file mode 100755 index 0000000..c0fe3e5 Binary files /dev/null and b/dashboard/img/flags/kg.png differ diff --git a/dashboard/img/flags/kh.png b/dashboard/img/flags/kh.png new file mode 100755 index 0000000..b9340f7 Binary files /dev/null and b/dashboard/img/flags/kh.png differ diff --git a/dashboard/img/flags/ki.png b/dashboard/img/flags/ki.png new file mode 100755 index 0000000..6b718d1 Binary files /dev/null and b/dashboard/img/flags/ki.png differ diff --git a/dashboard/img/flags/km.png b/dashboard/img/flags/km.png new file mode 100755 index 0000000..dbbd8f4 Binary files /dev/null and b/dashboard/img/flags/km.png differ diff --git a/dashboard/img/flags/kn.png b/dashboard/img/flags/kn.png new file mode 100755 index 0000000..028bef5 Binary files /dev/null and b/dashboard/img/flags/kn.png differ diff --git a/dashboard/img/flags/kp.png b/dashboard/img/flags/kp.png new file mode 100755 index 0000000..3fee379 Binary files /dev/null and b/dashboard/img/flags/kp.png differ diff --git a/dashboard/img/flags/kr.png b/dashboard/img/flags/kr.png new file mode 100755 index 0000000..d0022a2 Binary files /dev/null and b/dashboard/img/flags/kr.png differ diff --git a/dashboard/img/flags/ks.png b/dashboard/img/flags/ks.png new file mode 100755 index 0000000..e1824f1 Binary files /dev/null and b/dashboard/img/flags/ks.png differ diff --git a/dashboard/img/flags/kw.png b/dashboard/img/flags/kw.png new file mode 100755 index 0000000..7f701d5 Binary files /dev/null and b/dashboard/img/flags/kw.png differ diff --git a/dashboard/img/flags/kz.png b/dashboard/img/flags/kz.png new file mode 100755 index 0000000..1c23ee1 Binary files /dev/null and b/dashboard/img/flags/kz.png differ diff --git a/dashboard/img/flags/la.png b/dashboard/img/flags/la.png new file mode 100755 index 0000000..9758884 Binary files /dev/null and b/dashboard/img/flags/la.png differ diff --git a/dashboard/img/flags/lb.png b/dashboard/img/flags/lb.png new file mode 100755 index 0000000..80b3256 Binary files /dev/null and b/dashboard/img/flags/lb.png differ diff --git a/dashboard/img/flags/lc.png b/dashboard/img/flags/lc.png new file mode 100755 index 0000000..dc2de27 Binary files /dev/null and b/dashboard/img/flags/lc.png differ diff --git a/dashboard/img/flags/li.png b/dashboard/img/flags/li.png new file mode 100755 index 0000000..c635a63 Binary files /dev/null and b/dashboard/img/flags/li.png differ diff --git a/dashboard/img/flags/lk.png b/dashboard/img/flags/lk.png new file mode 100755 index 0000000..12e6a00 Binary files /dev/null and b/dashboard/img/flags/lk.png differ diff --git a/dashboard/img/flags/lr.png b/dashboard/img/flags/lr.png new file mode 100755 index 0000000..0b998ab Binary files /dev/null and b/dashboard/img/flags/lr.png differ diff --git a/dashboard/img/flags/ls.png b/dashboard/img/flags/ls.png new file mode 100755 index 0000000..ba9ed2d Binary files /dev/null and b/dashboard/img/flags/ls.png differ diff --git a/dashboard/img/flags/lt.png b/dashboard/img/flags/lt.png new file mode 100755 index 0000000..257930e Binary files /dev/null and b/dashboard/img/flags/lt.png differ diff --git a/dashboard/img/flags/lu.png b/dashboard/img/flags/lu.png new file mode 100755 index 0000000..64b5dd6 Binary files /dev/null and b/dashboard/img/flags/lu.png differ diff --git a/dashboard/img/flags/lv.png b/dashboard/img/flags/lv.png new file mode 100755 index 0000000..fb8345e Binary files /dev/null and b/dashboard/img/flags/lv.png differ diff --git a/dashboard/img/flags/ly.png b/dashboard/img/flags/ly.png new file mode 100755 index 0000000..b90fc93 Binary files /dev/null and b/dashboard/img/flags/ly.png differ diff --git a/dashboard/img/flags/ma.png b/dashboard/img/flags/ma.png new file mode 100755 index 0000000..8e62535 Binary files /dev/null and b/dashboard/img/flags/ma.png differ diff --git a/dashboard/img/flags/mc.png b/dashboard/img/flags/mc.png new file mode 100755 index 0000000..194a09e Binary files /dev/null and b/dashboard/img/flags/mc.png differ diff --git a/dashboard/img/flags/md.png b/dashboard/img/flags/md.png new file mode 100755 index 0000000..0071401 Binary files /dev/null and b/dashboard/img/flags/md.png differ diff --git a/dashboard/img/flags/me.png b/dashboard/img/flags/me.png new file mode 100755 index 0000000..0952236 Binary files /dev/null and b/dashboard/img/flags/me.png differ diff --git a/dashboard/img/flags/mg.png b/dashboard/img/flags/mg.png new file mode 100755 index 0000000..4b4b065 Binary files /dev/null and b/dashboard/img/flags/mg.png differ diff --git a/dashboard/img/flags/mh.png b/dashboard/img/flags/mh.png new file mode 100755 index 0000000..3e7a4b5 Binary files /dev/null and b/dashboard/img/flags/mh.png differ diff --git a/dashboard/img/flags/mk.png b/dashboard/img/flags/mk.png new file mode 100755 index 0000000..4cb42a7 Binary files /dev/null and b/dashboard/img/flags/mk.png differ diff --git a/dashboard/img/flags/ml.png b/dashboard/img/flags/ml.png new file mode 100755 index 0000000..182848a Binary files /dev/null and b/dashboard/img/flags/ml.png differ diff --git a/dashboard/img/flags/mm.png b/dashboard/img/flags/mm.png new file mode 100755 index 0000000..f486f85 Binary files /dev/null and b/dashboard/img/flags/mm.png differ diff --git a/dashboard/img/flags/mn.png b/dashboard/img/flags/mn.png new file mode 100755 index 0000000..dd0bb39 Binary files /dev/null and b/dashboard/img/flags/mn.png differ diff --git a/dashboard/img/flags/mr.png b/dashboard/img/flags/mr.png new file mode 100755 index 0000000..caf0365 Binary files /dev/null and b/dashboard/img/flags/mr.png differ diff --git a/dashboard/img/flags/mt.png b/dashboard/img/flags/mt.png new file mode 100755 index 0000000..b4d686e Binary files /dev/null and b/dashboard/img/flags/mt.png differ diff --git a/dashboard/img/flags/mu.png b/dashboard/img/flags/mu.png new file mode 100755 index 0000000..03f524f Binary files /dev/null and b/dashboard/img/flags/mu.png differ diff --git a/dashboard/img/flags/mv.png b/dashboard/img/flags/mv.png new file mode 100755 index 0000000..ab4aae4 Binary files /dev/null and b/dashboard/img/flags/mv.png differ diff --git a/dashboard/img/flags/mw.png b/dashboard/img/flags/mw.png new file mode 100755 index 0000000..bf38ff9 Binary files /dev/null and b/dashboard/img/flags/mw.png differ diff --git a/dashboard/img/flags/mx.png b/dashboard/img/flags/mx.png new file mode 100755 index 0000000..783148b Binary files /dev/null and b/dashboard/img/flags/mx.png differ diff --git a/dashboard/img/flags/my.png b/dashboard/img/flags/my.png new file mode 100755 index 0000000..5a9ae41 Binary files /dev/null and b/dashboard/img/flags/my.png differ diff --git a/dashboard/img/flags/mz.png b/dashboard/img/flags/mz.png new file mode 100755 index 0000000..0e4c983 Binary files /dev/null and b/dashboard/img/flags/mz.png differ diff --git a/dashboard/img/flags/na.png b/dashboard/img/flags/na.png new file mode 100755 index 0000000..620937b Binary files /dev/null and b/dashboard/img/flags/na.png differ diff --git a/dashboard/img/flags/ne.png b/dashboard/img/flags/ne.png new file mode 100755 index 0000000..0762231 Binary files /dev/null and b/dashboard/img/flags/ne.png differ diff --git a/dashboard/img/flags/ng.png b/dashboard/img/flags/ng.png new file mode 100755 index 0000000..ba56e9e Binary files /dev/null and b/dashboard/img/flags/ng.png differ diff --git a/dashboard/img/flags/ni.png b/dashboard/img/flags/ni.png new file mode 100755 index 0000000..9b6dbf5 Binary files /dev/null and b/dashboard/img/flags/ni.png differ diff --git a/dashboard/img/flags/nl.png b/dashboard/img/flags/nl.png new file mode 100755 index 0000000..aeb72b6 Binary files /dev/null and b/dashboard/img/flags/nl.png differ diff --git a/dashboard/img/flags/no.png b/dashboard/img/flags/no.png new file mode 100755 index 0000000..e14f90f Binary files /dev/null and b/dashboard/img/flags/no.png differ diff --git a/dashboard/img/flags/np.png b/dashboard/img/flags/np.png new file mode 100755 index 0000000..fd0cd6e Binary files /dev/null and b/dashboard/img/flags/np.png differ diff --git a/dashboard/img/flags/nr.png b/dashboard/img/flags/nr.png new file mode 100755 index 0000000..7214086 Binary files /dev/null and b/dashboard/img/flags/nr.png differ diff --git a/dashboard/img/flags/nz.png b/dashboard/img/flags/nz.png new file mode 100755 index 0000000..1f25035 Binary files /dev/null and b/dashboard/img/flags/nz.png differ diff --git a/dashboard/img/flags/om.png b/dashboard/img/flags/om.png new file mode 100755 index 0000000..05c99d9 Binary files /dev/null and b/dashboard/img/flags/om.png differ diff --git a/dashboard/img/flags/pa.png b/dashboard/img/flags/pa.png new file mode 100755 index 0000000..96d4c8e Binary files /dev/null and b/dashboard/img/flags/pa.png differ diff --git a/dashboard/img/flags/pe.png b/dashboard/img/flags/pe.png new file mode 100755 index 0000000..e4d623e Binary files /dev/null and b/dashboard/img/flags/pe.png differ diff --git a/dashboard/img/flags/pg.png b/dashboard/img/flags/pg.png new file mode 100755 index 0000000..5011a16 Binary files /dev/null and b/dashboard/img/flags/pg.png differ diff --git a/dashboard/img/flags/ph.png b/dashboard/img/flags/ph.png new file mode 100755 index 0000000..41ddff2 Binary files /dev/null and b/dashboard/img/flags/ph.png differ diff --git a/dashboard/img/flags/pk.png b/dashboard/img/flags/pk.png new file mode 100755 index 0000000..76020fe Binary files /dev/null and b/dashboard/img/flags/pk.png differ diff --git a/dashboard/img/flags/pl.png b/dashboard/img/flags/pl.png new file mode 100755 index 0000000..d4db002 Binary files /dev/null and b/dashboard/img/flags/pl.png differ diff --git a/dashboard/img/flags/pt.png b/dashboard/img/flags/pt.png new file mode 100755 index 0000000..e0619bc Binary files /dev/null and b/dashboard/img/flags/pt.png differ diff --git a/dashboard/img/flags/pw.png b/dashboard/img/flags/pw.png new file mode 100755 index 0000000..be101ba Binary files /dev/null and b/dashboard/img/flags/pw.png differ diff --git a/dashboard/img/flags/py.png b/dashboard/img/flags/py.png new file mode 100755 index 0000000..b2e2d5c Binary files /dev/null and b/dashboard/img/flags/py.png differ diff --git a/dashboard/img/flags/qa.png b/dashboard/img/flags/qa.png new file mode 100755 index 0000000..0e615fe Binary files /dev/null and b/dashboard/img/flags/qa.png differ diff --git a/dashboard/img/flags/ro.png b/dashboard/img/flags/ro.png new file mode 100755 index 0000000..57f34f3 Binary files /dev/null and b/dashboard/img/flags/ro.png differ diff --git a/dashboard/img/flags/rs.png b/dashboard/img/flags/rs.png new file mode 100755 index 0000000..7273ea7 Binary files /dev/null and b/dashboard/img/flags/rs.png differ diff --git a/dashboard/img/flags/ru.png b/dashboard/img/flags/ru.png new file mode 100755 index 0000000..79d2101 Binary files /dev/null and b/dashboard/img/flags/ru.png differ diff --git a/dashboard/img/flags/rw.png b/dashboard/img/flags/rw.png new file mode 100755 index 0000000..5b859ea Binary files /dev/null and b/dashboard/img/flags/rw.png differ diff --git a/dashboard/img/flags/sa.png b/dashboard/img/flags/sa.png new file mode 100755 index 0000000..0df5b92 Binary files /dev/null and b/dashboard/img/flags/sa.png differ diff --git a/dashboard/img/flags/sb.png b/dashboard/img/flags/sb.png new file mode 100755 index 0000000..832f7ce Binary files /dev/null and b/dashboard/img/flags/sb.png differ diff --git a/dashboard/img/flags/sc.png b/dashboard/img/flags/sc.png new file mode 100755 index 0000000..a497589 Binary files /dev/null and b/dashboard/img/flags/sc.png differ diff --git a/dashboard/img/flags/sd.png b/dashboard/img/flags/sd.png new file mode 100755 index 0000000..386f3e8 Binary files /dev/null and b/dashboard/img/flags/sd.png differ diff --git a/dashboard/img/flags/se.png b/dashboard/img/flags/se.png new file mode 100755 index 0000000..9e12578 Binary files /dev/null and b/dashboard/img/flags/se.png differ diff --git a/dashboard/img/flags/sg.png b/dashboard/img/flags/sg.png new file mode 100755 index 0000000..7e89814 Binary files /dev/null and b/dashboard/img/flags/sg.png differ diff --git a/dashboard/img/flags/si.png b/dashboard/img/flags/si.png new file mode 100755 index 0000000..3692b66 Binary files /dev/null and b/dashboard/img/flags/si.png differ diff --git a/dashboard/img/flags/sk.png b/dashboard/img/flags/sk.png new file mode 100755 index 0000000..8a73d64 Binary files /dev/null and b/dashboard/img/flags/sk.png differ diff --git a/dashboard/img/flags/sl.png b/dashboard/img/flags/sl.png new file mode 100755 index 0000000..b68450d Binary files /dev/null and b/dashboard/img/flags/sl.png differ diff --git a/dashboard/img/flags/sm.png b/dashboard/img/flags/sm.png new file mode 100755 index 0000000..43f1965 Binary files /dev/null and b/dashboard/img/flags/sm.png differ diff --git a/dashboard/img/flags/sn.png b/dashboard/img/flags/sn.png new file mode 100755 index 0000000..fcd0244 Binary files /dev/null and b/dashboard/img/flags/sn.png differ diff --git a/dashboard/img/flags/so.png b/dashboard/img/flags/so.png new file mode 100755 index 0000000..819490b Binary files /dev/null and b/dashboard/img/flags/so.png differ diff --git a/dashboard/img/flags/sr.png b/dashboard/img/flags/sr.png new file mode 100755 index 0000000..9ac4337 Binary files /dev/null and b/dashboard/img/flags/sr.png differ diff --git a/dashboard/img/flags/st.png b/dashboard/img/flags/st.png new file mode 100755 index 0000000..b4edccb Binary files /dev/null and b/dashboard/img/flags/st.png differ diff --git a/dashboard/img/flags/sv.png b/dashboard/img/flags/sv.png new file mode 100755 index 0000000..7fe790c Binary files /dev/null and b/dashboard/img/flags/sv.png differ diff --git a/dashboard/img/flags/sy.png b/dashboard/img/flags/sy.png new file mode 100755 index 0000000..c78f9d5 Binary files /dev/null and b/dashboard/img/flags/sy.png differ diff --git a/dashboard/img/flags/sz.png b/dashboard/img/flags/sz.png new file mode 100755 index 0000000..6550515 Binary files /dev/null and b/dashboard/img/flags/sz.png differ diff --git a/dashboard/img/flags/td.png b/dashboard/img/flags/td.png new file mode 100755 index 0000000..c0c76da Binary files /dev/null and b/dashboard/img/flags/td.png differ diff --git a/dashboard/img/flags/tg.png b/dashboard/img/flags/tg.png new file mode 100755 index 0000000..31f1a00 Binary files /dev/null and b/dashboard/img/flags/tg.png differ diff --git a/dashboard/img/flags/th.png b/dashboard/img/flags/th.png new file mode 100755 index 0000000..5cf74c9 Binary files /dev/null and b/dashboard/img/flags/th.png differ diff --git a/dashboard/img/flags/tj.png b/dashboard/img/flags/tj.png new file mode 100755 index 0000000..1d83e4c Binary files /dev/null and b/dashboard/img/flags/tj.png differ diff --git a/dashboard/img/flags/tl.png b/dashboard/img/flags/tl.png new file mode 100755 index 0000000..c646f33 Binary files /dev/null and b/dashboard/img/flags/tl.png differ diff --git a/dashboard/img/flags/tm.png b/dashboard/img/flags/tm.png new file mode 100755 index 0000000..5dd8fb9 Binary files /dev/null and b/dashboard/img/flags/tm.png differ diff --git a/dashboard/img/flags/tn.png b/dashboard/img/flags/tn.png new file mode 100755 index 0000000..09ce235 Binary files /dev/null and b/dashboard/img/flags/tn.png differ diff --git a/dashboard/img/flags/to.png b/dashboard/img/flags/to.png new file mode 100755 index 0000000..34b5aa1 Binary files /dev/null and b/dashboard/img/flags/to.png differ diff --git a/dashboard/img/flags/tr.png b/dashboard/img/flags/tr.png new file mode 100755 index 0000000..a67740a Binary files /dev/null and b/dashboard/img/flags/tr.png differ diff --git a/dashboard/img/flags/tt.png b/dashboard/img/flags/tt.png new file mode 100755 index 0000000..61ee0b0 Binary files /dev/null and b/dashboard/img/flags/tt.png differ diff --git a/dashboard/img/flags/tv.png b/dashboard/img/flags/tv.png new file mode 100755 index 0000000..16f8616 Binary files /dev/null and b/dashboard/img/flags/tv.png differ diff --git a/dashboard/img/flags/tw.png b/dashboard/img/flags/tw.png new file mode 100755 index 0000000..88cc0df Binary files /dev/null and b/dashboard/img/flags/tw.png differ diff --git a/dashboard/img/flags/tz.png b/dashboard/img/flags/tz.png new file mode 100755 index 0000000..94ca541 Binary files /dev/null and b/dashboard/img/flags/tz.png differ diff --git a/dashboard/img/flags/ua.png b/dashboard/img/flags/ua.png new file mode 100755 index 0000000..80301f4 Binary files /dev/null and b/dashboard/img/flags/ua.png differ diff --git a/dashboard/img/flags/ug.png b/dashboard/img/flags/ug.png new file mode 100755 index 0000000..fec8a45 Binary files /dev/null and b/dashboard/img/flags/ug.png differ diff --git a/dashboard/img/flags/us.png b/dashboard/img/flags/us.png new file mode 100755 index 0000000..07ddf4e Binary files /dev/null and b/dashboard/img/flags/us.png differ diff --git a/dashboard/img/flags/uy.png b/dashboard/img/flags/uy.png new file mode 100755 index 0000000..d49a4f1 Binary files /dev/null and b/dashboard/img/flags/uy.png differ diff --git a/dashboard/img/flags/uz.png b/dashboard/img/flags/uz.png new file mode 100755 index 0000000..37688d8 Binary files /dev/null and b/dashboard/img/flags/uz.png differ diff --git a/dashboard/img/flags/va.png b/dashboard/img/flags/va.png new file mode 100755 index 0000000..9938009 Binary files /dev/null and b/dashboard/img/flags/va.png differ diff --git a/dashboard/img/flags/vc.png b/dashboard/img/flags/vc.png new file mode 100755 index 0000000..55018b1 Binary files /dev/null and b/dashboard/img/flags/vc.png differ diff --git a/dashboard/img/flags/ve.png b/dashboard/img/flags/ve.png new file mode 100755 index 0000000..4c8b135 Binary files /dev/null and b/dashboard/img/flags/ve.png differ diff --git a/dashboard/img/flags/vn.png b/dashboard/img/flags/vn.png new file mode 100755 index 0000000..e9edf37 Binary files /dev/null and b/dashboard/img/flags/vn.png differ diff --git a/dashboard/img/flags/vu.png b/dashboard/img/flags/vu.png new file mode 100755 index 0000000..b221447 Binary files /dev/null and b/dashboard/img/flags/vu.png differ diff --git a/dashboard/img/flags/ws.png b/dashboard/img/flags/ws.png new file mode 100755 index 0000000..b44c452 Binary files /dev/null and b/dashboard/img/flags/ws.png differ diff --git a/dashboard/img/flags/ye.png b/dashboard/img/flags/ye.png new file mode 100755 index 0000000..61a0a56 Binary files /dev/null and b/dashboard/img/flags/ye.png differ diff --git a/dashboard/img/flags/za.png b/dashboard/img/flags/za.png new file mode 100755 index 0000000..b6ac53e Binary files /dev/null and b/dashboard/img/flags/za.png differ diff --git a/dashboard/img/flags/zm.png b/dashboard/img/flags/zm.png new file mode 100755 index 0000000..a8b5749 Binary files /dev/null and b/dashboard/img/flags/zm.png differ diff --git a/dashboard/img/flags/zw.png b/dashboard/img/flags/zw.png new file mode 100755 index 0000000..004cd2a Binary files /dev/null and b/dashboard/img/flags/zw.png differ diff --git a/dashboard/img/header.jpg b/dashboard/img/header.jpg new file mode 100755 index 0000000..61638c5 Binary files /dev/null and b/dashboard/img/header.jpg differ diff --git a/dashboard/img/radio-waves-hi.png b/dashboard/img/radio-waves-hi.png new file mode 100755 index 0000000..8befa19 Binary files /dev/null and b/dashboard/img/radio-waves-hi.png differ diff --git a/dashboard/img/sat.png b/dashboard/img/sat.png new file mode 100755 index 0000000..c672ce3 Binary files /dev/null and b/dashboard/img/sat.png differ diff --git a/dashboard/index.php b/dashboard/index.php new file mode 100755 index 0000000..8f1ff20 --- /dev/null +++ b/dashboard/index.php @@ -0,0 +1,128 @@ +. +// ---------------------------------------------------------------------------- + +$FILE = "/var/log/xlxd.xml"; + +require_once("./pgs/functions.php"); +if (!class_exists('ParseXML')) require_once("./pgs/class.parsexml.php"); +if (!class_exists('Node')) require_once("./pgs/class.node.php"); +if (!class_exists('xReflector')) require_once("./pgs/class.reflector.php"); +if (!class_exists('Station')) require_once("./pgs/class.station.php"); + + + +//if (!isset($_GET['show'])) { $_GET['show'] == ''; } + +if (!@file_exists($FILE) && (!@is_readable($FILE))) die("xlxd.xml does not exist or is not readable"); + +$handle = fopen($FILE, 'r'); +$FILECONTENT = fread($handle, filesize($FILE)); +fclose($handle); + + + +$XML = new ParseXML(); +$Reflector = new xReflector(); +$Reflector->SetFlagFile("./pgs/country.csv"); + +$ServiceName = substr($FILECONTENT, strpos($FILECONTENT, "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'), $XML->GetElement($tmpStations[$i], 'LastHeardTime')); + $Reflector->AddStation($Station, false); +} + + +?> + + + + XLX Reflector Dashboard + + + + + +
XLX Multiprotocol Gateway Reflector
+ +
+ + + +
dvc@rlx.lu
+ +
+ + + + diff --git a/dashboard/log/xlxlog.php b/dashboard/log/xlxlog.php new file mode 100755 index 0000000..1b42608 --- /dev/null +++ b/dashboard/log/xlxlog.php @@ -0,0 +1,103 @@ +. +// ---------------------------------------------------------------------------- +session_start(); + +if (isset($_POST['password'])) { + $_SESSION['password'] = $_POST['password']; +} + +if (isset($_SESSION['password'])) { + + if ($_SESSION['password'] != "-D-Star+") { + echo ' +
+ + + + +
'; + + die(); + } +} +else { + echo ' +
+ + + + +
'; + + die(); +} + + +?> + + + + + XLX Live Log + + + + +
+
+
+   
+ + diff --git a/dashboard/pgs/class.node.php b/dashboard/pgs/class.node.php new file mode 100755 index 0000000..908e733 --- /dev/null +++ b/dashboard/pgs/class.node.php @@ -0,0 +1,67 @@ +. +// ---------------------------------------------------------------------------- + +class Node { + + private $Callsign; + private $IP; + private $LinkedModule; + private $Protocol; + private $ConnectTime; + private $LastHeardTime; + private $Suffix; + + public function __construct($Callsign, $IP, $LinkedModule, $Protocol, $ConnectTime, $LastHeardTime) { + + $this->IP = $IP; + + $this->Protocol = $Protocol; + $this->ConnectTime = ParseTime($ConnectTime); + $this->LastHeardTime = ParseTime($LastHeardTime); + + if (strpos($Callsign, " ") !== false) { + $this->Callsign = trim(substr($Callsign, 0, strpos($Callsign, " "))); + $this->Suffix = trim(substr($Callsign, strpos($Callsign, " "), strlen($Callsign))); + } + else { + $this->Callsign = trim($Callsign); + $this->Suffix = ""; + } + + + $this->LinkedModule = trim($LinkedModule); + } + + + public function GetCallsign() { return $this->Callsign; } + public function GetIP() { return $this->IP; } + public function GetLinkedModule() { return $this->LinkedModule; } + public function GetProtocol() { return $this->Protocol; } + public function GetConnectTime() { return $this->ConnectTime; } + public function GetLastHeardTime() { return $this->LastHeardTime; } + public function GetSuffix() { return $this->Suffix; } + +} + +?> diff --git a/dashboard/pgs/class.parsexml.php b/dashboard/pgs/class.parsexml.php new file mode 100755 index 0000000..e948746 --- /dev/null +++ b/dashboard/pgs/class.parsexml.php @@ -0,0 +1,54 @@ +. +// ---------------------------------------------------------------------------- + +class ParseXML { + + public function __construct() { + return true; + } + + public function GetElement($InputString, $ElementName) { + if (strpos($InputString, "<".$ElementName.">") === false) return false; + if (strpos($InputString, "") === false) return false; + + $Element = substr($InputString, strpos($InputString, "<".$ElementName.">")+strlen($ElementName)+2, strpos($InputString, "")-strpos($InputString, "<".$ElementName.">")-strlen($ElementName)-2); + return $Element; + + } + + public function GetAllElements($InputString, $ElementName) { + $Elements = array(); + while (strpos($InputString, $ElementName) !== false) { + $Elements[] = $this->GetElement($InputString, $ElementName); + $InputString = substr($InputString, strpos($InputString, "")+strlen($ElementName)+3, strlen($InputString)); + } + return $Elements; + } + + +} + + + +?> diff --git a/dashboard/pgs/class.reflector.php b/dashboard/pgs/class.reflector.php new file mode 100755 index 0000000..928f264 --- /dev/null +++ b/dashboard/pgs/class.reflector.php @@ -0,0 +1,210 @@ +. +// ---------------------------------------------------------------------------- + +class xReflector { + + public $Nodes = null; + public $Stations = null; + private $Flagarray = null; + private $Flagfile = null; + + public function __construct() { + $this->Nodes = array(); + $this->Stations = array(); + } + + public function SetFlagFile($Flagfile) { + if (file_exists($Flagfile) && (is_readable($Flagfile))) { + $this->Flagfile = $Flagfile; + return true; + } + return false; + } + + public function LoadFlags() { + if ($this->Flagfile != null) { + $this->Flagarray = array(); + $handle = fopen($this->Flagfile,"r"); + if ($handle) { + $i = 0; + while(!feof($handle)) { + $row = fgets($handle,1024); + $tmp = explode(";", $row); + + if (isset($tmp[0])) { $this->Flagarray[$i]['Country'] = $tmp[0]; } else { $this->Flagarray[$i]['Country'] = 'Undefined'; } + if (isset($tmp[1])) { $this->Flagarray[$i]['ISO'] = $tmp[1]; } else { $this->Flagarray[$i]['ISO'] = "Undefined"; } + $this->Flagarray[$i]['DXCC'] = array(); + if (isset($tmp[2])) { + $tmp2 = explode("-", $tmp[2]); + for ($j=0;$jFlagarray[$i]['DXCC'][] = $tmp2[$j]; + } + } + $i++; + } + fclose($handle); + } + return true; + } + return false; + } + + public function AddNode($NodeObject) { + if (is_object($NodeObject)) { + $this->Nodes[] = $NodeObject; + } + } + + public function NodeCount() { + return count($this->Nodes); + } + + public function GetNode($ArrayIndex) { + if (isset($this->Nodes[$ArrayIndex])) { + return $this->Nodes[$ArrayIndex]; + } + return false; + } + + public function AddStation($StationObject, $AllowDouble = false) { + if (is_object($StationObject)) { + + if ($AllowDouble) { + $this->Stations[] = $StationObject; + } + else { + $FoundStationInList = false; + $i = 0; + + $tmp = explode(" ", $StationObject->GetCallsign()); + $RealCallsign = trim($tmp[0]); + + while (!$FoundStationInList && $i<$this->StationCount()) { + if ($this->Stations[$i]->GetCallsignOnly() == $RealCallsign) { + $FoundStationInList = true; + } + $i++; + } + + if (!$FoundStationInList) { + $this->Stations[] = $StationObject; + } + + } + } + } + + public function GetSuffixOfRepeater($Repeater) { + $suffix = ""; + $found = false; + $i = 0; + while (!$found && $i < $this->NodeCount()) { + + if (strpos($this->Nodes[$i]->GetCallSign(), $Repeater) !== false) { + + + $suffix = $this->Nodes[$i]->GetSuffix(); + $found = true; + } + $i++; + } + return $suffix; + } + + public function StationCount() { + return count($this->Stations); + } + + public function GetStation($ArrayIndex) { + if (isset($this->Stations[$ArrayIndex])) { + return $this->Stations[$ArrayIndex]; + } + return false; + } + + public function GetFlag($Callsign) { + $Image = ""; + $FoundFlag = false; + $Letters = 2; + while (($Letters < 5) && (!$FoundFlag)) { + $j = 0; + $Prefix = substr($Callsign, 0, $Letters); + while (($j < count($this->Flagarray)) && (!$FoundFlag)) { + + $z = 0; + while (($z < count($this->Flagarray[$j]['DXCC'])) && (!$FoundFlag)) { + if (trim($Prefix) == trim($this->Flagarray[$j]['DXCC'][$z])) { + $Image = $this->Flagarray[$j]['ISO']; + $FoundFlag = true; + } + $z++; + } + $j++; + } + $Letters++; + } + + if (!$FoundFlag) { + $Prefix = substr($Callsign, 0, 1); + if ($Prefix == 'N') { $Image = "us"; } + if ($Prefix == 'K') { $Image = "us"; } + if ($Prefix == 'W') { $Image = "us"; } + if ($Prefix == 'G') { $Image = "gb"; } + if ($Prefix == 'R') { $Image = "ru"; } + if ($Prefix == 'F') { $Image = "fr"; } + } + return strtolower($Image); + } + + public function GetModules() { + $out = array(); + for ($i=0;$i<$this->NodeCount();$i++) { + $Found = false; + $b = 0; + while ($b < count($out) && !$Found) { + if ($out[$b] == $this->Nodes[$i]->GetLinkedModule()) { + $Found = true; + } + $b++; + } + if (!$Found && (trim($this->Nodes[$i]->GetLinkedModule()) != "")) { + $out[] = $this->Nodes[$i]->GetLinkedModule(); + } + } + return $out; + } + + public function GetCallSignsInModules($Module) { + $out = array(); + for ($i=0;$i<$this->NodeCount();$i++) { + if ($this->Nodes[$i]->GetLinkedModule() == $Module) { + $out[] = $this->Nodes[$i]->GetCallsign(); + } + } + return $out; + } + +} + +?> diff --git a/dashboard/pgs/class.station.php b/dashboard/pgs/class.station.php new file mode 100755 index 0000000..0aa3ed5 --- /dev/null +++ b/dashboard/pgs/class.station.php @@ -0,0 +1,56 @@ +. +// ---------------------------------------------------------------------------- + +class Station { + + private $Callsign; + private $Via; + private $LastHeardTime; + private $Suffix; + private $CallsignOnly; + + public function __construct($Callsign, $Via, $LastHeardTime) { + $this->Callsign = trim($Callsign); + $this->Via = trim($Via); + $this->LastHeardTime = ParseTime($LastHeardTime); + if (strpos($Callsign, " / ") !== false) { + $this->Suffix = trim(substr($Callsign, strpos($Callsign, " / ")+3, strlen($Callsign))); + } + else { + $this->Suffix = ""; + } + + $tmp = explode(" ", $Callsign); + $this->CallsignOnly = $tmp[0]; + } + + public function GetCallsign() { return $this->Callsign; } + public function GetVIA() { return $this->Via; } + public function GetLastHeardTime() { return $this->LastHeardTime; } + public function GetSuffix() { return $this->Suffix; } + public function GetCallsignOnly() { return $this->CallsignOnly; } + +} + +?> diff --git a/dashboard/pgs/country.csv b/dashboard/pgs/country.csv new file mode 100755 index 0000000..5b3766a --- /dev/null +++ b/dashboard/pgs/country.csv @@ -0,0 +1,249 @@ +Afghanistan;AF;YA-T6 +Åland Islands;AX;OH0 +Albania;AL;ZA +Algeria;DZ;7T-7U-7V-7W-7X-7Y +American Samoa;AS;KH8 +Andorra;AD;C3 +Angola;AO;D2-D3 +Anguilla;AI;VP2E +Antarctica;AQ;CE9-KC4 +Antigua and Barbuda;AG;V2 +Argentina;AR;LO-LP-LQ-LR-LS-LT-LU-LV-LW +Armenia;AM;EK +Aruba;AW;P4 +Australia;AU;VK-AX +Austria;AT;OE +Azerbaijan;AZ;4J-4K +Bahamas;BS;C6 +Bahrain;BH;A9 +Bangladesh;BD;S2 +Barbados;BB;8P +Belarus;BY;EU-EV-EW +Belgium;BE;ON +Belize;BZ;V3 +Benin;BJ;TY +Bermuda;BM;VP9 +Bhutan;BT;A5 +Bolivia, Plurinational State of;BO;CP +Bonaire, Sint Eustatius and Saba;BQ;PJ4 +Bosnia and Herzegovina;BA;E7 +Botswana;BW;A2 +Bouvet Island;BV;3Y +Brazil;BR;PP-PQ-PR-PS-PT-PU-PV-PW-PX-PY-ZV-ZW-ZX-ZY-ZZ +British Indian Ocean Territory;IO;VP2V +Brunei Darussalam;BN;V8 +Bulgaria;BG;LZ +Burkina Faso;BF;XT +Burundi;BI;9U +Cambodia;KH;XU +Cameroon;CM;TJ +Canada;CA;VA-VB-VC-VD-VE-VF-VG +Cape Verde;CV;D4 +Cayman Islands;KY;ZF +Central African Republic;CF;TL +Chad;TD;TT +Chile;CL;CA-CB-CC-CD-CE +China;CN;BY +Christmas Island;CX;VK9X +Cocos (Keeling) Islands;CC;VK9C +Colombia;CO;HJ-HK-5J-5K +Comoros;KM;D6 +Congo;CG;TN +Congo, the Democratic Republic of the;CD;9Q-9R-9S-9T +Cook Islands;CK;E5 +Costa Rica;CR;TI-TE +Côte d'Ivoire;CI;TU +Croatia;HR;9A +Cuba;CU;CO-CM +Curaçao;CW;PJ2 +Cyprus;CY;5B-C4-P3 +Czech Republic;CZ;OK-OL +Denmark;DK;OU-OV-OW-OZ +Djibouti;DJ;J2 +Dominica;DM;J7 +Dominican Republic;DO;HI +Ecuador;EC;HC-HD +Egypt;EG;SU +El Salvador;SV;YS-HU +Equatorial Guinea;GQ;3C +Eritrea;ER;E3 +Estonia;EE;ES +Ethiopia;ET;ET +Falkland Islands (Malvinas);FK;VP8 +Faroe Islands;FO;OY +Fiji;FJ;3D2 +Finland;FI;OF-OG-OH-OI +France;FR;F +French Guiana;GF;FY +French Polynesia;PF;FO-TX +French Southern Territories;TF;TK +Gabon;GA;TR +Gambia;GM;C5 +Georgia;GE;4L +Germany;DE;DA-DB-DC-DD-DE-DF-DG-DH-DI-DJ-DK-DL-DM-DN-DO-DP-DQ-DR +Ghana;GH;9G +Gibraltar;GI;ZB2 +Greece;GR;SV-SW-SX-SY-SZ-J4 +Greenland;GL;OX +Grenada;GD;J3 +Guadeloupe;GP;FG-TO +Guam;GU;KH2 +Guatemala;GT;TG-TD +Guernsey;GG;GU-GP +Guinea;GN;3X +Guinea-Bissau;GW;J5 +Guyana;GY;8R +Haiti;HT;HH +Heard Island and McDonald Islands;HM;VK0 +Holy See (Vatican City State);VA;HV +Honduras;HN;HQ-HR +Hong Kong;HK;VR +Hungary;HU;HA-HG +Iceland;IS;TF +India;IN;VU +Indonesia;ID;YB-YC-YD-YE-YF-YG-YH +Iran, Islamic Republic of;IR;EP-EQ +Iraq;IQ;YI +Ireland;IE;EI-EJ +Isle of Man;IM;GD-GT +Israel;IL;4X-4Z +Italy;IT;I +Jamaica;JM;6Y +Japan;JP;JA-JB-JC-JD-JE-JF-JG-JH-JI-JJ-JK-JL-JM-JN-JO-JP-JQ-JR-JS-7J-7K-7L-7M-7N +Jersey;JE;GJ-GH +Jordan;JO;JY +Kazakhstan;KZ;UN-UO-UP-UQ +Kenya;KE;5Y-5Z +Kiribati;KI;T30 +Korea, Democratic People's Republic of;KP;P5 +Korea, Republic of;KR;HL-6K-6L-6M-6N +Kuwait;KW;9K +Kyrgyzstan;KG;EX +Lao People's Democratic Republic;LA;XW +Latvia;LV;YL +Lebanon;LB;OD +Lesotho;LS;7P +Liberia;LR;EL +Libya;LY;5A +Liechtenstein;LI;HB0 +Lithuania;LT;LY +Luxembourg;LU;LX +Macao;MO;XX9 +Macedonia, the Former Yugoslav Republic of;MK;Z3 +Madagascar;MG;5R +Malawi;MW;7Q +Malaysia;MY;9M +Maldives;MV;8Q +Mali;ML;TZ +Malta;MT;9H +Marshall Islands;MH;V7 +Martinique;MQ;FM-TO +Mauritania;MR;5T +Mauritius;MU;3B8 +Mayotte;YT;FH-FO +Mexico;MX;XA-XB-XC-XD-XE-XF-XG-XH-XI +Micronesia, Federated States of;FM;V6 +Moldova, Republic of;MD;ER +Monaco;MC;3A +Mongolia;MN;JT-JU-JV +Montenegro;ME;4O +Montserrat;MS;VP2M +Morocco;MA;CN +Mozambique;MZ;C8-C9 +Myanmar;MM;XY-XZ +Namibia;NA;V5 +Nauru;NR;C2 +Nepal;NP;9N +Netherlands;NL;PA-PB-PC-PD-PE-PF-PG-PH-PI +New Caledonia;NC;FK-TX +New Zealand;NZ;ZL-ZM +Nicaragua;NI;YN-H6-H7-HT +Niger;NE;5U +Nigeria;NG;5N +Niue;NU;ZK2 +Norfolk Island;NF;VK9N +Northern Mariana Islands;MP;KH0 +Norway;NO;LA-LB-LC-LD-LE-LF-LG-LH-LI-LJ-LK-LL-LM-LN +Oman;OM;YO-YP-YQ-YR +Pakistan;PK;AP +Palau;PW;T8 +Palestine, State of;PS;E4 +Panama;PA;HO-HP +Papua New Guinea;PG;P2 +Paraguay;PY;ZP +Peru;PE;OA-OB-OC +Philippines;PH;DU-DV-DW-DX-DY-DZ-4D-4E-4F-4G-4H-4I +Pitcairn;PN;VP6 +Poland;PL;SN-SO-SP-SQ-SR +Portugal;PT;CT +Puerto Rico;PR;KP3-KP4 +Qatar;QA;A7 +Réunion;RE;FR-TO +Romania;RO;YO-YP-YQ-YR +Russian Federation;RU;UA-UB-UC-UD-UE-UF-UG-UH-UI-RA-RB-RC-RD-RE-RF-RG-RH-RI-RJ-RK-RL-RM-RN-RO-RP-RQ-RR-RS-RT-RT-RU-RV-RW-RX-RY-RZ +Rwanda;RW;9X +Saint Barthélemy;BL;FJ-TO +Saint Helena, Ascension and Tristan da Cunha;SH;ZD9 +Saint Kitts and Nevis;KN;V4 +Saint Lucia;LC;J6 +Saint Martin (French part);MF;FS-TO +Saint Pierre and Miquelon;PM;FP +Saint Vincent and the Grenadines;VC;J8 +Samoa;WS;5W +San Marino;SM;T7 +Sao Tome and Principe;ST;S9 +Saudi Arabia;SA;HZ +Senegal;SN;6V-6W +Serbia;RS;YT-YU +Seychelles;SC;S7 +Sierra Leone;SL;9L +Singapore;SG;9V +Sint Maarten (Dutch part);SX;PJ7 +Slovakia;SK;OM +Slovenia;SI;S5 +Solomon Islands;SB;H4 +Somalia;SO;T5-6O +South Africa;ZA;VP8-LU +South Georgia and the South Sandwich Islands;GS;VP8-LU +South Sudan;SS;ZR-ZS-ZT-ZU +Spain;ES;EA-EB-EC-ED-EE-EF-EG-EH +Sri Lanka;LK;4S +Sudan;SD;ST +Suriname;SR;PZ +Svalbard and Jan Mayen;SJ;JW +Swaziland;SZ;3DA +Sweden;SE;SA-SB-SC-SD-SE-SF-SG-SH-SI-SJ-SK-SL-SM-7S-8S +Switzerland;CH;HB +Syrian Arab Republic;SY;YK +Taiwan, Province of China;TW;BU-BV-BW-BX +Tajikistan;TJ;EY +Tanzania, United Republic of;TZ;5H-5I +Thailand;TH;HS-E2 +Timor-Leste;TL;4W +Togo;TG;5V +Tokelau;TK;ZK3 +Tonga;TO;A3 +Trinidad and Tobago;TT;9Y-9Z +Tunisia;TN;3V +Turkey;TR;TA-TB-TC +Turkmenistan;TM;EZ +Turks and Caicos Islands;TC;VP5 +Tuvalu;TV;T2 +Uganda;UG;5X +Ukraine;UA;UR-US-UT-UU-UV-UW-UX-UY-UZ +United Arab Emirates;AE;A6 +United Kingdom;GB;G-GX-M +United States;US;K-W-N-AA-AB-AC-AD-AE-AF-AG-AH-AI-AJ-AK-NS +United States Minor Outlying Islands;UM; +Uruguay;UY;CV-CW-CX +Uzbekistan;UZ;UJ-UK-UL-UM +Vanuatu;VU;YJ +Venezuela, Bolivarian Republic of;VE;YV-YW-YX-YY-4M +Viet Nam;VN;3W-XV +Virgin Islands, British;VG;VP2V +Virgin Islands, U.S.;VI;KP2 +Wallis and Futuna;WF;FW +Western Sahara;EH;S0 +Yemen;YE;7O +Zambia;ZM;9I-9J +Zimbabwe;ZW;Z2 \ No newline at end of file diff --git a/dashboard/pgs/functions.php b/dashboard/pgs/functions.php new file mode 100755 index 0000000..a3b74a6 --- /dev/null +++ b/dashboard/pgs/functions.php @@ -0,0 +1,75 @@ +. +// ---------------------------------------------------------------------------- + +function GetSystemUptime() { + $out = exec("uptime"); + return substr($out, 0, strpos($out, ",")); +} + +function Debug($message) { + echo '

';
+   print_r($message);
+   echo '


'; +} + +function ParseTime($Input) { + + if (strpos($Input, "<") !== false) { + $Input = substr($Input, 0, strpos($Input, "<")); + } + + // Tuesday Tue Nov 17 14:23:22 2015 + $tmp = explode(" ", $Input); + if (strlen(trim($tmp[3])) == 0) { + unset($tmp[3]); + $tmp = array_values($tmp); + } + + $tmp1 = explode(":", $tmp[4]); + $month = ""; + switch (strtolower($tmp[2])) { + case 'jan' : $month = 1; break; + case 'feb' : $month = 2; break; + case 'mar' : $month = 3; break; + case 'apr' : $month = 4; break; + case 'mai' : $month = 5; break; + case 'jun' : $month = 6; break; + case 'jul' : $month = 7; break; + case 'aug' : $month = 8; break; + case 'sep' : $month = 9; break; + case 'oct' : $month = 10; break; + case 'nov' : $month = 11; break; + case 'dec' : $month = 12; break; + default : $month = 1; + } + return mktime($tmp1[0], $tmp1[1], $tmp1[2], $month, $tmp[3], $tmp[5]); + +} + +function FormatSeconds($seconds) { + $seconds = abs($seconds); + return sprintf("%d days %02d:%02d:%02d", $seconds/60/60/24,($seconds/60/60)%24,($seconds/60)%60,$seconds%60); +} + +?> diff --git a/dashboard/pgs/liveccs.php b/dashboard/pgs/liveccs.php new file mode 100755 index 0000000..518e73d --- /dev/null +++ b/dashboard/pgs/liveccs.php @@ -0,0 +1,27 @@ +. +// ---------------------------------------------------------------------------- +?> +
+ +
diff --git a/dashboard/pgs/liveircddb.php b/dashboard/pgs/liveircddb.php new file mode 100755 index 0000000..2afb057 --- /dev/null +++ b/dashboard/pgs/liveircddb.php @@ -0,0 +1,27 @@ +. +// ---------------------------------------------------------------------------- +?> +
+ +
diff --git a/dashboard/pgs/repeaters.php b/dashboard/pgs/repeaters.php new file mode 100755 index 0000000..dc6e823 --- /dev/null +++ b/dashboard/pgs/repeaters.php @@ -0,0 +1,79 @@ +. +// ---------------------------------------------------------------------------- +?> + + + + + + + + + + + + +LoadFlags(); + +for ($i=0;$i<$Reflector->NodeCount();$i++) { + + if ($odd == "#FFFFFF") { $odd = "#F1FAFA"; } else { $odd = "#FFFFFF"; } + + echo ' + + + + + + + + + + + '; + if ($i == 41) { $i = $Reflector->NodeCount()+1; } +} + +?> + +
#FlagDV StationBandLast HeardLinked forProtocolModuleIP
'.($i+1).''; + if (file_exists("./img/flags/".$Reflector->GetFlag($Reflector->Nodes[$i]->GetCallSign()).".png")) { + echo ''; + } + echo 'Nodes[$i]->GetSuffix(); + echo '" class="pl" target="_blank">'.$Reflector->Nodes[$i]->GetCallSign(); + if ($Reflector->Nodes[$i]->GetSuffix() != "") { echo '-'.$Reflector->Nodes[$i]->GetSuffix(); } + echo ''; + switch ($Reflector->Nodes[$i]->GetSuffix()) { + case 'A' : echo '23cm'; break; + case 'B' : echo '70cm'; break; + case 'C' : echo '2m'; break; + case 'G' : echo 'Internet-Gateway'; break; + default : echo ''; + } + echo ''.date("d.m.Y H:i", $Reflector->Nodes[$i]->GetLastHeardTime()).''.FormatSeconds(time()-$Reflector->Nodes[$i]->GetConnectTime()).' s'.$Reflector->Nodes[$i]->GetProtocol().''.$Reflector->Nodes[$i]->GetLinkedModule().''.$Reflector->Nodes[$i]->GetIP().'
diff --git a/dashboard/pgs/users.php b/dashboard/pgs/users.php new file mode 100755 index 0000000..2b25646 --- /dev/null +++ b/dashboard/pgs/users.php @@ -0,0 +1,123 @@ +. +// ---------------------------------------------------------------------------- +?> + + + + + +
+ + + + + + + + + + + + +LoadFlags(); +$odd = ""; +for ($i=0;$i<$Reflector->StationCount();$i++) { + if ($odd == "#FFFFFF") { $odd = "#F1FAFA"; } else { $odd = "#FFFFFF"; } + echo ' + + + + + + + + + '; + if ($i == 41) { $i = $Reflector->StationCount()+1; } +} + +?> + +
#FlagCallsignSuffixDPRSViaLast heard
'; + echo ($i==0 ? '' : $i+1); + + + echo ''; + + if (file_exists("./img/flags/".$Reflector->GetFlag($Reflector->Stations[$i]->GetCallSign()).".png")) { + echo ''; + } + echo ''.$Reflector->Stations[$i]->GetCallsignOnly().''.$Reflector->Stations[$i]->GetSuffix().''.$Reflector->Stations[$i]->GetVia().''.date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).'
+ + +
+ + + + + +'; + +$Modules = $Reflector->GetModules(); +for ($i=0;$i'.$Modules[$i].''; +} + +echo ' + +'; + +for ($i=0;$iGetCallSignsInModules($Modules[$i]); + echo ' + '; +} + +echo ' +'; + +?> +
+ + '; + $odd = ""; + for ($j=0;$j + + '; + } + echo ' +
'.$Users[$j].'-'.$Reflector->GetSuffixOfRepeater($Users[$j]).'
+ +
+ + +
diff --git a/scripts/xlxd b/scripts/xlxd new file mode 100755 index 0000000..c05b89e --- /dev/null +++ b/scripts/xlxd @@ -0,0 +1,75 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: xlxd service +# Processname: xlxd +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: starts the dstar reflector as a linux service +# Description: dstar reflector by LX3JL +# start script by LX1IQ +### END INIT INFO + + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +. /lib/lsb/init-functions + +NAME="xlxd" +DAEMON="/xlxd/xlxd" +ARGUMENTS="XLX270 158.64.26.132" +PIDFILE="/var/log/xlxd.pid" +USER=root +GROUP=root + +[ -f $DAEMON ] || exit 0 + +start () { + +# start daemon + + echo -n "Starting $NAME: " + start-stop-daemon --start --exec $DAEMON --chuid $USER:$GROUP --background -- $ARGUMENTS + RETVAL=$? + echo + sleep 4 + echo `pidof xlxd` > $PIDFILE + return $RETVAL +} + +stop () { + echo -n "Stopping $NAME: " + start-stop-daemon --stop --pidfile $PIDFILE + RETVAL=$? + echo +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + status) + PIDID=`pidof xlxd` + echo $DAEMON $NAME : + if [ $PIDID -gt 0 ] 2>/dev/null; + then + echo running + else + echo not running + fi + + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 +esac + +exit 0