Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- set_time_limit(0);
- ignore_user_abort(true);
- include("./classes/Database.php");
- include("./config/config.php");
- $stations = $db->select("SELECT * FROM stations WHERE Type != 'FRN'");
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset='UTF-8' />
- <style type="text/css">
- <!--
- #content{
- height: 100%;
- width: 100%;
- margin-left: 20%;
- }
- img{
- margin-left: 14%;
- }
- .chat_wrapper {
- width: 750px;
- margin-right: 0;
- margin-left: 0;
- background: #e5efe4;
- border: 2px solid #33b414;
- padding: 10px;
- font: 12px 'lucida grande',tahoma,verdana,arial,sans-serif;
- }
- .chat_wrapper .message_box {
- background: #FFFFFF;
- height:50px;
- overflow: auto;
- padding: 10px;
- border: 2px solid #33b414;
- margin: 5px;
- }
- .chat_wrapper .panel input{
- padding: 2px 2px 2px 5px;
- }
- .system_msg{color: #BDBDBD;font-style: italic;}
- .user_name{font-weight:bold;}
- .user_message{color: #88B6E0;}
- #live_table{
- padding:5px;
- margin:5px;
- border:thin grey solid;
- bgcolor:#ffffff;
- }
- -->
- </style>
- <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
- <script language="javascript" type="text/javascript">
- $(document).ready(function(){
- function createRow() {
- var row = document.getElementById("station_"+callsign); // find row to copy
- var table = document.getElementById("live_table"); // find table to append to
- var clone = row.cloneNode(true); // copy children too
- clone.id = "station_"+callsign; // change id or other attributes/contents
- table.appendChild(clone); // add new row to end of table
- }
- var attempts = 1;
- function createWebSocket() {
- var wsUri = "ws://funknetz.nrw:9000/demo/server.php";
- var websocket = new WebSocket(wsUri);
- websocket.onopen = function (ev) {
- // reset the tries back to 1 since we have a new connection opened.
- attempts = 1;
- // ...Your app's logic...
- $('#message_box').prepend("<div class=\"system_msg\">Verbunden!</div>"); //notify user
- }
- websocket.onclose = function(ev){
- $('#message_box').prepend("<div class=\"system_msg\">Verbindung unterbrochen, versuche in "+attempts+" Sekunden erneut zu verbinden</div>");
- var time = 1000*attempts;
- setTimeout(function(){
- // We've tried to reconnect so increment the attempts by 1
- attempts++;
- if (attempts > 10) attempts=1;
- // Connection has closed so try to reconnect every 10 seconds.
- createWebSocket();
- }, time);
- }
- websocket.onmessage = function(ev){
- var msg = JSON.parse(ev.data); //PHP sends Json data
- var type = msg.type; //message type
- var umsg = msg.message; //message text
- var uname = msg.name; //user name
- var ucolor = msg.color; //color
- var arr = umsg.split(' ');
- var arr2 = arr[3].split(':');
- var rx_id = arr2[1];
- var callsign = arr2[0];
- var arr3 = arr[2].split('::');
- var category = arr3[0];
- var value = arr3[1];
- var lastseen = arr[4];
- var ts = arr[1];
- //alert(callsign+" "+category+" "+value);
- if ($('#lastseen_'+callsign)) {
- var date = new Date(lastseen*1000);
- var hours = date.getHours();
- var minutes = "0" + date.getMinutes();
- var seconds = "0" + date.getSeconds();
- var formattedTime = hours + ':' + minutes.substr(-2) + ':' + seconds.substr(-2);
- $('#lastseen_'+callsign).html(formattedTime);
- }
- if ($('#status_'+callsign)) {
- if (category == "Squelch") {
- if (value == "open") {
- $('#status_'+callsign).css("background-color", "yellow");
- $('#status_'+callsign).html('Squelch offen');
- }
- if (value == "close") {
- $('#status_'+callsign).css("background-color", "lightgreen");
- $('#status_'+callsign).html('Empfangsbereit');
- }
- }
- if (category == "TX") {
- if (value == "on") {
- $('#status_'+callsign).css("background-color", "blue");
- $('#status_'+callsign).html('Sendet');
- }
- if (value == "off") {
- $('#status_'+callsign).css("background-color", "lightgreen");
- $('#status_'+callsign).html('Empfangsbereit');
- }
- }
- if (category == "Status") {
- if (value == "online") {
- $('#status_'+callsign).css("background-color", "lightgreen");
- $('#status_'+callsign).html('Empfangsbereit');
- }
- if (value == "offline") {
- $('#status_'+callsign).css("background-color", "lightgrey");
- $('#status_'+callsign).html('Offline');
- }
- }
- /* Gruppen Wechsel Anzaigen */
- if(category == "DTMF"){
- if(rx_id == "131"){
- //$('#group_131').html(callsign);
- var row = document.getElementById("station_"+callsign); // find row to copy
- var table = document.getElementById("live_table"); // find table to append to
- var clone = row.cloneNode(true); // copy children too
- clone.id = "station_"+callsign; // change id or other attributes/contents
- document.getElementById("group_131").appendChild(row); // add new row to end of table
- }
- if(rx_id == "130"){
- $("#group_131").html("");
- }
- if(rx_id == "151"){
- $('#group_151').html(callsign);
- }
- if(rx_id == "150"){
- $("#group_151").html("");
- }
- if(rx_id == "161"){
- $('#group_161').html(callsign);
- }
- if(rx_id == "160"){
- $("#group_161").html("");
- }
- }
- }
- if(type == 'usermsg')
- {
- $('#message_box').prepend("<div><span class=\"user_name\" style=\"color:#"+ucolor+"\">"+uname+"</span> : <span class=\"user_message\">"+umsg+"</span></div>");
- }
- if(type == 'system')
- {
- $('#message_box').prepend("<div class=\"system_msg\">"+umsg+"</div>");
- }
- $('#message').val(''); //reset text
- };
- websocket.onerror = function(ev){$('#message_box').prepend("<div class=\"system_error\">Ein Fehler ist aufgetreten - "+ev.data+"</div>");};
- }
- createWebSocket();
- });
- </script>
- </head>
- <body>
- <img src="../images/banner.png">
- <div id="content">
- <div class="chat_wrapper">
- Funknetz.nrw Live Status & Log Talkgroup über Funk mit DTMF anwählen z.B 111# für FRN -- trennen 110# !!!
- <div>
- <table id="live_table">
- <tr style="padding:5px;margin:5px;border-bottom:thin grey solid;">
- <th style="text-align:left">Standort</th><th style="text-align:left">Rufzeichen</th><th style="text-align:left">Kanal</th><th style="text-align:left">Zugang</th><th style="text-align:left;width:100px;">Status</th><th>LastSeen</th>
- </tr>
- <!--
- <tr>
- <td>Herten</td><td>45699B</td><td>CB 39</td><td>-</td><td id="status_45699B">offline</td><td id="lastseen_45699B"></td>
- </tr>
- //-->
- </tr>
- <td></td><td></td><td></td><td></td><td id=""></td><td id=></td>
- </tr>
- <!--
- <tr>
- <td style="width:200px;">Lingen [Node]</td><td style="width:100px;">49808</td><td style="width:150px;">PMR 6</td><td style="width:100px">CTCSS 67.0</td><td id="status_49808" style="width:100px;">offline</td><td id="lastseen_49808"></td>
- </tr>
- //-->
- </tr>
- <td></td><td></td><td></td><td></td><td id=""></td><td id=></td>
- </tr>
- <td style="font-weight: bold;">Talkgroup 111 FRN</td>
- <?php $frn = $db->select("SELECT * FROM stations WHERE Type = 'FRN'"); ?>
- <tr>
- <td style="width:200px;"><?= $frn[0]['City'] ?></td>
- <td style="width:100px;"><?= $frn[0]['Callsign'] ?> </td>
- <td style="width:150px;"><?= $frn[0]['Channel'] ?> </td>
- <td style="width:100px;">CTCSS <?= (!$frn[0]['CTCSS_Tone'] == 0) ? $frn[0]['CTCSS_Tone'] : "----"; ?></td>
- <td style="width:100px;" id="status_<?= $frn[0]['Callsign'] ?>">offline</td>
- <td id="lastseen_<?= $frn[0]['Callsign'] ?>"></td>
- <!-- <td>Free Radio Network</td><td>FRN</td><td>Internet </td><td>CTCSS -----</td><td id="status_FRN" >Online</td><td id="lastseen_FRN"></td> -->
- </tr>
- <td style="font-weight: bold;">Talkgroup 141 Funknetz NRW</td>
- <?php foreach($stations as $key => $value): ?>
- <tr id="station_<?php echo $stations[$key]['Callsign']; ?>">
- <td style="width:200px;"><?= $stations[$key]['City'] ?> [<?= $stations[$key]['Type'] ?>]</td>
- <td style="width:100px;"><?= $stations[$key]['Callsign'] ?> </td>
- <td style="width:150px;"><?= $stations[$key]['Channel'] ?> </td>
- <td style="width:100px;">CTCSS <?= (!$stations[$key]['CTCSS_Tone'] == 0) ? $stations[$key]['CTCSS_Tone'] : "----"; ?></td>
- <td style="width:100px;" id="status_<?= $stations[$key]['Callsign'] ?>">offline</td>
- <td id="lastseen_<?= $stations[$key]['Callsign'] ?>"></td>
- </tr>
- <?php endforeach; ?>
- <tr>
- <td></td><td></td><td></td><td></td><td id=""></td><td id=></td>
- </tr>
- <td style="font-weight: bold;">Talkgroup 131 Quassel Test mit Papagei</td>
- <tr id="group_131"></tr>
- <tr><td style="font-weight: bold;">Talkgroup 151 Niedersachsen/Bremen/Hamburg</td></tr>
- <tr>
- <td id="group_151"></td>
- </tr>
- <tr><td style="font-weight: bold;">Talkgroup 161 Rheinland-Pfalz/Saarland</td></tr>
- <tr>
- <td id="group_161"></td>
- </tr>
- </tr>
- </table>
- </div>
- <div class="message_box" id="message_box"></div>
- <div class="panel">
- </div>
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement