packages: nagios/nagios-googlemap.patch, nagios/nagios.spec, nagios/googlem...
glen
glen at pld-linux.org
Thu Oct 22 18:05:51 CEST 2009
Author: glen Date: Thu Oct 22 16:05:51 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- google map in statusmap support; rel 7
---- Files affected:
packages/nagios:
nagios-googlemap.patch (1.3 -> 1.4) , nagios.spec (1.147 -> 1.148) , googlemap.js (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/nagios/nagios-googlemap.patch
diff -u packages/nagios/nagios-googlemap.patch:1.3 packages/nagios/nagios-googlemap.patch:1.4
--- packages/nagios/nagios-googlemap.patch:1.3 Thu Oct 22 17:03:29 2009
+++ packages/nagios/nagios-googlemap.patch Thu Oct 22 18:05:45 2009
@@ -1,5 +1,5 @@
---- nagios-3.2.0.googlemap/cgi/statusmap.c 2009-10-22 17:05:32.644615709 +0300
-+++ nagios-3.2.0/cgi/statusmap.c 2009-10-22 18:02:00.526776437 +0300
+--- nagios-3.2.0/cgi/statusmap.c 2009-10-22 18:19:21.913340828 +0300
++++ nagios-3.2.0.googlemap/cgi/statusmap.c 2009-10-22 18:19:06.830007817 +0300
@@ -27,6 +27,10 @@
*
*****************************************************************************/
@@ -110,20 +110,6 @@
initialize_graphics();
draw_background_image();
draw_background_extras();
-@@ -876,6 +908,13 @@
-
-
- /******************************/
-+ /***** GOOGLEMAP LAYOUT MODE *****/
-+ /******************************/
-+ if(layout_method==LAYOUT_GOOGLEMAP){
-+
-+ }
-+
-+ /******************************/
- /***** MANUAL LAYOUT MODE *****/
- /******************************/
-
@@ -1563,10 +1602,19 @@
return;
}
@@ -148,12 +134,12 @@
int translated_x;
int translated_y;
-+ if (layout_method==LAYOUT_GOOGLEMAP)
++ if (layout_method == LAYOUT_GOOGLEMAP)
+ return;
/* user didn't supply any coordinates for hosts, so display a warning */
if(coordinates_were_specified==FALSE){
-@@ -2241,6 +2291,287 @@
+@@ -2241,6 +2291,197 @@
/************************* MISC FUNCTIONS *************************/
/******************************************************************/
@@ -294,112 +280,19 @@
+ }
+ fclose(fp);
+
-+ printf("<script src='http://maps.google.com/maps?file=api&v=2&key=%s&sensor=false' type='text/javascript'></script>\n",gen_loc.key);
-+
-+ printf("<script type='text/javascript'>\n"
-+ "//<![CDATA[ \n");
+
-+ // printf("<script type=javascript src="webbserverfil" />);
-+
-+ printf("function setMapCookie(map) {"
-+ "document.cookie = 'googlemaplng='+map.getCenter().lng();\n"
-+ "document.cookie = 'googlemaplat='+map.getCenter().lat();\n"
-+ "var zoom = map.getZoom();\n"
-+ "document.cookie = 'googlemapzoom='+zoom;\n"
-+ "document.layoutform.scaling_factor.value=+zoom;\n"
-+ "}\n"
-+
-+ "function readCookie(name) {\n"
-+ "var nameEQ = name + \"=\";\n"
-+ "var ca = document.cookie.split(';');\n"
-+ "for(var i=0;i < ca.length;i++)\n"
-+ "{\n"
-+ "var c = ca[i];\n"
-+ "while (c.charAt(0)==' ') c = c.substring(1,c.length);\n"
-+ "if (c.indexOf(nameEQ) == 0)\n"
-+ "{\n"
-+ "c=c.substring(nameEQ.length,c.length);\n"
-+ "while (c.substring(c.length-1, c.length) == ' ')\n"
-+ "c = c.substring(0,c.length-1);\n"
-+ "return c;\n"
-+ "}\n"
-+ "}\n"
-+ "return null;\n"
-+ "}\n"
-+
-+ "function createMarker(hostname, comment, lat, long, state) {\n"
-+ " var point = new GLatLng(lat,long);\n"
-+ "var marker;\n"
-+ "if ( state==\"Up\" ) {\n"
-+ "var baseIcon = new GIcon();\n"
-+ "baseIcon.shadow = \"../images/shadow.png\";\n"
-+ "baseIcon.iconSize = new GSize(20, 34);\n"
-+ "baseIcon.shadowSize = new GSize(37, 34);\n"
-+ "baseIcon.iconAnchor = new GPoint(9, 34);\n"
-+ "baseIcon.infoWindowAnchor = new GPoint(9, 2);\n"
-+ "baseIcon.infoShadowAnchor = new GPoint(18, 25);\n"
-+ "var okicon = new GIcon(baseIcon);\n"
-+ "okicon.image = \"../images/green.png\";\n"
-+ "marker = new GMarker(point,okicon);\n"
-+ "} else {\n"
-+ "marker = new GMarker(point);\n"
-+ "}\n"
-+
-+ "GEvent.addListener(marker, \"click\", function() { \n"
-+ "marker.openInfoWindowHtml(\"<b>\"+hostname+\"</b><br>\"+comment+\"<br>State: \"+state+\"\");\n"
-+ "});\n"
-+ "return marker;\n"
-+ "}\n"
-+
-+ "function load() {\n"
-+ "if (GBrowserIsCompatible()) {\n"
-+ "var map = new GMap2(document.getElementById(\"map\"));\n"
-+ "map.addControl(new GSmallMapControl());\n"
-+ "map.addControl(new GMapTypeControl());\n"
-+
-+ "GEvent.addListener(map, \"click\", function () {\n"
-+ "setMapCookie(map);\n"
-+ "});\n"
-+
-+ "GEvent.addListener(map, \"move\", function () {\n"
-+ "setMapCookie(map);\n"
-+ "});\n"
-+
-+ "GEvent.addListener(map, \"zoom\", function () {\n"
-+ "setMapCookie(map);\n"
-+ "});\n"
-+
-+ "var googlemaplat = readCookie('googlemaplat');\n"
-+ "var googlemaplng = readCookie('googlemaplng');\n"
-+
-+ "var centerPoint;\n"
-+ "if( googlemaplng!=null && googlemaplat!=null ) \n"
-+ "centerPoint = new GLatLng(googlemaplat,googlemaplng);\n"
-+ "else\n");
-+ printf("centerPoint = new GLatLng(%s,%s);\n",gen_loc.latitude,gen_loc.longitude);
-+
-+ printf("var zoom = map.getZoom();\n"
-+ "document.layoutform.scaling_factor.value=+zoom;\n");
-+
-+
-+ if (user_supplied_scaling==TRUE)
-+ {
-+ printf("map.setCenter(centerPoint, %2.1f);\n",user_scaling_factor);
-+ printf("document.layoutform.scaling_factor.value=%2.1f;\n",user_scaling_factor);
++ printf("<script type='text/javascript'>\n");
++ printf("gstatusmap = {\n");
++ printf("lat:%s,\n", gen_loc.latitude);
++ printf("lng:%s,\n", gen_loc.longitude);
++ if (user_supplied_scaling==TRUE) {
++ printf("scale: '%2.1f',\n", user_scaling_factor);
+ } else {
-+ printf("var googlemapzoom = readCookie('googlemapzoom');\n"
-+ "if ( googlemapzoom != null ) \n"
-+ "{\n"
-+ "map.setCenter(centerPoint,parseInt(googlemapzoom));\n"
-+ "document.layoutform.scaling_factor.value=googlemapzoom;\n"
-+ "} else\n"
-+ "{\n");
-+ printf("map.setCenter(centerPoint, %s);\n",gen_loc.zoom);
-+ printf("document.layoutform.scaling_factor.value=%s;\n",gen_loc.zoom);
-+ printf("}\n");
++ printf("scale: '%2.1f',\n", gen_loc.zoom);
+ user_scaling_factor = atof(gen_loc.zoom);
+ }
-+
++ printf("markers: [\n");
++
+ loc = loc_list;
+ while (loc) {
+ // check if allowed to show hostname first
@@ -421,22 +314,25 @@
+ free(ptr);
+
+
-+ printf("map.addOverlay(createMarker('%s','",loc->name);
++ printf("['%s','",loc->name);
+ ptr = loc->note;
+ while ((ch = *ptr++)) {
+ if (ch == '\'') printf("\\'");
+ else printf("%c", ch);
+ }
-+ printf("',%s,%s,'%s'))\n",loc->latitude,loc->longitude,stateinfo);
++ printf("',%s,%s,'%s'],\n",loc->latitude,loc->longitude,stateinfo);
+
+ loc = loc->next;
+ }
+ }
-+
-+ printf("}\n"
-+ "}\n"
-+ "//]]>\n"
-+ "</script>\n");
++
++ printf("0], \n");
++ printf("images_url: '%s'\n", url_images_path);
++ printf("};\n");
++ printf("</script>\n");
++
++ printf("<script src='http://maps.google.com/maps?file=api&v=2&key=%s&sensor=false' type='text/javascript'></script>\n",gen_loc.key);
++ printf("<script src='%sgooglemap.js' type='text/javascript'></script>\n", url_images_path);
+}
/* write JavaScript code an layer for popup window */
================================================================
Index: packages/nagios/nagios.spec
diff -u packages/nagios/nagios.spec:1.147 packages/nagios/nagios.spec:1.148
--- packages/nagios/nagios.spec:1.147 Thu Oct 22 16:24:56 2009
+++ packages/nagios/nagios.spec Thu Oct 22 18:05:45 2009
@@ -10,7 +10,7 @@
Summary(pt_BR.UTF-8): Programa para monitoração de máquinas e serviços
Name: nagios
Version: 3.2.0
-Release: 6
+Release: 7
License: GPL v2
Group: Networking
Source0: http://dl.sourceforge.net/nagios/%{name}-%{version}.tar.gz
@@ -21,12 +21,18 @@
Source4: %{name}-config-20090914.tar.bz2
# Source4-md5: 605f1cd28c00db961dad6f529d849f16
Source5: %{name}-lighttpd.conf
+Source6: http://www.google.com/mapfiles/shadow50.png
+# Source6-md5: eff99f302f21b95a900d321743fce72b
+Source7: http://www.google.com/mapfiles/marker.png
+# Source7-md5: edefef4bdfc29e1c953694651f05b466
+Source8: googlemap.js
Patch0: %{name}-resources.patch
Patch1: %{name}-iconv-in-libc.patch
Patch2: %{name}-webapps.patch
Patch3: %{name}-cgi-http_charset.patch
Patch4: %{name}-cmd-typo.patch
Patch5: config.patch
+Patch6: nagios-googlemap.patch
URL: http://www.nagios.org/
BuildRequires: autoconf
BuildRequires: automake
@@ -178,6 +184,7 @@
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
find -name .cvsignore -o -name .gitignore | xargs rm
@@ -258,6 +265,9 @@
cp -a apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
cp -a lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
cp -a sample-config/cgi.cfg $RPM_BUILD_ROOT%{_webapps}/%{_webapp}
+cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/images
+cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_datadir}/images
+cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/images
> $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/passwd
echo 'nagios:' > $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/group
@@ -423,6 +433,8 @@
%{_datadir}/media
%{_datadir}/ssi
%{_datadir}/images/favicon.ico
+%{_datadir}/images/marker.png
+%{_datadir}/images/shadow50.png
%files theme-default
%defattr(644,root,root,755)
@@ -430,6 +442,8 @@
%{_datadir}/includes/*
%{_datadir}/images/*
%exclude %{_datadir}/images/favicon.ico
+%exclude %{_datadir}/images/marker.png
+%exclude %{_datadir}/images/shadow50.png
%{_datadir}/stylesheets/*
%files devel
@@ -443,6 +457,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.148 2009/10/22 16:05:45 glen
+- google map in statusmap support; rel 7
+
Revision 1.147 2009/10/22 14:24:56 glen
- use favicon.ico from tarball
================================================================
Index: packages/nagios/googlemap.js
diff -u /dev/null packages/nagios/googlemap.js:1.1
--- /dev/null Thu Oct 22 18:05:51 2009
+++ packages/nagios/googlemap.js Thu Oct 22 18:05:45 2009
@@ -0,0 +1,87 @@
+function setMapCookie(map) {
+ document.cookie = 'googlemaplng=' + map.getCenter().lng();
+ document.cookie = 'googlemaplat=' + map.getCenter().lat();
+ var zoom = map.getZoom();
+ document.cookie = 'googlemapzoom=' + zoom;
+ document.layoutform.scaling_factor.value =+ zoom;
+}
+
+function readCookie(name) {
+ var nameEQ = name + "=";
+ var ca = document.cookie.split(';');
+ for(var i=0;i < ca.length;i++) {
+ var c = ca[i];
+ while (c.charAt(0)==' ') c = c.substring(1,c.length);
+ if (c.indexOf(nameEQ) == 0) {
+ c=c.substring(nameEQ.length,c.length);
+ while (c.substring(c.length-1, c.length) == ' ')
+ c = c.substring(0,c.length-1);
+ return c;
+ }
+ }
+ return null;
+}
+
+function createMarker(hostname, comment, lat, long, state) {
+ var point = new GLatLng(lat,long);
+ var marker;
+ if (state == "Up") {
+ var baseIcon = new GIcon();
+ baseIcon.shadow = gstatusmap.images_url + "shadow50.png";
+ baseIcon.iconSize = new GSize(20, 34);
+ baseIcon.shadowSize = new GSize(37, 34);
+ baseIcon.iconAnchor = new GPoint(9, 34);
+ baseIcon.infoWindowAnchor = new GPoint(9, 2);
+ baseIcon.infoShadowAnchor = new GPoint(18, 25);
+ var okicon = new GIcon(baseIcon);
+ okicon.image = gstatusmap.images_url + "marker.png";
+ marker = new GMarker(point, okicon);
+ } else {
+ marker = new GMarker(point);
+ }
+ GEvent.addListener(marker, "click", function() {
+ marker.openInfoWindowHtml("<b>" + hostname + "</b><br/>" + comment + "<br/>State: " + state + "");
+ });
+ return marker;
+}
+
+function load() {
+ if (!GBrowserIsCompatible()) {
+ return
+ }
+
+ var map = new GMap2(document.getElementById("map"));
+ map.addControl(new GLargeMapControl3D());
+ map.addControl(new GOverviewMapControl());
+ map.addControl(new GMenuMapTypeControl());
+
+ GEvent.addListener(map, "click", function () {
+ setMapCookie(map);
+ });
+ GEvent.addListener(map, "move", function () {
+ setMapCookie(map);
+ });
+ GEvent.addListener(map, "zoom", function () {
+ setMapCookie(map);
+ });
+ var googlemaplat = readCookie('googlemaplat');
+ var googlemaplng = readCookie('googlemaplng');
+ var centerPoint;
+ if (googlemaplng != null && googlemaplat != null) {
+ centerPoint = new GLatLng(googlemaplat, googlemaplng);
+ } else {
+ centerPoint = new GLatLng(gstatusmap.lat, gstatusmap.lng);
+ }
+
+ var scale = readCookie('googlemapzoom') || gstatusmap.scale || 100;
+ map.setCenter(centerPoint, parseInt(scale));
+ document.layoutform.scaling_factor.value = scale;
+
+ // insert markers
+ for (var i in gstatusmap.markers) {
+ var marker = gstatusmap.markers[i];
+ if (marker) {
+ map.addOverlay(createMarker(marker[0], marker[1], marker[2], marker[3], marker[4]));
+ }
+ }
+}
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios/nagios-googlemap.patch?r1=1.3&r2=1.4&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/nagios/nagios.spec?r1=1.147&r2=1.148&f=u
More information about the pld-cvs-commit
mailing list