Detect PHP flexibly, assert wland configuration
[infodrom/musiikki-web.git] / html / admin / admin.js
index 44838b3..8b9b2ec 100644 (file)
@@ -61,3 +61,57 @@ function submit_halt() {
 
     return false;
 }
 
     return false;
 }
+
+function network_process(data)
+{
+    if (data.ip === null)
+       $('#network h1:nth-child(1) b').text('WLAN.');
+    else
+       $('#network h1:nth-child(1) b').text(data.ip);
+
+    $('#network select[name="wlan"]').empty();
+    var option = $('<option value="">-- select --</option>');
+    $('#network select[name="wlan"]').append(option);
+    for (var i=0; i < data.upstream.length; i++) {
+       var option = $('<option value="'+data.upstream[i]+'">'+data.upstream[i]+'</option>');
+       if (data.name !== null && data.name == data.upstream[i]) option.attr('selected','selected');
+       $('#network select[name="wlan"]').append(option);
+    }
+
+    $('#network select[name="essid"]').empty();
+    var option = $('<option value="">-- select --</option>');
+    $('#network select[name="essid"]').append(option);
+    for (var i=0; i < data.networks.length; i++) {
+       var option = $('<option value="'+data.networks[i]+'">'+data.networks[i]+'</option>');
+       $('#network select[name="essid"]').append(option);
+    }
+
+    $('#network input[name="name"]').val('');
+    $('#network input[name="psk"]').val('');
+}
+
+function submit_network()
+{
+    $.post('index.php',
+          'action=network&wlan=' + $('#network select[name="wlan"]').val());
+    response('Netzwerk gespeichert.');
+
+    return false;
+}
+
+function submit_essid()
+{
+    if (!$('#network input[name="name"]').val().length) return false;
+    if (!$('#network select[name="essid"]').val().length) return false;
+    if (!$('#network input[name="psk"]').val().length) return false;
+
+    $.post('index.php',
+          'action=essid&' + $('div.w3-container#network form#new_essid').serialize());
+    response('Netzwerk gespeichert.');
+
+    return false;
+}
+
+$(function(){
+    register_callback('network', network_process);
+});