× Forum for the GPXTrackMap Content Plugin for Joomla! 2.5 and 3.x

2 Erweiterungsvorschläge

fingeradmin replied the topic: 2 Erweiterungsvorschläge

7 years 2 months ago

Hallo Karsten,

alles klar :)

die nächste "offizielle" Version wird's wohl erst in zwei-drei Wochen geben, habe gerade zu viel anderes Zeugs um die Ohren (und ja, ich weiß, eine neue Version ist längst überfällig :blush: ...).

lg, Frank

Please Log in or Create an account to join the conversation.

karsten13 replied the topic: 2 Erweiterungsvorschläge

7 years 2 months ago

Hallo Frank,


:)


das war ja auch nur ein schneller Hack um zu zeigen was ich gerne hätte ...
Freue mich auf die nächste Version,

Danke und Gruss,

Karsten.

Please Log in or Create an account to join the conversation.

fingeradmin replied the topic: 2 Erweiterungsvorschläge

7 years 2 months ago

Hallo Karsten,

bei Deinem ersten Vorschlag sehe ich kein Problem, das werde ich in die nächste Version so mit einbauen.

Den 2. Vorschlag finde ich prinzipiell auch gut, würde den aber noch etwas verändern wollen. So, wie Du es gemacht hast, würde ja alles hinter dem "?" in der URL als GPX-Dateiname hergenommen. Falls z.B. andere Plugins oder Komponenten ebenfalls Query-Parameter benötigen, würde das nicht mehr funktionieren.

Vorschlag daher: statt nur "GETFROMURI" könnte man auch "$get=gpxfile$" nehmen. In die URLs würde man dann so was wie "/meinserver/meinbeitrag?gpxfile=meintrack.gpx" schreiben. Das Plugin würde den Wert dann mit $_GET bzw. $_GET[ <die Variable zwischen "$get=" und "$" > ] auslesen.

Ist minimal mehr Aufwand, fände ich aber universeller, weil es auch mit "/meinserver/meinbeitrag?gpxfile=meintrack.gpx,zweiterparam=zweiterwert" usw. funktionieren würde.

Weiterer Hintergrund dazu: Ich würde gerne in näherer Zukunft noch eine Möglichkeit einbauen, das Plugin ganz ohne GPX-Datei zu nutzen, wenn man einfach nur einen Punkt auf der Karte markieren will. Dazu könnte man statt des GPX-Dateinamen im Aufruf dann sowas wie "$coords=51.4,6.38$" schreiben.

Das würde dann von der Syntax her auch mit Deinem Vorschlag besser zusammenpassen :)

lg, Frank

Please Log in or Create an account to join the conversation.

karsten13 created the topic: 2 Erweiterungsvorschläge

7 years 2 months ago

Hallo Frank,

ich bin zufällig auf dieses Plugin gestossen und möchte mich erstmal für diese tolle Arbeit bedanken!

Beim rumspielen damit (Version 1.3.3 Beta 2) sind mir 2 Dinge aufgefallen.

a) Ist im Dateinamen des gpx-Files z.Bsp. das Zeichen "&" enthalten, so steigt das Plugin aus. Da ich leider (historisch bedingt) solche Files habe, habe ich die gpxtrackmap.php
gepatcht und zwar

        $gpx_file  = $gpx_array[0]; // first param must be the gpx filename or url
durch
        $gpx_file  = htmlspecialchars_decode($gpx_array[0]); // first param must be the gpx filename or url
ersetzt. Falls das sonst keine Nebenwirkungen hat, könntest Du das ja in eine Folge-Version mit einbauen.

b) Um das Plugin als Viewer für beliebige auf dem Server liegende Gpx-Files zu nutzen bin ich auf die Idee gekommen, einen Artikel in Joomla anzulegen und diesem in der url zusätzlich den Filenamen mitzugeben (getrennt durch "?").

Als Inhalt enthält dieser Artikel nur

{gpxtrackmap}GETFROMURI{/gpxtrackmap}

wobei "GETFROMURI" ein Platzhalter ist, der in der gpxtrackmap.php noch gefüllt werden muss.

Die Anpassungen halten sich aber in Grenzen:
        $gpx_file  = htmlspecialchars_decode($gpx_array[0]); // first param must be the gpx filename or url
//        $gpx_file  = $gpx_array[0]; // first param must be the gpx filename or url
 
        if (strlen($gpx_file) > 0) {
		if (substr_compare($gpx_file,'GETFROMURI',0,10) == 0) {
  		  $gpx_file = $_SERVER["QUERY_STRING"]; 		
	    }
 
		// V1.2.3 gpx files via URL support
		if (strlen($gpx_file) == 0) {
		  $gpx_filepath = '';	 
		} else if (substr_compare($gpx_file,'http://',0,7) == 0) {
		  $externalgpx = 1; 
		  $gpx_path  = $gpx_file;
 
		  $gpx_file  = parse_url($gpx_file,PHP_URL_PATH);   
		  $localpath = parse_url($this->_live_site,PHP_URL_PATH);
		  $gpx_file  = substr($gpx_file,strlen($localpath));
		  $gpx_filepath = $this->_absolute_path.$gpx_file;
		  $path_parts = pathinfo($gpx_file);
		  $gpx_file = $path_parts['basename'];
		  $gpx_dir = $this->_absolute_path.DIRECTORY_SEPARATOR.$path_parts['dirname'].'/';          
		  $gpx_basepath = $this->_live_site.$path_parts['dirname'].'/';
		} else {
		  $externalgpx = 0; 
		  $gpx_dir = $this->_absolute_path.DIRECTORY_SEPARATOR.$this->_rootfolder;
		  $gpx_basepath = $this->_live_site.$this->_rootfolder;
		  $gpx_path  = $gpx_basepath.$gpx_file;
		  $gpx_filepath = $this->_absolute_path.$this->_rootfolder.$gpx_file;
		}       
    }
Damit hat man nun einen universellen Viewer, dem man den Track von aussen übergeben kann. Vielleicht auch etwas, was für andere interessant ist ...

Gruss,

Karsten.

Please Log in or Create an account to join the conversation.

Powered by Kunena Forum