Skip to content
  • Watch

/xlxd

Browse files

db 2.2.2

1 parent d687361 commit 88ff01eba0c106c6360123a8c9a42414ecbd5755 LX3JL committed

Attach files by dragging & dropping or selecting them. Uploading your files… Unfortunately, we don’t support that file type. Try again with a PNG, GIF, JPG, DOCX, PPTX, XLSX, TXT, PDF, or ZIP. Attaching documents requires write permission to this repository. Try again with a PNG, GIF, or JPG. Unfortunately, we don’t support that file type. Try again with a PNG, GIF, or JPG. Yowza, that’s a big file. Try again with a file smaller than 10MB. This file is empty. Try again with a file that’s not empty. This browser doesn’t support file attachments. We recommend updating to the latest Internet Explorer, Google Chrome, or Firefox. Something went really wrong, and we can’t process that file. Try again.

Nothing to preview

Showing with 333 additions and 103 deletions.
  1. +8 −3 dashboard/css/layout.css
  2. BIN dashboard/img/down.png
  3. BIN dashboard/img/dvc.jpg
  4. BIN dashboard/img/ear.png
  5. 0 dashboard/img/flags/ad.png
  6. 0 dashboard/img/flags/ae.png
  7. 0 dashboard/img/flags/af.png
  8. 0 dashboard/img/flags/ag.png
  9. 0 dashboard/img/flags/al.png
  10. 0 dashboard/img/flags/am.png
  11. 0 dashboard/img/flags/ao.png
  12. 0 dashboard/img/flags/ar.png
  13. 0 dashboard/img/flags/at.png
  14. 0 dashboard/img/flags/au.png
  15. 0 dashboard/img/flags/ax.png
  16. 0 dashboard/img/flags/az.png
  17. 0 dashboard/img/flags/ba.png
  18. 0 dashboard/img/flags/bb.png
  19. 0 dashboard/img/flags/bd.png
  20. 0 dashboard/img/flags/be.png
  21. 0 dashboard/img/flags/bf.png
  22. 0 dashboard/img/flags/bg.png
  23. 0 dashboard/img/flags/bh.png
  24. 0 dashboard/img/flags/bi.png
  25. 0 dashboard/img/flags/bj.png
  26. 0 dashboard/img/flags/bn.png
  27. 0 dashboard/img/flags/bo.png
  28. 0 dashboard/img/flags/br.png
  29. 0 dashboard/img/flags/bs.png
  30. 0 dashboard/img/flags/bt.png
  31. 0 dashboard/img/flags/bw.png
  32. 0 dashboard/img/flags/by.png
  33. 0 dashboard/img/flags/bz.png
  34. 0 dashboard/img/flags/ca.png
  35. 0 dashboard/img/flags/cd.png
  36. 0 dashboard/img/flags/cf.png
  37. 0 dashboard/img/flags/cg.png
  38. 0 dashboard/img/flags/ch.png
  39. 0 dashboard/img/flags/ci.png
  40. 0 dashboard/img/flags/cl.png
  41. 0 dashboard/img/flags/cm.png
  42. 0 dashboard/img/flags/cn.png
  43. 0 dashboard/img/flags/co.png
  44. 0 dashboard/img/flags/cr.png
  45. 0 dashboard/img/flags/cu.png
  46. 0 dashboard/img/flags/cv.png
  47. 0 dashboard/img/flags/cy.png
  48. 0 dashboard/img/flags/cz.png
  49. 0 dashboard/img/flags/de.png
  50. 0 dashboard/img/flags/dj.png
  51. 0 dashboard/img/flags/dk.png
  52. 0 dashboard/img/flags/dm.png
  53. 0 dashboard/img/flags/do.png
  54. 0 dashboard/img/flags/dz.png
  55. 0 dashboard/img/flags/ec.png
  56. 0 dashboard/img/flags/ee.png
  57. 0 dashboard/img/flags/eg.png
  58. 0 dashboard/img/flags/eh.png
  59. 0 dashboard/img/flags/er.png
  60. 0 dashboard/img/flags/es.png
  61. 0 dashboard/img/flags/et.png
  62. 0 dashboard/img/flags/fi.png
  63. 0 dashboard/img/flags/fj.png
  64. 0 dashboard/img/flags/fm.png
  65. 0 dashboard/img/flags/fr.png
  66. 0 dashboard/img/flags/ga.png
  67. 0 dashboard/img/flags/gate.png
  68. 0 dashboard/img/flags/gb.png
  69. 0 dashboard/img/flags/gd.png
  70. 0 dashboard/img/flags/ge.png
  71. 0 dashboard/img/flags/gh.png
  72. 0 dashboard/img/flags/gm.png
  73. 0 dashboard/img/flags/gn.png
  74. 0 dashboard/img/flags/gq.png
  75. 0 dashboard/img/flags/gr.png
  76. 0 dashboard/img/flags/gt.png
  77. 0 dashboard/img/flags/gw.png
  78. 0 dashboard/img/flags/gy.png
  79. 0 dashboard/img/flags/hn.png
  80. 0 dashboard/img/flags/hr.png
  81. 0 dashboard/img/flags/ht.png
  82. 0 dashboard/img/flags/hu.png
  83. 0 dashboard/img/flags/id.png
  84. 0 dashboard/img/flags/ie.png
  85. 0 dashboard/img/flags/il.png
  86. 0 dashboard/img/flags/in.png
  87. 0 dashboard/img/flags/iq.png
  88. 0 dashboard/img/flags/ir.png
  89. 0 dashboard/img/flags/is.png
  90. 0 dashboard/img/flags/it.png
  91. 0 dashboard/img/flags/jm.png
  92. 0 dashboard/img/flags/jo.png
  93. 0 dashboard/img/flags/jp.png
  94. 0 dashboard/img/flags/ke.png
  95. 0 dashboard/img/flags/kg.png
  96. 0 dashboard/img/flags/kh.png
  97. 0 dashboard/img/flags/ki.png
  98. 0 dashboard/img/flags/km.png
  99. 0 dashboard/img/flags/kn.png
  100. 0 dashboard/img/flags/kp.png
  101. 0 dashboard/img/flags/kr.png
  102. 0 dashboard/img/flags/ks.png
  103. 0 dashboard/img/flags/kw.png
  104. 0 dashboard/img/flags/kz.png
  105. 0 dashboard/img/flags/la.png
  106. 0 dashboard/img/flags/lb.png
  107. 0 dashboard/img/flags/lc.png
  108. 0 dashboard/img/flags/li.png
  109. 0 dashboard/img/flags/lk.png
  110. 0 dashboard/img/flags/lr.png
  111. 0 dashboard/img/flags/ls.png
  112. 0 dashboard/img/flags/lt.png
  113. 0 dashboard/img/flags/lu.png
  114. 0 dashboard/img/flags/lv.png
  115. 0 dashboard/img/flags/ly.png
  116. 0 dashboard/img/flags/ma.png
  117. 0 dashboard/img/flags/mc.png
  118. 0 dashboard/img/flags/md.png
  119. 0 dashboard/img/flags/me.png
  120. 0 dashboard/img/flags/mg.png
  121. 0 dashboard/img/flags/mh.png
  122. 0 dashboard/img/flags/mk.png
  123. 0 dashboard/img/flags/ml.png
  124. 0 dashboard/img/flags/mm.png
  125. 0 dashboard/img/flags/mn.png
  126. 0 dashboard/img/flags/mr.png
  127. 0 dashboard/img/flags/mt.png
  128. 0 dashboard/img/flags/mu.png
  129. 0 dashboard/img/flags/mv.png
  130. 0 dashboard/img/flags/mw.png
  131. 0 dashboard/img/flags/mx.png
  132. 0 dashboard/img/flags/my.png
  133. 0 dashboard/img/flags/mz.png
  134. 0 dashboard/img/flags/na.png
  135. 0 dashboard/img/flags/ne.png
  136. 0 dashboard/img/flags/ng.png
  137. 0 dashboard/img/flags/ni.png
  138. 0 dashboard/img/flags/nl.png
  139. 0 dashboard/img/flags/no.png
  140. 0 dashboard/img/flags/np.png
  141. 0 dashboard/img/flags/nr.png
  142. 0 dashboard/img/flags/nz.png
  143. 0 dashboard/img/flags/om.png
  144. 0 dashboard/img/flags/pa.png
  145. 0 dashboard/img/flags/pe.png
  146. 0 dashboard/img/flags/pg.png
  147. 0 dashboard/img/flags/ph.png
  148. 0 dashboard/img/flags/pk.png
  149. 0 dashboard/img/flags/pl.png
  150. 0 dashboard/img/flags/pr.png
  151. 0 dashboard/img/flags/pt.png
  152. 0 dashboard/img/flags/pw.png
  153. 0 dashboard/img/flags/py.png
  154. 0 dashboard/img/flags/qa.png
  155. 0 dashboard/img/flags/ro.png
  156. 0 dashboard/img/flags/rs.png
  157. 0 dashboard/img/flags/ru.png
  158. 0 dashboard/img/flags/rw.png
  159. 0 dashboard/img/flags/sa.png
  160. 0 dashboard/img/flags/sb.png
  161. 0 dashboard/img/flags/sc.png
  162. 0 dashboard/img/flags/sd.png
  163. 0 dashboard/img/flags/se.png
  164. 0 dashboard/img/flags/sg.png
  165. 0 dashboard/img/flags/sh.png
  166. 0 dashboard/img/flags/si.png
  167. 0 dashboard/img/flags/sk.png
  168. 0 dashboard/img/flags/sl.png
  169. 0 dashboard/img/flags/sm.png
  170. 0 dashboard/img/flags/sn.png
  171. 0 dashboard/img/flags/so.png
  172. 0 dashboard/img/flags/sr.png
  173. 0 dashboard/img/flags/st.png
  174. 0 dashboard/img/flags/sv.png
  175. 0 dashboard/img/flags/sy.png
  176. 0 dashboard/img/flags/sz.png
  177. 0 dashboard/img/flags/td.png
  178. 0 dashboard/img/flags/tg.png
  179. 0 dashboard/img/flags/th.png
  180. 0 dashboard/img/flags/tj.png
  181. 0 dashboard/img/flags/tl.png
  182. 0 dashboard/img/flags/tm.png
  183. 0 dashboard/img/flags/tn.png
  184. 0 dashboard/img/flags/to.png
  185. 0 dashboard/img/flags/tr.png
  186. 0 dashboard/img/flags/tt.png
  187. 0 dashboard/img/flags/tv.png
  188. 0 dashboard/img/flags/tw.png
  189. 0 dashboard/img/flags/tz.png
  190. 0 dashboard/img/flags/ua.png
  191. 0 dashboard/img/flags/ug.png
  192. 0 dashboard/img/flags/us.png
  193. 0 dashboard/img/flags/uy.png
  194. 0 dashboard/img/flags/uz.png
  195. 0 dashboard/img/flags/va.png
  196. 0 dashboard/img/flags/vc.png
  197. 0 dashboard/img/flags/ve.png
  198. 0 dashboard/img/flags/vn.png
  199. 0 dashboard/img/flags/vu.png
  200. 0 dashboard/img/flags/wl.png
  201. 0 dashboard/img/flags/ws.png
  202. 0 dashboard/img/flags/ye.png
  203. 0 dashboard/img/flags/za.png
  204. 0 dashboard/img/flags/zm.png
  205. 0 dashboard/img/flags/zw.png
  206. BIN dashboard/img/header.jpg
  207. 0 dashboard/img/radio-waves-hi.png
  208. 0 dashboard/img/sat.png
  209. BIN dashboard/img/up.png
  210. +65 −63 dashboard/index.php
  211. 0 dashboard/log/index.html
  212. +12 −8 dashboard/pgs/class.node.php
  213. 0 dashboard/pgs/class.parsexml.php
  214. 0 dashboard/pgs/class.peer.php
  215. +131 −5 dashboard/pgs/class.reflector.php
  216. 0 dashboard/pgs/class.station.php
  217. +34 −16 dashboard/pgs/config.inc.php
  218. +1 −1 dashboard/pgs/country.csv
  219. +11 −1 dashboard/pgs/functions.php
  220. 0 dashboard/pgs/liveccs.php
  221. 0 dashboard/pgs/liveircddb.php
  222. 0 dashboard/pgs/peers.php
  223. +55 −0 dashboard/pgs/reflectors.php
  224. 0 dashboard/pgs/repeaters.php
  225. +16 −6 dashboard/pgs/users.php
View
11 dashboard/css/layout.css 100644 → 100755
@@ -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;
-}
+}
+
+.listinglink {
+ ont-size : 12pt;
+ text-decoration : underline;
+ color : #60A1DE;
+}
View
BIN dashboard/img/down.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN dashboard/img/dvc.jpg 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN dashboard/img/ear.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ad.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ae.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/af.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ag.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/al.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/am.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ao.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ar.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/at.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/au.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ax.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/az.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/ba.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bb.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bd.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/be.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bf.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bg.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bh.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bi.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bj.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bn.png 100644 → 100755
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
0 dashboard/img/flags/bo.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/br.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/bs.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/bt.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/bw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/by.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/bz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ca.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cd.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cf.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ch.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ci.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cl.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/co.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cu.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cv.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cy.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/cz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/de.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/dj.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/dk.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/dm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/do.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/dz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ec.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ee.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/eg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/eh.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/er.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/es.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/et.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/fi.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/fj.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/fm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/fr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ga.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gate.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gb.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gd.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ge.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gh.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gq.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gt.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/gy.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/hn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/hr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ht.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/hu.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/id.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ie.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/il.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/in.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/iq.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ir.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/is.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/it.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/jm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/jo.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/jp.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ke.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kh.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ki.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/km.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kp.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ks.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/kz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/la.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lb.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lc.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/li.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lk.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ls.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lt.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lu.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/lv.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ly.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ma.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mc.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/md.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/me.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mh.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mk.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ml.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mt.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mu.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mv.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mx.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/my.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/mz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/na.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ne.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ng.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ni.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/nl.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/no.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/np.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/nr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/nz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/om.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pa.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pe.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ph.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pk.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pl.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pt.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/pw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/py.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/qa.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ro.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/rs.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ru.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/rw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sa.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sb.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sc.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sd.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/se.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sh.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/si.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sk.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sl.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/so.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/st.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sv.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sy.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/sz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/td.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tg.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/th.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tj.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tl.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/to.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tr.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tt.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tv.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tw.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/tz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ua.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ug.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/us.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/uy.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/uz.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/va.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/vc.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ve.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/vn.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/vu.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/wl.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ws.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/ye.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/za.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/zm.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/flags/zw.png 100644 → 100755
Diff not rendered.
View
BIN dashboard/img/header.jpg 100644 → 100755
Diff not rendered.
View
0 dashboard/img/radio-waves-hi.png 100644 → 100755
Diff not rendered.
View
0 dashboard/img/sat.png 100644 → 100755
Diff not rendered.
View
BIN dashboard/img/up.png
Diff not rendered.
View
128 dashboard/index.php
@@ -1,8 +1,5 @@
<?php
-$FILE = "/var/log/xlxd.xml";
-$PID = "/var/log/xlxd.pid";
-
if (file_exists("./pgs/functions.php")) { require_once("./pgs/functions.php"); } else { die("functions.php does not exist."); }
if (file_exists("./pgs/config.inc.php")) { require_once("./pgs/config.inc.php"); } else { die("config.inc.php does not exist."); }
@@ -12,46 +9,48 @@
if (!class_exists('Station')) require_once("./pgs/class.station.php");
if (!class_exists('Peer')) require_once("./pgs/class.peer.php");
-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, "<XLX")+4, 3);
-if (is_numeric($ServiceName)) {
- $LinkedPeersName = "XLX".$ServiceName." linked peers";
- $LinkedNodesName = "XLX".$ServiceName." linked nodes";
- $LinkedUsersName = "XLX".$ServiceName." heard users";
-}
-
-$AllNodesString = $XML->GetElement($FILECONTENT, $LinkedNodesName);
-$tmpNodes = $XML->GetAllElements($AllNodesString, "NODE");
-
-for ($i=0;$i<count($tmpNodes);$i++) {
- $Node = new Node($XML->GetElement($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;$i<count($tmpStations);$i++) {
- $Station = new Station($XML->GetElement($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;$i<count($tmpPeers);$i++) {
- $Peer = new Peer($XML->GetElement($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);
+$Reflector->SetPIDFile($Service['PIDFile']);
+$Reflector->SetXMLFile($Service['XMLFile']);
+
+$Reflector->LoadXML();
+
+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, "<?php\n");
+ @fwrite($Ressource, "\n".'$LastSync = 0;');
+ @fwrite($Ressource, "\n".'$Hash = "'.$Hash.'";');
+ @fwrite($Ressource, "\n\n".'?>');
+ @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, "<?php\n");
+ @fwrite($Ressource, "\n".'$LastSync = '.time().';');
+ @fwrite($Ressource, "\n".'$Hash = "'.$Hash.'";');
+ @fwrite($Ressource, "\n\n".'?>');
+ @fclose($Ressource);
+ }
+ $CallHomeNow = true;
+ }
+ }
+ if ($CallHomeNow || isset($_GET['callhome'])) {
+ $Reflector->SetCallingHome($CallingHome['Active'], $CallingHome['MyDashBoardURL'], $Hash, $CallingHome['ServerURL'], $CallingHome['Country'], $CallingHome['Comment']);
+ $Reflector->PushCallingHome();
+ }
}
?><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Strict//EN"
@@ -59,67 +58,70 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <title>XLX Reflector Dashboard</title>
+ <meta name="description" content="<?php echo $PageOptions['MetaDescription']; ?>" />
+ <meta name="keywords" content="<?php echo $PageOptions['MetaKeywords']; ?>" />
+ <meta name="author" content="<?php echo $PageOptions['MetaAuthor']; ?>" />
+ <meta name="revisit" content="<?php echo $PageOptions['MetaRevisit']; ?>" />
+ <meta name="robots" content="<?php echo $PageOptions['MetaAuthor']; ?>" />
+
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
+ <title><?php echo $Reflector->GetReflectorName(); ?> Reflector Dashboard</title>
<link rel="stylesheet" type="text/css" href="./css/layout.css">
<link rel="icon" href="./favicon.ico" type="image/vnd.microsoft.icon"><?php
-
+
if ($PageOptions['PageRefreshActive']) {
echo '
<script>
-
+
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 '
-
+
</script>';
- }
-?>
+ }
+?>
</head>
<body>
+ <?php if (file_exists("./tracking.php")) { include_once("tracking.php"); }?>
<div id="top"><img src="./img/header.jpg" alt="XLX Multiprotocol Gateway Reflector" style="margin-top:15px;" />
- <br />&nbsp;XLX<?php echo $ServiceName; ?>&nbsp;v<?php echo $XML->GetElement($FILECONTENT, "Version"); ?>&nbsp;-&nbsp;Dashboard v<?php echo $PageOptions['DashboardVersion']; ?>&nbsp;&nbsp;/&nbsp;&nbsp;Service uptime: <?php
- if (file_exists($PID) && is_readable($PID)) {
- echo FormatSeconds(time()-filectime($PID));
- }
- ?></div>
+ <br />&nbsp;&nbsp;&nbsp;<?php echo $Reflector->GetReflectorName(); ?>&nbsp;v<?php echo $Reflector->GetVersion(); ?>&nbsp;-&nbsp;Dashboard v<?php echo $PageOptions['DashboardVersion']; ?>&nbsp;&nbsp;/&nbsp;&nbsp;Service uptime: <span id="suptime"><?php echo FormatSeconds($Reflector->GetServiceUptime()); ?></span></div>
<div id="menubar">
<div id="menu">
<table border="0">
<tr>
- <td><a href="./index.php" class="menulink">Users / Modules</a></td><td><a href="./index.php?show=repeaters" class="menulink">Repeaters / Nodes (<?php echo $Reflector->NodeCount(); ?>)</a></td><td><a href="./index.php?show=peers" class="menulink">Peers (<?php echo $Reflector->PeerCount(); ?>)</a></td><td><a href="./index.php?show=liveircddb" class="menulink">D-Star live</a></td><td><a href="./index.php?show=liveccs" class="menulink">CCS live</a></td>
+ <td><a href="./index.php" class="menulink">Users / Modules</a></td><td><a href="./index.php?show=repeaters" class="menulink">Repeaters / Nodes (<?php echo $Reflector->NodeCount(); ?>)</a></td><td><a href="./index.php?show=peers" class="menulink">Peers (<?php echo $Reflector->PeerCount(); ?>)</a></td><td><a href="./index.php?show=reflectors" class="menulink">Reflectorlist</a></td><td><a href="./index.php?show=liveircddb" class="menulink">D-Star live</a></td>
</tr>
</table>
</div>
</div>
<div id="content" align="center">
-
+
<?php
if (!isset($_GET['show'])) $_GET['show'] = "";
switch ($_GET['show']) {
case 'users' : require_once("./pgs/users.php"); break;
case 'repeaters' : require_once("./pgs/repeaters.php"); break;
case 'liveircddb' : require_once("./pgs/liveircddb.php"); break;
- case 'liveccs' : require_once("./pgs/liveccs.php"); break;
case 'peers' : require_once("./pgs/peers.php"); break;
+ case 'reflectors' : require_once("./pgs/reflectors.php"); break;
default : require_once("./pgs/users.php");
}
-?>
-
+?>
+
<div style="width:100%;text-align:center;margin-top:50px;"><a href="mailto:<?php echo $PageOptions['ContactEmail']; ?>" style="font-family:verdana;color:#000000;font-size:12pt;text-decoration:none;"><?php echo $PageOptions['ContactEmail']; ?></a></div>
-
+
</div>
-
-
+
</body>
</html>
View
0 dashboard/log/index.html
No changes.
View
20 dashboard/pgs/class.node.php 100644 → 100755
@@ -1,7 +1,7 @@
<?php
class Node {
-
+
private $Callsign;
private $IP;
private $LinkedModule;
@@ -10,14 +10,18 @@ class Node {
private $LastHeardTime;
private $Suffix;
private $Prefix;
-
+
public function __construct($Callsign, $IP, $LinkedModule, $Protocol, $ConnectTime, $LastHeardTime) {
-
+
$this->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 @@ public function __construct($Callsign, $IP, $LinkedModule, $Protocol, $ConnectTi
$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 @@ public function GetSuffix() { return $this->Suffix; }
public function GetPrefix() { return $this->Prefix; }
}
-?>
+?>
View
0 dashboard/pgs/class.parsexml.php 100644 → 100755
File mode changed.
View
0 dashboard/pgs/class.peer.php 100644 → 100755
File mode changed.
View
136 dashboard/pgs/class.reflector.php 100644 → 100755
@@ -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 @@ public function __construct() {
$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, "<XLX")+4, 3);
+ if (!is_numeric($this->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;$i<count($tmpNodes);$i++) {
+ $Node = new Node($XML->GetElement($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;$i<count($tmpStations);$i++) {
+ $Station = new Station($XML->GetElement($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;$i<count($tmpPeers);$i++) {
+ $Peer = new Peer($XML->GetElement($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 @@ public function GetModules() {
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 @@ public function GetCallSignsInModules($Module) {
}
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));
+ }
+
+
}
View
0 dashboard/pgs/class.station.php 100644 → 100755
File mode changed.
View
50 dashboard/pgs/config.inc.php 100644 → 100755
@@ -1,7 +1,5 @@
<?php
/*
-Set IPModus in Repeaters or Peer variable to show,
-modify or hide the IP address.
Possible values for IPModus
HideIP
@@ -12,33 +10,53 @@
*/
-
+$Service = array();
+$CallingHome = array();
$PageOptions = array();
-$PageOptions['ContactEmail'] = 'dvc@rlx.lu'; // Support E-Mail address
+$PageOptions['ContactEmail'] = 'dvc@rlx.lu'; // Support E-Mail address
-$PageOptions['DashboardVersion'] = '2.1.6'; // Dashboard Version
+$PageOptions['DashboardVersion'] = '2.2.2'; // Dashboard Version
-$PageOptions['PageRefreshActive'] = true; // Activate automatic refresh
-$PageOptions['PageRefreshDelay'] = '10000'; // Wait time in miliseconds
+$PageOptions['PageRefreshActive'] = true; // Activate automatic refresh, true or false
+$PageOptions['PageRefreshDelay'] = '10000'; // Page refresh time in miliseconds
$PageOptions['RepeatersPage'] = array();
-$PageOptions['RepeatersPage']['LimitTo'] = 99; // Number of Repeaters to show
-$PageOptions['RepeatersPage']['IPModus'] = 'ShowFullIP'; // See possible options above
-$PageOptions['RepeatersPage']['MasqueradeCharacter'] = '*'; // Character used for masquerade
+$PageOptions['RepeatersPage']['LimitTo'] = 99; // Number of Repeaters to show
+$PageOptions['RepeatersPage']['IPModus'] = 'ShowFullIP'; // See possible options above
+$PageOptions['RepeatersPage']['MasqueradeCharacter'] = '*'; // Character used for masquerade
$PageOptions['PeerPage'] = array();
-$PageOptions['PeerPage']['LimitTo'] = 99; // Number of peers to show
-$PageOptions['PeerPage']['IPModus'] = 'ShowFullIP'; // See possible options above
-$PageOptions['PeerPage']['MasqueradeCharacter'] = '*'; // Character used for masquerade
+$PageOptions['PeerPage']['LimitTo'] = 99; // Number of peers to show
+$PageOptions['PeerPage']['IPModus'] = 'ShowFullIP'; // See possible options above
+$PageOptions['PeerPage']['MasqueradeCharacter'] = '*'; // Character used for masquerade
-$PageOptions['ModuleNames'] = array(); // Module nomination
-$PageOptions['ModuleNames']['A'] = 'International';
+$PageOptions['ModuleNames'] = array(); // Module description
+$PageOptions['ModuleNames']['A'] = 'Int.';
$PageOptions['ModuleNames']['B'] = 'Regional';
$PageOptions['ModuleNames']['C'] = 'National';
$PageOptions['ModuleNames']['D'] = '';
-?>
+
+$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
+
+?>
View
2 dashboard/pgs/country.csv 100644 → 100755
@@ -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
View
12 dashboard/pgs/functions.php 100644 → 100755
@@ -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;
+}
+
?>
View
0 dashboard/pgs/liveccs.php 100644 → 100755
File mode changed.
View
0 dashboard/pgs/liveircddb.php 100644 → 100755
File mode changed.
View
0 dashboard/pgs/peers.php 100644 → 100755
File mode changed.
View
55 dashboard/pgs/reflectors.php
@@ -0,0 +1,55 @@
+<?php
+
+$Result = @fopen($CallingHome['ServerURL']."?do=GetReflectorList", "r");
+
+if (!$Result) die("HEUTE GIBTS KEIN BROT");
+
+$INPUT = "";
+while (!feof ($Result)) {
+ $INPUT .= fgets ($Result, 1024);
+}
+fclose($Result);
+
+$XML = new ParseXML();
+$Reflectorlist = $XML->GetElement($INPUT, "reflectorlist");
+$Reflectors = $XML->GetAllElements($Reflectorlist, "reflector");
+
+?>
+
+
+<table class="listingtable">
+ <tr>
+ <th width="40">#</th>
+ <th width="75">Reflector</th>
+ <th width="100">Country</th>
+ <th width="90">Service</th>
+ <th width="400">Comment</th>
+ </tr>
+<?php
+
+$odd = "";
+
+for ($i=0;$i<count($Reflectors);$i++) {
+
+ $NAME = $XML->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 '
+ <tr height="30" bgcolor="'.$odd.'" onMouseOver="this.bgColor=\'#FFFFCA\';" onMouseOut="this.bgColor=\''.$odd.'\';">
+ <td align="center">'.($i+1).'</td>
+ <td><a href="'.$DASHBOARDURL.'" target="_blank" class="listinglink" title="Visit the Dashboard of&nbsp;'.$NAME.'">'.$NAME.'</a></td>
+ <td>'.$COUNTRY.'</td>
+ <td align="center" valign="middle"><img src="./img/'; if ($LASTCONTACT<(time()-600)) { echo 'down'; } ELSE { echo 'up'; } echo '.png" height="25" /></td>
+ <td>'.$COMMENT.'</td>
+ </tr>';
+}
+
+?>
+</table>
+
+
View
0 dashboard/pgs/repeaters.php 100644 → 100755
File mode changed.
View
22 dashboard/pgs/users.php 100644 → 100755
@@ -12,6 +12,7 @@
<th>DPRS</th>
<th>Via / Peer</th>
<th>Last heard</th>
+ <th align="center" valign="middle"><img src="./img/ear.png" alt="Listening on" /></th>
</tr>
<?php
@@ -35,12 +36,17 @@
<td width="75"><a href="https://www.qrz.com/db/'.$Reflector->Stations[$i]->GetCallsignOnly().'" class="pl" target="_blank">'.$Reflector->Stations[$i]->GetCallsignOnly().'</a></td>
<td width="60">'.$Reflector->Stations[$i]->GetSuffix().'</td>
<td width="50" align="center"><a href="http://www.aprs.fi/'.$Reflector->Stations[$i]->GetCallsignOnly().'" class="pl" target="_blank"><img src="./img/sat.png" /></a></td>
- <td width="127">'.$Reflector->Stations[$i]->GetVia();
- if ($Reflector->Stations[$i]->GetPeer() != 'XLX'.$ServiceName) {
+ <td width="150">'.$Reflector->Stations[$i]->GetVia();
+ if ($Reflector->Stations[$i]->GetPeer() != $Reflector->GetReflectorName()) {
echo ' / '.$Reflector->Stations[$i]->GetPeer();
}
echo '</td>
- <td width="150">'.date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).'</td>
+ <td width="150">'.@date("d.m.Y H:i", $Reflector->Stations[$i]->GetLastHeardTime()).'</td>
+ <td align="center" width="30">';
+ if ($Reflector->Stations[$i]->GetPeer() == $Reflector->GetReflectorName()) {
+ echo trim($Reflector->GetModuleOfNode($Reflector->Stations[$i]->GetVia()));
+ }
+ echo '</td>
</tr>';
if ($i == 39) { $i = $Reflector->StationCount()+1; }
}
@@ -61,18 +67,22 @@
$Modules = $Reflector->GetModules();
echo '
- <tr>';
+ <tr>';
for ($i=0;$i<count($Modules);$i++) {
+
if (isset($PageOptions['ModuleNames'][$Modules[$i]])) {
- echo '
+ echo '
+
<th>'.$PageOptions['ModuleNames'][$Modules[$i]];
if (trim($PageOptions['ModuleNames'][$Modules[$i]]) != "") {
echo '<br />';
}
- echo $Modules[$i].'</th>';
+ echo $Modules[$i].'</th>
+';
}
else {
echo '
+
<th>'.$Modules[$i].'</th>';
}
}

0 comments on commit 88ff01e

@chibashuji

Attach files by dragging & dropping or selecting them. Uploading your files… Unfortunately, we don’t support that file type. Try again with a PNG, GIF, JPG, DOCX, PPTX, XLSX, TXT, PDF, or ZIP. Attaching documents requires write permission to this repository. Try again with a PNG, GIF, or JPG. Unfortunately, we don’t support that file type. Try again with a PNG, GIF, or JPG. Yowza, that’s a big file. Try again with a file smaller than 10MB. This file is empty. Try again with a file that’s not empty. This browser doesn’t support file attachments. We recommend updating to the latest Internet Explorer, Google Chrome, or Firefox. Something went really wrong, and we can’t process that file. Try again.

Nothing to preview

You’re not receiving notifications from this thread.

Something went wrong with that request. Please try again.