예제 #1
0
function handle_WP_GPX_Maps_Shortcodes($attr, $content = '')
{
    $error = '';
    $gpx = findValue($attr, "gpx", "", "");
    $w = findValue($attr, "width", "wpgpxmaps_width", "100%");
    $mh = findValue($attr, "mheight", "wpgpxmaps_height", "450px");
    $mt = findValue($attr, "mtype", "wpgpxmaps_map_type", "HYBRID");
    $gh = findValue($attr, "gheight", "wpgpxmaps_graph_height", "200px");
    $showCad = findValue($attr, "showcad", "wpgpxmaps_show_cadence", false);
    $showHr = findValue($attr, "showhr", "wpgpxmaps_show_hr", false);
    $showAtemp = findValue($attr, "showatemp", "wpgpxmaps_show_atemp", false);
    $showW = findValue($attr, "waypoints", "wpgpxmaps_show_waypoint", false);
    $showEle = findValue($attr, "showele", "wpgpxmaps_show_elevation", "true");
    $showSpeed = findValue($attr, "showspeed", "wpgpxmaps_show_speed", false);
    $showGrade = findValue($attr, "showgrade", "wpgpxmaps_show_grade", false);
    $zoomOnScrollWheel = findValue($attr, "zoomonscrollwheel", "wpgpxmaps_zoomonscrollwheel", false);
    $donotreducegpx = findValue($attr, "donotreducegpx", "wpgpxmaps_donotreducegpx", false);
    $pointsoffset = findValue($attr, "pointsoffset", "wpgpxmaps_pointsoffset", 10);
    $uom = findValue($attr, "uom", "wpgpxmaps_unit_of_measure", "0");
    $uomspeed = findValue($attr, "uomspeed", "wpgpxmaps_unit_of_measure_speed", "0");
    $color_map = findValue($attr, "mlinecolor", "wpgpxmaps_map_line_color", "#3366cc");
    $color_graph = findValue($attr, "glinecolor", "wpgpxmaps_graph_line_color", "#3366cc");
    $color_graph_speed = findValue($attr, "glinecolorspeed", "wpgpxmaps_graph_line_color_speed", "#ff0000");
    $color_graph_hr = findValue($attr, "glinecolorhr", "wpgpxmaps_graph_line_color_hr", "#ff77bd");
    $color_graph_atemp = findValue($attr, "glinecoloratemp", "wpgpxmaps_graph_line_color_atemp", "#ff77bd");
    $color_graph_cad = findValue($attr, "glinecolorcad", "wpgpxmaps_graph_line_color_cad", "#beecff");
    $color_graph_grade = findValue($attr, "glinecolorgrade", "wpgpxmaps_graph_line_color_grade", "#beecff");
    $chartFrom1 = findValue($attr, "chartfrom1", "wpgpxmaps_graph_offset_from1", "");
    $chartTo1 = findValue($attr, "chartto1", "wpgpxmaps_graph_offset_to1", "");
    $chartFrom2 = findValue($attr, "chartfrom2", "wpgpxmaps_graph_offset_from2", "");
    $chartTo2 = findValue($attr, "chartto2", "wpgpxmaps_graph_offset_to2", "");
    $startIcon = findValue($attr, "starticon", "wpgpxmaps_map_start_icon", "");
    $endIcon = findValue($attr, "endicon", "wpgpxmaps_map_end_icon", "");
    $currentIcon = findValue($attr, "currenticon", "wpgpxmaps_map_current_icon", "");
    $waypointIcon = findValue($attr, "waypointicon", "wpgpxmaps_map_waypoint_icon", "");
    $ngGalleries = findValue($attr, "nggalleries", "wpgpxmaps_map_ngGalleries", "");
    $ngImages = findValue($attr, "ngimages", "wpgpxmaps_map_ngImages", "");
    // folgende Zeile hinzugefügt:
    $attachments = findValue($attr, "attachments", "wpgpxmaps_map_attachments", false);
    $download = findValue($attr, "download", "wpgpxmaps_download", "");
    $dtoffset = findValue($attr, "dtoffset", "wpgpxmaps_dtoffset", 0);
    $distanceType = findValue($attr, "distanceType", "wpgpxmaps_distance_type", 0);
    $skipcache = findValue($attr, "skipcache", "wpgpxmaps_skipcache", "");
    $summary = findValue($attr, "summary", "wpgpxmaps_summary", "");
    $p_tot_len = findValue($attr, "summarytotlen", "wpgpxmaps_summary_tot_len", false);
    $p_max_ele = findValue($attr, "summarymaxele", "wpgpxmaps_summary_max_ele", false);
    $p_min_ele = findValue($attr, "summaryminele", "wpgpxmaps_summary_min_ele", false);
    $p_total_ele_up = findValue($attr, "summaryeleup", "wpgpxmaps_summary_total_ele_up", false);
    $p_total_ele_down = findValue($attr, "summaryeledown", "wpgpxmaps_summary_total_ele_down", false);
    $p_avg_speed = findValue($attr, "summaryavgspeed", "wpgpxmaps_summary_avg_speed", false);
    $p_total_time = findValue($attr, "summarytotaltime", "wpgpxmaps_summary_total_time", false);
    $usegpsposition = findValue($attr, "usegpsposition", "wpgpxmaps_usegpsposition", false);
    $currentpositioncon = findValue($attr, "currentpositioncon", "wpgpxmaps_currentpositioncon", "");
    $colors_map = "\"" . implode("\",\"", explode(" ", $color_map)) . "\"";
    $gpxurl = $gpx;
    // Add file modification time to cache filename to catch new uploads with same file name
    $mtime = sitePath() . str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, trim($gpx));
    if (file_exists($mtime)) {
        $mtime = filemtime($mtime);
    } else {
        $mtime = 0;
    }
    $cacheFileName = "{$gpx},{$mtime},{$w},{$mh},{$mt},{$gh},{$showEle},{$showW},{$showHr},{$showAtemp},{$showCad},{$donotreducegpx},{$pointsoffset},{$showSpeed},{$showGrade},{$uomspeed},{$uom},{$distanceType},v1.3.9";
    $cacheFileName = md5($cacheFileName);
    $gpxcache = gpxCacheFolderPath();
    if (!(file_exists($gpxcache) && is_dir($gpxcache))) {
        @mkdir($gpxcache, 0755, true);
    }
    $gpxcache .= DIRECTORY_SEPARATOR . $cacheFileName . ".tmp";
    // Try to load cache
    if (file_exists($gpxcache) && !($skipcache == true)) {
        try {
            $cache_str = file_get_contents($gpxcache);
            $cache_obj = unserialize($cache_str);
            $points_maps = $cache_obj["points_maps"];
            $points_x_time = $cache_obj["points_x_time"];
            $points_x_lat = $cache_obj["points_x_lat"];
            $points_x_lon = $cache_obj["points_x_lon"];
            $points_graph_dist = $cache_obj["points_graph_dist"];
            $points_graph_ele = $cache_obj["points_graph_ele"];
            $points_graph_speed = $cache_obj["points_graph_speed"];
            $points_graph_hr = $cache_obj["points_graph_hr"];
            $points_graph_atemp = $cache_obj["points_graph_atemp"];
            $points_graph_cad = $cache_obj["points_graph_cad"];
            $points_graph_grade = $cache_obj["points_graph_grade"];
            $waypoints = $cache_obj["waypoints"];
            $max_ele = $cache_obj["max_ele"];
            $min_ele = $cache_obj["min_ele"];
            $max_time = $cache_obj["max_time"];
            $min_time = $cache_obj["min_time"];
            $total_ele_up = $cache_obj["total_ele_up"];
            $total_ele_down = $cache_obj["total_ele_down"];
            $avg_speed = $cache_obj["avg_speed"];
            $tot_len = $cache_obj["tot_len"];
        } catch (Exception $e) {
            $points_maps = '';
            $points_x_time = '';
            $points_x_lat = '';
            $points_x_lon = '';
            $points_graph_dist = '';
            $points_graph_ele = '';
            $points_graph_speed = '';
            $points_graph_hr = '';
            $points_graph_atemp = '';
            $points_graph_cad = '';
            $points_graph_grade = '';
            $waypoints = '';
            $max_ele = 0;
            $min_ele = 0;
            $max_time = 0;
            $min_time = 0;
            $total_ele_up = 0;
            $total_ele_down = 0;
            $avg_speed = 0;
            $tot_len = 0;
        }
    }
    $isGpxUrl = preg_match('/^(http(s)?\\:\\/\\/)/', trim($gpx)) == 1;
    if ((!isset($points_maps) || $points_maps == '') && $gpx != '') {
        //if (true)	{
        $sitePath = sitePath();
        $gpx = trim($gpx);
        if ($isGpxUrl == true) {
            $gpx = downloadRemoteFile($gpx);
        } else {
            $gpx = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $gpx);
            $gpx = $sitePath . $gpx;
        }
        if ($gpx == '') {
            return "No gpx found";
        }
        $points = getPoints($gpx, $pointsoffset, $donotreducegpx, $distanceType);
        $points_maps = '';
        $points_graph_dist = '';
        $points_graph_ele = '';
        $points_graph_speed = '';
        $points_graph_hr = '';
        $points_graph_atemp = '';
        $points_graph_cad = '';
        $points_graph_grade = '';
        $waypoints = '';
        $points_x_time = $points->dt;
        $points_x_lat = $points->lat;
        $points_x_lon = $points->lon;
        $max_ele = $points->maxEle;
        $min_ele = $points->minEle;
        $max_time = $points->maxTime;
        $min_time = $points->minTime;
        $total_ele_up = $points->totalEleUp;
        $total_ele_down = $points->totalEleDown;
        $avg_speed = $points->avgSpeed;
        $tot_len = $points->totalLength;
        if (is_array($points_x_lat)) {
            foreach (array_keys($points_x_lat) as $i) {
                $_lat = (double) $points_x_lat[$i];
                $_lon = (double) $points_x_lon[$i];
                if ($_lat == 0 && $_lon == 0) {
                    $points_maps .= 'null,';
                    $points_graph_dist .= 'null,';
                    $points_graph_ele .= 'null,';
                    if ($showSpeed == true) {
                        $points_graph_speed .= 'null,';
                    }
                    if ($showHr == true) {
                        $points_graph_hr .= 'null,';
                    }
                    if ($showAtemp == true) {
                        $points_graph_atemp .= 'null,';
                    }
                    if ($showCad == true) {
                        $points_graph_cad .= 'null,';
                    }
                    if ($showGrade == true) {
                        $points_graph_grade .= 'null,';
                    }
                } else {
                    $points_maps .= '[' . number_format((double) $points_x_lat[$i], 7, '.', '') . ',' . number_format((double) $points_x_lon[$i], 7, '.', '') . '],';
                    $_ele = (double) $points->ele[$i];
                    $_dist = (double) $points->dist[$i];
                    if ($uom == '1') {
                        // Miles and feet
                        $_dist *= 0.000621371192;
                        $_ele *= 3.2808399;
                    } else {
                        if ($uom == '2') {
                            // meters / kilometers
                            $_dist = (double) ($_dist / 1000);
                        } else {
                            if ($uom == '3') {
                                // meters / kilometers / nautical miles
                                $_dist = (double) ($_dist / 1000 / 1.852);
                            } else {
                                if ($uom == '4') {
                                    // meters / miles
                                    $_dist *= 0.000621371192;
                                } else {
                                    if ($uom == '5') {
                                        // meters / kilometers / nautical miles and feet
                                        $_dist = (double) ($_dist / 1000 / 1.852);
                                        $_ele *= 3.2808399;
                                    }
                                }
                            }
                        }
                    }
                    $points_graph_dist .= number_format($_dist, 2, '.', '') . ',';
                    $points_graph_ele .= number_format($_ele, 2, '.', '') . ',';
                    if ($showSpeed == true) {
                        $_speed = (double) $points->speed[$i];
                        $points_graph_speed .= convertSpeed($_speed, $uomspeed) . ',';
                    }
                    if ($showHr == true) {
                        $points_graph_hr .= number_format($points->hr[$i], 2, '.', '') . ',';
                    }
                    if ($showAtemp == true) {
                        $points_graph_atemp .= number_format($points->atemp[$i], 1, '.', '') . ',';
                    }
                    if ($showCad == true) {
                        $points_graph_cad .= number_format($points->cad[$i], 2, '.', '') . ',';
                    }
                    if ($showGrade == true) {
                        $points_graph_grade .= number_format($points->grade[$i], 2, '.', '') . ',';
                    }
                }
            }
        }
        if ($uom == '1') {
            // Miles and feet
            $tot_len = round($tot_len * 0.000621371192, 2) . " mi";
            $max_ele = round($max_ele * 3.2808399, 0) . " ft";
            $min_ele = round($min_ele * 3.2808399, 0) . " ft";
            $total_ele_up = round($total_ele_up * 3.2808399, 0) . " ft";
            $total_ele_down = round($total_ele_down * 3.2808399, 0) . " ft";
        } else {
            if ($uom == '2') {
                // meters / kilometers
                $tot_len = round($tot_len / 1000, 2) . " km";
                $max_ele = round($max_ele, 0) . " m";
                $min_ele = round($min_ele, 0) . " m";
                $total_ele_up = round($total_ele_up, 0) . " m";
                $total_ele_down = round($total_ele_down, 0) . " m";
            } else {
                if ($uom == '3') {
                    // meters / kilometers / nautical miles
                    $tot_len = round($tot_len / 1000 / 1.852, 2) . " NM";
                    $max_ele = round($max_ele, 0) . " m";
                    $min_ele = round($min_ele, 0) . " m";
                    $total_ele_up = round($total_ele_up, 0) . " m";
                    $total_ele_down = round($total_ele_down, 0) . " m";
                } else {
                    if ($uom == '4') {
                        // meters / kilometers / nautical miles
                        $tot_len = round($tot_len * 0.000621371192, 2) . " mi";
                        $max_ele = round($max_ele, 0) . " m";
                        $min_ele = round($min_ele, 0) . " m";
                        $total_ele_up = round($total_ele_up, 0) . " m";
                        $total_ele_down = round($total_ele_down, 0) . " m";
                    } else {
                        if ($uom == '5') {
                            // meters / kilometers / nautical miles and feet
                            $tot_len = round($tot_len / 1000 / 1.852, 2) . " NM";
                            $max_ele = round($max_ele * 3.2808399, 0) . " ft";
                            $min_ele = round($min_ele * 3.2808399, 0) . " ft";
                            $total_ele_up = round($total_ele_up * 3.2808399, 0) . " ft";
                            $total_ele_down = round($total_ele_down * 3.2808399, 0) . " ft";
                        } else {
                            // meters / meters
                            $tot_len = round($tot_len, 0) . " m";
                            $max_ele = round($max_ele, 0) . " m";
                            $min_ele = round($min_ele, 0) . " m";
                            $total_ele_up = round($total_ele_up, 0) . " m";
                            $total_ele_down = round($total_ele_down, 0) . " m";
                        }
                    }
                }
            }
        }
        $avg_speed = convertSpeed($avg_speed, $uomspeed, true);
        $waypoints = '[]';
        if ($showW == true) {
            $wpoints = getWayPoints($gpx);
            /*
            foreach ($wpoints as $p) {
            	$waypoints .= '['.number_format ( (float)$p[0] , 7 , '.' , '' ).','.number_format ( (float)$p[1] , 7 , '.' , '' ).',\''.unescape($p[4]).'\',\''.unescape($p[5]).'\',\''.unescape($p[7]).'\'],';
            }
            */
            $waypoints = json_encode($wpoints);
        }
        if ($showEle == "false") {
            $points_graph_ele = "";
        }
        $p = "/(,|,null,)\$/";
        $points_maps = preg_replace($p, "", $points_maps);
        $points_graph_dist = preg_replace($p, "", $points_graph_dist);
        $points_graph_ele = preg_replace($p, "", $points_graph_ele);
        $points_graph_speed = preg_replace($p, "", $points_graph_speed);
        $points_graph_hr = preg_replace($p, "", $points_graph_hr);
        $points_graph_atemp = preg_replace($p, "", $points_graph_atemp);
        $points_graph_cad = preg_replace($p, "", $points_graph_cad);
        $points_graph_grade = preg_replace($p, "", $points_graph_grade);
        $waypoints = preg_replace($p, "", $waypoints);
        if (preg_match("/^(0,?)+\$/", $points_graph_dist)) {
            $points_graph_dist = "";
        }
        if (preg_match("/^(0,?)+\$/", $points_graph_ele)) {
            $points_graph_ele = "";
        }
        if (preg_match("/^(0,?)+\$/", $points_graph_speed)) {
            $points_graph_speed = "";
        }
        if (preg_match("/^(0,?)+\$/", $points_graph_hr)) {
            $points_graph_hr = "";
        }
        if (preg_match("/^(0,?)+\$/", $points_graph_hr)) {
            $points_graph_hr = "";
        }
        if (preg_match("/^(0,?)+\$/", $points_graph_atemp)) {
            $points_graph_atemp = "";
        }
        if (preg_match("/^(0,?)+\$/", $points_graph_grade)) {
            $points_graph_grade = "";
        }
    }
    $ngimgs_data = '';
    if ($ngGalleries != '' || $ngImages != '') {
        //print_r($points);
        $ngimgs = getNGGalleryImages($ngGalleries, $ngImages, $points_x_time, $points_x_lat, $points_x_lon, $dtoffset, $error);
        $ngimgs_data = '';
        foreach ($ngimgs as $img) {
            $data = $img['data'];
            $data = str_replace("\n", "", $data);
            $ngimgs_data .= '<span lat="' . $img['lat'] . '" lon="' . $img['lon'] . '">' . $data . '</span>';
        }
    }
    // Folgende Zeilen hinzugefügt
    if ($attachments == true) {
        $attimgs = getAttachedImages($points_x_time, $points_x_lat, $points_x_lon, $dtoffset, $error);
        foreach ($attimgs as $img) {
            $data = $img['data'];
            $data = str_replace("\n", "", $data);
            $ngimgs_data .= '<span lat="' . $img['lat'] . '" lon="' . $img['lon'] . '">' . $data . '</span>';
        }
    }
    if (!($skipcache == true)) {
        @file_put_contents($gpxcache, serialize(array("points_maps" => $points_maps, "points_x_time" => $points_x_time, "points_x_lat" => $points_x_lat, "points_x_lon" => $points_x_lon, "points_graph_dist" => $points_graph_dist, "points_graph_ele" => $points_graph_ele, "points_graph_speed" => $points_graph_speed, "points_graph_hr" => $points_graph_hr, "points_graph_atemp" => $points_graph_atemp, "points_graph_cad" => $points_graph_cad, "points_graph_grade" => $points_graph_grade, "waypoints" => $waypoints, "max_ele" => $max_ele, "min_ele" => $min_ele, "total_ele_up" => $total_ele_up, "total_ele_down" => $total_ele_down, "avg_speed" => $avg_speed, "tot_len" => $tot_len, "max_time" => $max_time, "min_time" => $min_time)), LOCK_EX);
        @chmod($gpxcache, 0755);
    }
    $hideGraph = $gh == "0" || $gh == "0px";
    global $post;
    $r = $post->ID . "_" . rand(1, 5000000);
    $output = '
		<div id="wpgpxmaps_' . $r . '" class="wpgpxmaps">
			<div id="map_' . $r . '_cont" style="width:' . $w . '; height:' . $mh . ';position:relative" >
				<div id="map_' . $r . '" style="width:' . $w . '; height:' . $mh . '"></div>
				<div id="wpgpxmaps_' . $r . '_osm_footer" class="wpgpxmaps_osm_footer" style="display:none;"><span> &copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors</span></div>			
			</div>
			<div id="hchart_' . $r . '" class="plot" style="width:' . $w . '; height:' . $gh . '"></div>
			<div id="ngimages_' . $r . '" class="ngimages" style="display:none">' . $ngimgs_data . '</div>
			<div id="report_' . $r . '" class="report"></div>
		</div>
		' . $error . '
		<script type="text/javascript">
			jQuery(document).ready(function() {
				jQuery("#wpgpxmaps_' . $r . '").wpgpxmaps({ 
					targetId    : "' . $r . '",
					mapType     : "' . $mt . '",
					mapData     : [' . $points_maps . '],
					graphDist   : [' . ($hideGraph ? '' : $points_graph_dist) . '],
					graphEle    : [' . ($hideGraph ? '' : $points_graph_ele) . '],
					graphSpeed  : [' . ($hideGraph ? '' : $points_graph_speed) . '],
					graphHr     : [' . ($hideGraph ? '' : $points_graph_hr) . '],
					graphAtemp  : [' . ($hideGraph ? '' : $points_graph_atemp) . '],
					graphCad    : [' . ($hideGraph ? '' : $points_graph_cad) . '],
					graphGrade  : [' . ($hideGraph ? '' : $points_graph_grade) . '],
					waypoints   : ' . $waypoints . ',
					unit        : "' . $uom . '",
					unitspeed   : "' . $uomspeed . '",
					color1      : [' . $colors_map . '],
					color2      : "' . $color_graph . '",
					color3      : "' . $color_graph_speed . '",
					color4      : "' . $color_graph_hr . '",
					color5      : "' . $color_graph_cad . '",
					color6      : "' . $color_graph_grade . '",
					color7      : "' . $color_graph_atemp . '",
					chartFrom1  : "' . $chartFrom1 . '",
					chartTo1    : "' . $chartTo1 . '",
					chartFrom2  : "' . $chartFrom2 . '",
					chartTo2    : "' . $chartTo2 . '",
					startIcon   : "' . $startIcon . '",
					endIcon     : "' . $endIcon . '",
					currentIcon : "' . $currentIcon . '",
					waypointIcon : "' . $waypointIcon . '",
					currentpositioncon : "' . $currentpositioncon . '",
					usegpsposition : "' . $usegpsposition . '",
					zoomOnScrollWheel : "' . $zoomOnScrollWheel . '", 
					ngGalleries : [' . $ngGalleries . '],
					ngImages : [' . $ngImages . '],
					pluginUrl : "' . plugins_url() . '",
					langs : { altitude              : "' . __("Altitude", "wp-gpx-maps") . '",
							  currentPosition       : "' . __("Current Position", "wp-gpx-maps") . '",
							  speed                 : "' . __("Speed", "wp-gpx-maps") . '", 
							  grade                 : "' . __("Grade", "wp-gpx-maps") . '", 
							  heartRate             : "' . __("Heart rate", "wp-gpx-maps") . '", 
							  atemp             	: "' . __("Temperature", "wp-gpx-maps") . '", 
							  cadence               : "' . __("Cadence", "wp-gpx-maps") . '",
							  goFullScreen          : "' . __("Go Full Screen", "wp-gpx-maps") . '",
							  exitFullFcreen        : "' . __("Exit Full Screen", "wp-gpx-maps") . '",
							  hideImages            : "' . __("Hide Images", "wp-gpx-maps") . '",
							  showImages            : "' . __("Show Images", "wp-gpx-maps") . '",
							  backToCenter		    : "' . __("Back to center", "wp-gpx-maps") . '"
							}
				});
			});
		</script>';
    // print summary
    if ($summary == 'true' && ($points_graph_speed != '' || $points_graph_ele != '' || $points_graph_dist != '')) {
        $output .= "<div id='wpgpxmaps_summary_" . $r . "' class='wpgpxmaps_summary'>";
        if ($points_graph_dist != '' && $p_tot_len == 'true') {
            $output .= "<span class='totlen'><span class='summarylabel'>" . __("Total distance", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$tot_len}</span></span><br />";
        }
        if ($points_graph_ele != '') {
            if ($p_max_ele == 'true') {
                $output .= "<span class='maxele'><span class='summarylabel'>" . __("Max elevation", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$max_ele}</span></span><br />";
            }
            if ($p_min_ele == 'true') {
                $output .= "<span class='minele'><span class='summarylabel'>" . __("Min elevation", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$min_ele}</span></span><br />";
            }
            if ($p_total_ele_up == 'true') {
                $output .= "<span class='totaleleup'><span class='summarylabel'>" . __("Total climbing", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$total_ele_up}</span></span><br />";
            }
            if ($p_total_ele_down == 'true') {
                $output .= "<span class='totaleledown'><span class='summarylabel'>" . __("Total descent", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$total_ele_down}</span></span><br />";
            }
        }
        if ($points_graph_speed != '' && $p_avg_speed == 'true') {
            $output .= "<span class='avgspeed'><span class='summarylabel'>" . __("Average speed", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$avg_speed}</span></span><br />";
        }
        if ($p_total_time == 'true' && $max_time > 0) {
            $time_diff = date("H:i:s", $max_time - $min_time);
            $output .= "<span class='totaltime'><span class='summarylabel'>" . __("Total Time", "wp-gpx-maps") . ":</span><span class='summaryvalue'> {$time_diff}</span></span><br />";
        }
        $output .= "</div>";
    }
    // print download link
    if ($download == 'true' && $gpxurl != '') {
        if ($isGpxUrl == true) {
        } else {
            // wpml fix
            $dummy = defined('WP_SITEURL') ? WP_SITEURL : get_bloginfo('url');
            $gpxurl = $dummy . $gpxurl;
        }
        $output .= "<a href='{$gpxurl}' target='_new'>" . __("Download", "wp-gpx-maps") . "</a>";
    }
    return $output;
}
예제 #2
0
function WP_GPX_Maps_html_page()
{
    $realGpxPath = gpxFolderPath();
    $cacheGpxPath = gpxCacheFolderPath();
    $relativeGpxPath = relativeGpxFolderPath();
    $relativeGpxPath = str_replace("\\", "/", $relativeGpxPath);
    $tab = $_GET['tab'];
    if ($tab == '') {
        $tab = 'tracks';
    }
    ?>
	<div id="icon-themes" class="icon32"><br></div>
		<h2>WP GPX Settings</h2>	
<?php 
    if (file_exists($realGpxPath) && is_dir($realGpxPath)) {
        //dir exsist!
    } else {
        if (!@mkdir($realGpxPath, 0755, true)) {
            echo '<div class="error" style="padding:10px">
					Can\'t create <b>' . $realGpxPath . '</b> folder. Please create it and make it writable!<br />
					If not, you will must update the file manually!
				  </div>';
        }
    }
    if (file_exists($cacheGpxPath) && is_dir($cacheGpxPath)) {
        //dir exsist!
    } else {
        if (!@mkdir($cacheGpxPath, 0755, true)) {
            echo '<div class="error" style="padding:10px">
					Can\'t create <b>' . $cacheGpxPath . '</b> folder. Please create it and make it writable!<br />
					If not, cache will not created and your site could be slower!
				  </div>';
        }
    }
    ilc_admin_tabs($tab);
    if ($tab == "tracks") {
        include 'wp-gpx-maps_admin_tracks.php';
    } else {
        if ($tab == "settings") {
            include 'wp-gpx-maps_admin_settings.php';
        } else {
            if ($tab == "help") {
                ?>

	<div style="padding:10px;">
		<b>The fastest way to use this plugin:</b><br /> upload the file using the uploader in the first tab, than copy the shortcode from the list and paste it in the pages/posts.
		<p>You can manually set the relative path to your gpx: <b>[sgpx gpx="<?php 
                echo $relativeGpxPath;
                ?>
&lt gpx file name &gt"]</b>.</p>
		<p>You can also use gpx from other sites: <b>[sgpx gpx="http://www.someone.com/somewhere/somefile.gpx"]</b></p>
		<hr />
		<p>
			<i>Full set of attributes:</i> <b>[sgpx gpx="<?php 
                echo $relativeGpxPath;
                ?>
&lt gpx file name &gt" </b>
													&nbsp;&nbsp;&nbsp;<em>&gt&gt read below all the optional attributes &lt&lt</em>&nbsp;&nbsp;&nbsp;
											<b>]</b>

			<ul>
<li><b>gpx</b>: relative path to gpx
</li><li><b>width</b>: width in pixels
</li><li><b>mheight</b>: map height
</li><li><b>gheight</b>: graph height
</li><li><b>mtype</b>: map available types are: HYBRID, ROADMAP, SATELLITE, TERRAIN, OSM1 (Open Street Map), OSM2 (Open Cycle Map), OSM3 (Hike & Bike), OSM4 (Open Cycle Map - Transport), OSM5 (Open Cycle Map - Landscape), OSM6 (MapToolKit - Terrain)
</li><li><b>waypoints</b>: print the gpx waypoints inside the map (default is FALSE)
</li><li><b>donotreducegpx</b>: print all the point without reduce it (default is FALSE)
</li><li><b>pointsoffset</b>: skip points closer than XX meters(default is 10)
</li><li><b>uom</b>: distance/altitude possible unit of measure are: 0, 1, 2, 3, 4, 5 (0 = meters, 1 = feet/miles, 2 = meters/kilometers, 3 = meters/nautical miles, 4 = meters/miles, 5 = feet/nautical miles)
</li><li><b>mlinecolor</b>: map line color (default is #3366cc)
</li><li><b>glinecolor</b>: altitude line color (default is #3366cc)
</li><li><b>showspeed</b>: show speed inside the chart (default is FALSE)
</li><li><b>showhr</b>: show heart rate inside the chart (default is FALSE)
</li><li><b>showele</b>: show elevation data inside the chart (default is TRUE)
</li><li><b>showcad</b>: show cadence inside the chart (default is FALSE)
</li><li><b>showgrade</b>: show grade inside the chart (default is FALSE)
</li><li><b>glinecolorspeed</b>: speed line color (default is #ff0000)
</li><li><b>glinecolorhr</b>: heart rate line color (default is #ff77bd)
</li><li><b>glinecolorcad</b>: cadence line color (default is #beecff)
</li><li><b>glinecolorgrade</b>: grade line color (default is #beecff)
</li><li><b>uomspeed</b>: unit of measure for speed are: 0, 1, 2, 3, 4, 5 (0 = m/s, 1 = km/h, 2 = miles/h, 3 = min/km, 4 = min/miles, 5 = Nautical Miles/Hour (Knots))
</li><li><b>chartFrom1</b>: minimun value for altitude chart
</li><li><b>chartTo1</b>: maxumin value for altitude chart
</li><li><b>chartFrom2</b>: minimun value for speed chart
</li><li><b>chartTo2</b>: maxumin value for speed chart
</li><li><b>startIcon</b>: Start track icon
</li><li><b>endIcon</b>: End track icon
</li><li><b>currentIcon</b>: Current position icon (when mouse hover)
</li><li><b>waypointicon</b>: waypoint custom icon
</li><li><b>nggalleries</b>: NextGen Gallery id or a list of Galleries id separated by a comma
</li><li><b>ngimages</b>: NextGen Image id or a list of Images id separated by a comma
</li><li><b>dtoffset</b>: the difference (in seconds) between your gpx tool date and your camera date
</li><li><b>zoomonscrollwheel</b>: zoom on map when mouse scroll wheel
</li><li><b>download</b>: Allow users to download your GPX file
</li><li><b>skipcache</b>: Do not use cache. If TRUE might be very slow (default is FALSE)
</li><li><b>summary</b>: Print summary details of your GPX (default is FALSE)
</li><li><b>summarytotlen</b>: Print Total distance in summary table (default is FALSE)
</li><li><b>summarymaxele</b>: Print Max Elevation in summary table (default is FALSE)
</li><li><b>summaryminele</b>: Print Min Elevation in summary table (default is FALSE)
</li><li><b>summaryeleup</b>: Print Total climbing in summary table (default is FALSE)
</li><li><b>summaryeledown</b>: Print Total descent in summary table (default is FALSE)
</li><li><b>summaryavgspeed</b>: Print Average Speed in summary table (default is FALSE)
</li><li><b>summarytotaltime</b>: Print Total time in summary table (default is FALSE)  </li>
			</ul>
		
			<p>
				<a href="http://devfarm.it/forums/forum/wp-gpx-maps/">Bugs, problems, thanks and anything else here!</a>
			</p>
			
		</p>
	</div>

<?php 
            }
        }
    }
}