diff --git a/sai/modules/saimod_sys_login/login.js b/sai/modules/saimod_sys_login/login.js
deleted file mode 100644
index 83268d0..0000000
--- a/sai/modules/saimod_sys_login/login.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
-
-
-/* jQuery on document ready */
-$(document).ready(function() {
-
- $("#submitButton").click(function(){
- $.get('./api.php?call=account&action=login&username='+$('#username').val()+'&password_sha='+$.sha1($('#password').val())+'&password_md5='+hex_md5($('#password').val()), function (data) {
- if(data === 1){
- $("#loginStatusMsg").html('Login successful!!');
- } else {
- $("#loginStatusMsg").html('Wrong username or password!');
- }
- });
- });
-
-});
diff --git a/sai/modules/saimod_sys_login/sai_sys_login_submit.js b/sai/modules/saimod_sys_login/sai_sys_login_submit.js
index 18f542c..f4241d4 100644
--- a/sai/modules/saimod_sys_login/sai_sys_login_submit.js
+++ b/sai/modules/saimod_sys_login/sai_sys_login_submit.js
@@ -1,4 +1,4 @@
-$(document).ready(function() {
+function init__SYSTEM_SAI_saimod_sys_login() {
//jqBootstrapValidation
$("#login_form input").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
@@ -31,4 +31,4 @@ $(document).ready(function() {
event.preventDefault();
}
});
-});
+};
diff --git a/sai/page/default_page/default_page.php b/sai/page/default_page/default_page.php
index 7a25cca..eee5b92 100644
--- a/sai/page/default_page/default_page.php
+++ b/sai/page/default_page/default_page.php
@@ -39,6 +39,9 @@ class default_page extends \SYSTEM\PAGE\Page {
''.
''.
'';
+ ''.
+ ''.
+ '';
return $result;
}
diff --git a/sai/page/default_page/js/apireference.js b/sai/page/default_page/js/apireference.js
deleted file mode 100644
index 13201b2..0000000
--- a/sai/page/default_page/js/apireference.js
+++ /dev/null
@@ -1,41 +0,0 @@
-
-var baseURL = "http://www.da-sense.de";
-var endpoint = "api.php";
-var url = baseURL + "/" + endpoint;
-
-/** jQuery on document ready */
-function init(){
-
- // initialize content
- loadContent('overview_request');
-
- /**
- * generic navigation control
- */
- $('div.main div#div-nav ul.nav li a').click(function () {
- var id = $(this).attr("id");
- if(id !== undefined){
- console.log("Action: "+id);
-
- $('div.main div#div-nav ul.nav li').each(function(){
- $(this).removeClass('active');
- });
- $(this).parent().addClass('active');
- loadContent(id);
- }
- });
-
-};
-
-/**
- * Load content
- * @param {type} id
- * @returns {undefined} */
-function loadContent(id){
- var splitID = id.split("_");
- if(splitID.length > 1){
- var folder = splitID[0];
- var file = splitID[1] + ".html";
- $('div#div-content').load('dasense/page/default_developer/modules/apireference/'+folder+'/'+file);
- }
-}
\ No newline at end of file
diff --git a/sai/page/default_page/js/bonusareacreator.js b/sai/page/default_page/js/bonusareacreator.js
deleted file mode 100644
index 2982588..0000000
--- a/sai/page/default_page/js/bonusareacreator.js
+++ /dev/null
@@ -1,315 +0,0 @@
-
-var service_url = "http://www.da-sense.de/productive/analysis.php";
-
-var map;
-
-var latlng;
-var radius; // [meters]
-var active = true;
-
-var currentAngle;
-var resizeMarker;
-var marker;
-var circle;
-
-var storedBonusAreas = [];
-
-var myOptions;
-var storedCircleOptions;
-var circleOptions;
-
-/** jQuery on document ready */
-function init() {
- $('#datepicker').datepicker({
- format: 'dd-mm-yyyy',
- weekStart: 1
- });
- $('#timepicker').timepicker();
-
- latlng = new google.maps.LatLng(49.87367, 8.65105);
- radius = 500;
-
- // map initialization
- map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
-
- circleOptions = {
- strokeColor: "#61ade7",
- strokeOpacity: 0.6,
- strokeWeight: 1,
- fillColor: "#61ade7",
- fillOpacity: 0.45,
- map: map,
- center: latlng ,
- radius: radius,
- clickable:false
- };
-
- storedCircleOptions = {
- strokeColor: "#00ff00",
- strokeOpacity: 0.6,
- strokeWeight: 1,
- fillColor: "#00ff00",
- fillOpacity: 0.2,
- map: map,
- center: latlng ,
- radius: radius,
- clickable:true
- };
-
- myOptions = {
- zoom: 15,
- maxZoom:18,
- minZoom:7,
- center: latlng,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- };
-
- updateAddress();
- updateRadius();
- updateExploration();
- reload();
-
- // set google maps marker
- marker = new google.maps.Marker({
- position: latlng,
- map: map,
- title: 'Center point of bonus area',
- icon: new google.maps.MarkerImage("dasense/page/default_developer/img/geo_point.png",new google.maps.Size(16,16),new google.maps.Point(0,0),new google.maps.Point(8,8)),
- cursor: "move",
- draggable: true
- });
-
- google.maps.event.addListener(marker, 'dragstart', function(e) {
- currentAngle = GEO_FUNCTIONS.getAngle(e.latLng, resizeMarker.getPosition());
- });
-
- google.maps.event.addListener(marker, 'drag', function(e) {
- dragCenterPoint(e);
- });
-
- google.maps.event.addListener(marker, 'dragend', function(e) {
- dragCenterPoint(e);
- //fitZoom();
- map.setCenter(latlng);
-
- updateAddress();
- updateExploration();
- });
-
- google.maps.event.addListener(map, 'rightclick', function(e) {
- dragCenterPoint(e)
- marker.setPosition(latlng);
- });
-
- // set google maps overlay: circle with specified radius and 'geopoint-marker' as centerpoint
- var resMarkPos = GEO_FUNCTIONS.getDestination(latlng, radius, 0.25*Math.PI);
- resizeMarker = new google.maps.Marker({
- position: resMarkPos,
- map: map,
- title: "Radius resizer",
- icon: new google.maps.MarkerImage("dasense/page/default_developer/img/geo_resize.png",new google.maps.Size(10,10),new google.maps.Point(0,0),new google.maps.Point(5,5)),
- cursor: "move",
- draggable: true
- });
-
- circle = new google.maps.Circle(circleOptions);
-
- google.maps.event.addListener(resizeMarker, 'dragend', function(e) {
- var dist = GEO_FUNCTIONS.getDistance(e.latLng, latlng);
- circle.setOptions({radius: dist});
- radius = dist;
- fitZoom();
-
- updateRadius();
- updateExploration();
- });
-
- google.maps.event.addListener(resizeMarker, 'drag', function(e) {
- var dist = GEO_FUNCTIONS.getDistance(e.latLng, latlng);
- radius = dist;
-
- updateRadius();
- circle.setOptions({radius: dist});
- });
-
- fitZoom();
-
- // send button
-/* $('#submit_icon').click(function () {
- cleanErrorFields();
-
- // simple validation of input fields
- var label = $('#field_label').val();
- var multiplier = $('#field_multiplier').val();
- var timeSlot = $('#field_timeSlot').val();
- var password = $('#field_password').val();
-
- var valid_label = validate(label,true,255,'string');
- if(valid_label === false) {
- $('#field_error_label').html("Check label field: string (max 255 chars)");
- return;
- }
-
- var valid_multiplier = validate(multiplier,true,255,'real');
- if(valid_multiplier === false){
- $('#field_error_multiplier').html("Check multiplier field: double");
- return;
- }
-
- var valid_timeSlot = validate(timeSlot,true,255,'int');
- if(valid_timeSlot === false){
- $('#field_error_timeSlot').html("Check time slot field: int [seconds]");
- return;
- }
-
- var valid_password = validate(password,true,45,'string');
- if(valid_password === false){
- $('#field_error_password').html("Check password field: string [max 45 chars]");
- return;
- }
-
- var formatted_address = $('#field_address').html();
-
- $(this).addClass('loader');
- marker.setMap(null);
- resizeMarker.setMap(null);
- circle.setOptions({fillOpacity: 0.3, fillColor: '#ff0000', strokeColor: '#ff0000'});
-
- var json = '{"geo":{"lat":'+latlng.lat()+',"lng":'+latlng.lng()+',"radius":'+radius+',"faddress":"'+encodeURI(JSON.stringify(formatted_address))+'"},"starttime":'+new Date().getTime()+',"slot":'+timeSlot*1000+',"multiplier":'+multiplier+',"label":"'+encodeURI(JSON.stringify(label))+'"}';
-
- // service call
- $.post(service_url,
- {
- ctrl: 'barea',
- mthd: 'insert',
- pswd: password,
- json: json
- },
- function(data,textStatus,jqXHR) {
- $('#submit_icon').removeClass('loader');
-
- // service call response
- if(data['result']['status'] != null && data['result']['status'].toLowerCase() == 'ok'){
- $('#submit_icon').addClass('clean').html('Bonus area has been pushed to all registered devices.
Thank you for using this nice service :-)');
- circle.setOptions(storedCircleOptions);
- circle.setOptions({radius: radius, center: latlng});
- }else if(data['result']['status'] != null){
- marker.setMap(map);
- resizeMarker.setMap(map);
- circle.setOptions(circleOptions);
- circle.setOptions({radius: radius, center: latlng});
- $('#field_password').val('');
- $('#field_error_password').html("Wrong service password");
- }
-
- })
- .error(function() { alert("An unexpected error occurred, please try again later !"); });
-
- });
-
- // clean all error fields
- function cleanErrorFields(){
- $('#field_error_label').html("
");
- $('#field_error_multiplier').html("
");
- $('#field_error_timeSlot').html("
");
- $('#field_error_password').html("
");
- }
-
- // fit button
- $('#fit_icon').click(function(){
- fitZoom();
- });
-
- // get all bonus areas
- $('#ref_all').click(function(){
- active = false;
- $(this).addClass('active');
- $('#ref_active').removeClass('active');
-
- reload();
- });
-
- // get all active bonus areas
- $('#ref_active').click(function(){
- active = true;
- $(this).addClass('active');
- $('#ref_all').removeClass('active');
-
- reload();
- });*/
-
-};
-
-
-function updateAddress(){
- $('#field_coords').html("("+latlng.lat() +", " + latlng.lng()+")");
- new google.maps.Geocoder().geocode({'latLng': latlng, 'language': 'de_DE'}, function(results, status) {
- if (status === google.maps.GeocoderStatus.OK) {
- $('#field_address').html(results[0]['formatted_address']);
- }
- });
-}
-
-function updateRadius(){
- $('#field_radius').html(radius.toFixed(2)+" m");
-}
-
-function updateExploration(){
- /*$.getJSON(service_url+'?ctrl=data&mthd=explore&coord='+latlng.lat()+','+latlng.lng()+'&'+'radius='+radius , function(data) {
- if(data.result.length > 0){
- $("#field_exploration").html(Number((1-Number(data.result[0].explore))* 100).toFixed(2) + " %");
- }
- });*/
-}
-
-function dragCenterPoint(e){
- var curPos = e.latLng;
- circle.setOptions({center: curPos});
- latlng = curPos;
- resizeMarker.setPosition(GEO_FUNCTIONS.getDestination(curPos, radius, currentAngle));
- $('#field_coords').html("("+latlng.lat() +", " + latlng.lng()+")");
-}
-
-function fitZoom(){
- map.fitBounds(
- new google.maps.LatLngBounds(
- GEO_FUNCTIONS.getDestination(latlng, 2.5*radius, 1.25*Math.PI),
- GEO_FUNCTIONS.getDestination(latlng, 2.5*radius, 0.25*Math.PI)));
-}
-
-// reload markers
-function reload(){
- clearOverlays();
- getStoredBonusAreas();
-}
-
-// Removes the overlays from the map, but keeps them in the array
-function clearOverlays() {
- if (storedBonusAreas) {
- for (i in storedBonusAreas) {
- storedBonusAreas[i].setMap(null);
- }
- }
- storedBonusAreas = [];
-}
-
-function getStoredBonusAreas(){
- storedBonusAreas = [];
-
- // service call
-/* $.getJSON(service_url,
- {
- ctrl: 'barea',
- mthd: ((active == true)?'getallactive':'getall')
- },
- function(data,textStatus,jqXHR) {
- // >> creat circles + storedCircleOptions + tooltip (!!! replace radius + center !!!)
- var i=0;
- $.each(data['result'], function(key, value) {
- var sCircle = new google.maps.Circle(storedCircleOptions);
- sCircle.setOptions({radius: value['radius'], center: new google.maps.LatLng(value['lat'],value['lng'])});
- storedBonusAreas[i++] = sCircle;
- });
- })
- .error(function() { alert("An unexpected error occurred, please try again later !"); });*/
-}
\ No newline at end of file
diff --git a/sai/page/default_page/js/documentation.js b/sai/page/default_page/js/documentation.js
deleted file mode 100644
index 5c22f0f..0000000
--- a/sai/page/default_page/js/documentation.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-function init(){
- // initialize content
- loadContent('server_architecture');
-
- /**
- * generic navigation control
- */
- $('div.main div#div-nav ul.nav li a').click(function () {
- var id = $(this).attr("id");
- if(id !== undefined){
- console.log("Action: "+id);
-
- $('div.main div#div-nav ul.nav li').each(function(){
- $(this).removeClass('active');
- });
- $(this).parent().addClass('active');
- loadContent(id);
- }
- });
-}
-
-/**
- * Load content
- * @param {type} id
- * @returns {undefined} */
-function loadContent(id){
- var splitID = id.split("_");
- if(splitID.length > 1){
- var folder = splitID[0];
- var file = splitID[1] + ".html";
- $('div#div-content').load('dasense/page/default_developer/modules/documentation/'+folder+'/'+file);
- }
-}
diff --git a/sai/page/default_page/js/index.js b/sai/page/default_page/js/index.js
index 7c90838..018e751 100644
--- a/sai/page/default_page/js/index.js
+++ b/sai/page/default_page/js/index.js
@@ -1,4 +1,7 @@
+var last_id = '';
+var scripts_loaded = 0;
+var scripts_req = 0;
/** jQuery on document ready */
$(document).ready(function() {
@@ -22,22 +25,41 @@ $(document).ready(function() {
$('.brand').click(function(){
location.reload();
});
+
});
function loadModuleContent(id){
- $('div#content-wrapper').load('./?action=developer&sai_mod='+id, function(){});
+ last_id = id;
+ $('div#content-wrapper').load('./?action=developer&sai_mod='+id, function(){
+ $.getJSON('./?action=developer&sai_mod='+id+'&css=1', function (data) {
+ if(data){
+ for(var i=0; i < data['result'].length; i++){
+ loadCSS(data['result'][i]);}
+ }
+ });
+
+ $.getJSON('./?action=developer&sai_mod='+id+'&js=1', function (data) {
+ if(data){
+ scripts_req = data['result'].length;
+ for(var i=0; i < data['result'].length; i++){
+ loadJS(unescape(data['result'][i]));}
+ }
+ });
+
- $.getJSON('./?action=developer&sai_mod='+id+'&css=1', function (data) {
- if(data){
- for(var i=0; i < data['result'].length; i++){
- loadCSS(data['result'][i]);}
- }
- });
+ });
+}
+
+function script_loaded(){
+ scripts_loaded += 1;
- $.getJSON('./?action=developer&sai_mod='+id+'&js=1', function (data) {
- if(data){
- for(var i=0; i < data['result'].length; i++){
- loadJS(unescape(data['result'][i]));}
- }
- });
+ if(scripts_loaded >= scripts_req){
+ scripts_loaded = 0;
+ func = 'init_'+last_id;
+ //func = jssrc.substring(jssrc.lastIndexOf('/')+1);
+ func = func.replace(/\./g,'_');
+ if(typeof window[func] === 'function') {
+ window[func]();
+ console.log(func+' called');}
+ }
}
\ No newline at end of file
diff --git a/sai/page/default_page/js/loadcssjs.js b/sai/page/default_page/js/loadcssjs.js
index 95a87ac..928c867 100644
--- a/sai/page/default_page/js/loadcssjs.js
+++ b/sai/page/default_page/js/loadcssjs.js
@@ -1,18 +1,19 @@
function loadJS(jssrc) {
if(jssrc){
- var snode = document.createElement('script');
- snode.setAttribute('type','text/javascript');
- snode.setAttribute('src',jssrc);
- document.getElementsByTagName('head')[0].appendChild(snode);
+ $.getScript(jssrc).done(function(script, textStatus) {
+ console.log('Script: '+jssrc+' - '+textStatus );
+ script_loaded();
+ })
}
}
-function loadCSS(csssrc) {
- if(csssrc){
+function loadCSS(csssrc) {
+ if(csssrc){
var snode = document.createElement('link');
snode.setAttribute('type','text/css');
snode.setAttribute('rel', 'stylesheet');
snode.setAttribute('href',csssrc);
document.getElementsByTagName('head')[0].appendChild(snode);
+ console.log('Css: '+csssrc+' loaded.');
}
}
\ No newline at end of file
diff --git a/sai/page/default_page/js/monitoring.js b/sai/page/default_page/js/monitoring.js
deleted file mode 100644
index f447a71..0000000
--- a/sai/page/default_page/js/monitoring.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-function init(){
-
-}
-
diff --git a/sai/page/default_page/js/pushmessage.js b/sai/page/default_page/js/pushmessage.js
deleted file mode 100644
index b947a05..0000000
--- a/sai/page/default_page/js/pushmessage.js
+++ /dev/null
@@ -1,35 +0,0 @@
-
-/** jQuery on document ready */
-function init(){
-
- selectUsers();
-
- $('#select-to').change(function(e){
- $('#select-to option:selected').each(function(){
- switch($(this).val()){
- case 'users': selectUsers(); break;
- case 'os': selectOS(); break;
- default: selectAll(); break;
- }
- });
- });
-
-};
-
-
-function selectUsers(){
- $('#element-os').hide();
- $('#element-users').show();
- // @todo: create table dynamically
-}
-
-function selectOS(){
- $('#element-os').show();
- $('#element-users').hide();
-}
-
-function selectAll(){
- $('#element-os').hide();
- $('#element-users').hide();
-}
-
diff --git a/sai/page/default_page/js/texthandler.js b/sai/page/default_page/js/texthandler.js
deleted file mode 100644
index e3243e2..0000000
--- a/sai/page/default_page/js/texthandler.js
+++ /dev/null
@@ -1,32 +0,0 @@
-
-/** jQuery on document ready */
-function init(){
-
- // initialize content
- loadContent('import');
-
- /**
- * generic navigation control
- */
- $('div.main div.tabbable ul.nav li a').click(function () {
- var id = $(this).parent().attr("id");
- if(id !== undefined){
- console.log("Action: "+id);
-
- $('div.main div.tabbable ul.nav li').each(function(){
- $(this).removeClass('active');
- });
- $(this).parent().addClass('active');
- loadContent(id);
- }
- });
-
-};
-
-/**
- * Load content
- * @param {type} id
- * @returns {undefined} */
-function loadContent(id){
- $('div.tab-content').load('dasense/page/default_developer/modules/texthandler/'+id+'.html');
-}
\ No newline at end of file