示例#1
0
 /**
  * function_description
  *
  * @param   unknown_type  $track_array  param_description
  * @param   unknown_type  $visibility   param_description
  *
  * @return string
  */
 private function parseOLMarker_old($track_array, $visibility = true)
 {
     $cfg = HTraininglogsHelper::getConfig();
     if (!$track_array) {
         return false;
     }
     $marker = "// <!-- parseOLMarker BEGIN -->\n";
     if ($visibility != true) {
         $marker .= "\tmarkers = new OpenLayers.Layer.Markers(\"" . JText::_('COM_HTRAININGLOGS_OTHER_STARTPOINTS') . "\");\n";
     } else {
         $marker .= "\tmarkers = new OpenLayers.Layer.Markers(\"" . JText::_('COM_HTRAININGLOGS_STARTPOINTS') . "\");\n";
     }
     $marker .= "\tolmap.addLayer(markers);\n";
     $marker .= "\taddMarkers();\n";
     if ($visibility != true) {
         $marker .= "\tmarkers.setVisibility(false);\n";
     }
     $marker .= "\tfunction addMarkers() {\n";
     $i = 0;
     foreach ($track_array as $row) {
         $link = JROUTE::_("index.php?option=com_htraininglogs&view=files&layout=file&id=" . $row->id);
         $lon = $row->start_e;
         $lat = $row->start_n;
         if ($row->published == 1 and ($lon or $lon)) {
             $marker .= "ll = new OpenLayers.LonLat(" . $lon . "," . $lat . ") . ";
             $marker .= "transform(new OpenLayers.Projection(\"EPSG:4326\"), olmap.getProjectionObject()); ";
             $marker .= "popupClass = AutoSizeFramedCloud; ";
             $marker .= "popupContentHTML = '<b>" . JText::_('COM_HTRAININGLOGS_TITLE') . ": <a href=\"" . $link . "\"";
             switch ($row->access) {
                 case 0:
                     // Public
                     $marker .= ">";
                     break;
                 case 9:
                     // Private
                     $marker .= " title=\\\"" . JText::_('COM_HTRAININGLOGS_PRIVATE') . "\">";
                     break;
                 case 1:
                     // Registered
                     $marker .= " title=\\\"" . JText::_('COM_HTRAININGLOGS_REGISTERED') . "\">";
                     break;
                 case 2:
                     // Admin
                     $marker .= " title=\\\"" . JText::_('COM_HTRAININGLOGS_ADMINISTRATORS') . "\">";
                     break;
             }
             if ($row->title) {
                 $marker .= str_replace(array("'"), array("\\'"), $row->title);
             } else {
                 $marker .= "<i>" . str_replace(array("'"), array("\\'"), JText::_('COM_HTRAININGLOGS_NO_TITLE')) . "</i>";
             }
             if ($row->access != 0) {
                 $iconpath = JUri::base() . "/media/com_htraininglogs/assets/template/" . $cfg->template . "/images/";
             }
             switch ($row->access) {
                 case 1:
                     $marker .= "&nbsp;<img alt=\\\"" . JText::_('COM_HTRAININGLOGS_REGISTERED') . "\" src=\\\"" . $iconpath . "registered_only.png\\\" />";
                     break;
                 case 2:
                     $marker .= "&nbsp;<img alt=\\\"" . JText::_('COM_HTRAININGLOGS_ADMINISTRATORS') . "\" src=\\\"" . $iconpath . "special_only.png\\\" />";
                     break;
                 case 9:
                     $marker .= "&nbsp;<img alt=\\\"" . JText::_('COM_HTRAININGLOGS_PRIVATE') . "\" src=\\\"" . $iconpath . "private_only.png\\\" />";
                     break;
             }
             $marker .= "</a></b>";
             if ($row->cat != "") {
                 $marker .= "<br />" . str_replace(array("'"), array("\\'"), JText::_('COM_HTRAININGLOGS_CAT')) . ": ";
                 $marker .= HTraininglogsHelper::parseMoreCats($this->sortedcats, $row->catid, "box", true);
             } else {
                 $marker .= "<br /><i>" . str_replace(array("'"), array("\\'"), JText::_('COM_HTRAININGLOGS_CAT_NONE')) . "</i>";
             }
             // Add track description, after striping HTML tags
             $marker .= $this->showDesc($row->description);
             $marker .= "'; ";
             // Start icon
             $marker .= $this->parseCatIcon($row->catid, $row->istrack, $row->iswp, $row->isroute);
             // End icon
         } else {
             // Dummy line for Coding standard
         }
     }
     $marker .= "\t}\n";
     $marker .= "function addMarker(ll, popupClass, popupContentHTML, closeBox, overflow, icon) {\n\t\tvar feature = new OpenLayers.Feature(markers, ll);\n\t\tfeature.closeBox = closeBox;\n\t\tfeature.popupClass = popupClass;\n\t\tfeature.data.popupContentHTML = popupContentHTML;\n\t\tfeature.data.overflow = (overflow) ? \"auto\" : \"hidden\";\n\t\tvar marker = new OpenLayers.Marker(ll,icon);\n\t\tmarker.feature = feature;\n\t\t";
     $marker .= "\n\t\tvar markerClick = function (evt) {\n\t\tif (this.popup == null) {\n\t\tthis.popup = this.createPopup(this.closeBox);\n\t\tolmap.addPopup(this.popup);\n\t\tthis.popup.show();\n\t}\n\telse\n\t{\n\tthis.popup.toggle();\n\t}\n\tcurrentPopup = this.popup;\n\tOpenLayers.Event.stop(evt);\n\t};\n\t";
     // MouseDown
     $marker .= "\t\tmarker.events.register(\"mousedown\", feature, markerClick);\n";
     $marker .= "\t\tmarkers.addMarker(marker);}\n";
     $marker .= "// <!-- parseOLMarker END -->\n";
     return $marker;
 }