[Mapbender-commits] r3130 - in branches/print_dev: . tools
tools/wms_extent
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Mon Oct 6 07:40:58 EDT 2008
Author: verenadiewald
Date: 2008-10-06 07:40:58 -0400 (Mon, 06 Oct 2008)
New Revision: 3130
Added:
branches/print_dev/tools/
branches/print_dev/tools/char_code.php
branches/print_dev/tools/checksum.json
branches/print_dev/tools/mapbender_setup.php
branches/print_dev/tools/mod_monitorCapabilities_main.php
branches/print_dev/tools/mod_monitorCapabilities_read.php
branches/print_dev/tools/mod_monitorCapabilities_read_single.php
branches/print_dev/tools/mod_monitorCapabilities_write.php
branches/print_dev/tools/send_post.php
branches/print_dev/tools/url_code.php
branches/print_dev/tools/wms_extent/
branches/print_dev/tools/wms_extent/checksum.json
branches/print_dev/tools/wms_extent/info.html
branches/print_dev/tools/wms_extent/mapbender_wms.map
branches/print_dev/tools/wms_extent/wms_geometry.sql
Log:
Added: branches/print_dev/tools/char_code.php
===================================================================
--- branches/print_dev/tools/char_code.php (rev 0)
+++ branches/print_dev/tools/char_code.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,26 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Url-Encode and -Decode</title>
+</head>
+<body>
+<form method='POST'>
+ <textarea name="c" rows="10" cols="100"><?php if($_REQUEST["c"]){echo $_REQUEST["c"];}?></textarea>
+ <br>
+ <input type='submit' name='encode' value='encode'>
+ <br>
+ <input type='submit' name='decode' value='decode'>
+</form>
+<hr>
+<textarea rows="10" cols="100">
+<?php
+if($_REQUEST["encode"]){
+echo utf8_encode($_REQUEST["c"]);
+}
+if($_REQUEST["decode"]){
+echo utf8_decode($_REQUEST["c"]);
+}
+?>
+</textarea>
+</body>
+</html>
\ No newline at end of file
Added: branches/print_dev/tools/checksum.json
===================================================================
--- branches/print_dev/tools/checksum.json (rev 0)
+++ branches/print_dev/tools/checksum.json 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1 @@
+{"mod_monitorCapabilities_write.php":"7f8041ccc1ecdc7e3d9be0f3e2fba511f03fda0d","mod_monitorCapabilities_main.php":"67875475f4ee436171519809e5b94444fc98ecb8","char_code.php":"66ee6b32dfb8c88e69e6803a9b7f0cac204434fa","send_post.php":"df1f6b3859c358a909062ae52d02e8d36de82826","mod_monitorCapabilities_read.php":"f59ebbc5b852ab9b5ed05654147ded2997325b0e","mapbender_setup.php":"31468fa370372388f12af19a63e874d095aee2d6","url_code.php":"620c0a2d12fe6216b38726c523afe3951c1f13ff","mod_monitorCapabilities_read_single.php":"bdfe7388de236ce9a06035332ba2e120189e43d2"}
\ No newline at end of file
Added: branches/print_dev/tools/mapbender_setup.php
===================================================================
--- branches/print_dev/tools/mapbender_setup.php (rev 0)
+++ branches/print_dev/tools/mapbender_setup.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,291 @@
+<?php
+ # $Id: mapbender_setup.php 2655 2008-07-11 15:16:21Z christoph $
+ # Copyright (C) 2002 CCGIS
+ # Created on 18.05.2006/10:03:40
+ #
+ # http://www.mapbender.org/index.php/Installation_en
+ # Projekt: mapbender
+ # File: mapbender_setup.php
+ #
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+require_once(dirname(__FILE__)."/../../core/globalSettings.php");
+
+?>
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+ <head><meta http-equiv="cache-control" content="no-cache">
+ <meta http-equiv="pragma" content="no-cache">
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8">
+ <meta name="robots" content="noindex,nofollow">
+ <title>Mapbender Setup-Checker</title>
+</head>
+<link rel="stylesheet" type="text/css" href="../css/mapbender.css">
+<body>
+<table BGCOLOR="#ffffff" width="95%" height="95%" ALIGN="center" CELLSPACING="0" CELLPADDING="10" STYLE="-moz-border-radius:8px; border:2px #000000 solid;">
+<tr><td VALIGN="center" STYLE="margin-bottom:0px; padding-bottom:0px;">
+<H1 style="padding:0px; margin:0px; font:32px/32px bold Arial,Helvetica,sans-serif; font-stretch:extra-expanded;font-weight:bold">
+<font align="left"" style="font-weight:bold" color="#000000"> Ma</font><font color="#0000CE" style="font-weight:bold">p</font><font color="#C00000">b</font><font color="#000000" style="font-weight:bold">ender</font>
+</H1>
+<font color="#000000" style="font-weight:bold">Setup-Checker</font>
+<br>
+<HR STYLE="color:#629093; height:2px; margin:0px; padding:0px;" WIDTH="100%" NOSHADE COLOR="#808080">
+</tr></tr>
+<tr><td VALIGN="TOP">
+ <table style="border: 2px solid rgb(128, 128, 128); -moz-border-radius-topleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px;" bgcolor=#dddddd cellspacing=0 cellpadding=0 width="95%">
+ <th colspan="3" bgcolor=#F0F0F0>PHP Configurationcheck</th>
+ <?php
+###########################################
+#PHP Configurationcheck
+###########################################
+#phpversion
+ $check ="<tr ><td width=\"25%\">php Version</td>";
+ if (phpversion()>='5.1.0'){
+ if (phpversion()<'5.2.0') $check .="<td width=\"10\"></td><td><font color=#0000FF>Version: " . phpversion() . "! You should think about upgrade to the current php version (get it <a href='http://www.php.net/downloads.php' target='_blank'>here</a>)</td></tr>";
+ else $check .="<td width=\"10\">X</td><td><font color=#00D000>Version: " . phpversion() . "</td></tr>";
+ }
+ else $check .="<td width=\"10\"></td><td><font color=#FF0000>Version: " . phpversion() . "! Your PHP Version is very old, please upgrade to version >=5.1.0 to use full mapbender functionality and reduce problems!</td></tr>";
+#php-schnittstelle
+ if(php_sapi_name() == 'cgi') $check.="<tr><td >interface</td><td>X</td><td><font color=#00D000>CGI-PHP</td></tr>";
+ else $check.="<tr><td >interface</td><td>X</td><td><font color=#00D000>Modul-PHP</td></tr>";
+# path to php.ini
+ if (!get_cfg_var('cfg_file_path')) $check .="<tr ><td>path to php.ini</td><td></td><td><font color=#FF0000>No Path to php.ini found</font></td></tr>";
+ else $check .="<tr ><td>path to php.ini</td><td>X</td><td><font color=#00D000>" . get_cfg_var('cfg_file_path') . "</font></td></tr>";
+# extension dir
+ if (!get_cfg_var('extension_dir')||get_cfg_var('extension_dir')=='') $check .="<tr ><td>extension_dir</td><td></td><td><font color=#FF0000>no extension_dir set!</font></td></tr>";
+ else $check .="<tr ><td>extension_dir</td><td>X</td><td><font color=#00D000>" . get_cfg_var('extension_dir') . "</font><font color='#0000FF'>(check the path, is it correct?)</font></td></tr>";
+# session.save_path
+ if (!get_cfg_var('session.save_path')) $check .="<tr ><td>session.save_path</td><td></td><td><font color=#FF0000>please configure a session.save_path!</font></td></tr>";
+ else $check .="<tr ><td>session.save_path</td><td>X</td><td><font color=#00D000>" . get_cfg_var('session.save_path') . " </font><font color='#0000FF'>(check out the authorisation of the dir)</font></td></tr>";
+# memory_limit
+ if (get_cfg_var('memory_limit')) $check .="<tr ><td>memory Limit</td><td>X</td><td><font color=#00D000>" . get_cfg_var('memory_limit') . "</font><font color='#0000FF'> (running in memory-trouble with printing? Perhaps raise your memory limit)</font></td></tr>";
+ else $check .="<tr ><td>memory Limit</td><td></td><td><font color=#FF0000>memory_limit must be set (30M will be enough for the moment)</font></td></tr>";
+# error_reporting
+#Error Reporting: 6135 =>error_reporting = E_ALL & ~E_NOTICE (6135-8(E_NOTICE))
+#Error Reporting: 1 => error_reporting = E_ERROR
+#Error Reporting: 6143 => error_reporting = E_ALL
+ $check .="<tr ><td>error-reporting</td>";
+ if (get_cfg_var('error_reporting')==6143||get_cfg_var('error_reporting')==8) $check .="<td></td><td><font color=#FF0000>please set error_reporting to 'E_ALL & ~E_NOTICE' or 'E_ERROR' except for debugging</td></tr>";
+ elseif (get_cfg_var('error_reporting')==6135)$check .="<td>X</td><td><font color=#00D000>ok, error_reporting = E_ALL & ~E_NOTICE</td></tr>";
+ elseif (get_cfg_var('error_reporting')==1)$check .="<td>X</td><td><font color=#00D000>ok, error_reporting = E_ERROR</td></tr>";
+ else $check .="<td></td><td><font color=#0000FF>(Your error_reporting configuration is not implementet into this test yet. You shoul know what you are doing or set it to E_ALL & ~E_NOTICE)</td></tr>";
+# session.save_handler
+ if (!get_cfg_var('session.save_handler')||get_cfg_var('session.save_handler')!='files') $check .="<tr ><td>session.save_handler</td><td></td><td><font color=#FF0000>session.save_handler must be set to 'session.save_handler = files'!</font></td></tr>";
+ else $check .="<tr ><td>session.save_handler</td><td>X</td><td><font color=#00D000>session.save_handler = " . get_cfg_var('session.save_handler') . "</font></td></tr>";
+# file_uploads
+ $check .="<tr><td>file_Uploads</td>";
+ if (get_cfg_var('file_uploads')=='1') $check .= "<td>X</td><td><font color=#00D000>On</font></td></tr>";
+ else $check .= "<td></td><td><font color=#FF0000>Off</font></td></tr>";
+# allow_url_fopen
+ $check .="<tr ><td>allow_url_fopen</td>";
+ if (get_cfg_var('allow_url_fopen')=='1') $check .= "<td>X</td><td><font color=#00D000>On</font></td></tr>";
+ else $check .= "<td></td><td><font color=#FF0000>Off =>allow_url_fopen must be on read <a href='http://www.mapbender.org/index.php/Allow_url_fopen' target=_blank>this</a></font></td></tr>";
+# short_open_tag
+ $check .="<tr ><td>short_open_tag</td>";
+ if (get_cfg_var('short_open_tag')!='1') $check .= "<td>X</td><td><font color=#00D000>Off</font></td></tr>";
+ else $check .= "<td></td><td><font color=#FF0000>On => Displaying XML files will not work properly</font></td></tr>";
+ echo $check;
+#################################################
+#PHP Extensioncheck
+#################################################
+ ?>
+ <th colspan="3" bgcolor=#F0F0F0>PHP Extensioncheck</th>
+ <?php
+#MYSQL
+ if(!extension_loaded('mysql')) $check="<tr ><td width=\"25%\">MySQL check</td><td width=\"10\"></td><td><font color=#FF0000 >MySQL not installed! (You have to include mysql-extension if you want to use MySQL as MB-Database!)</font></td></tr>";
+ else $check="<tr ><td width=\"25%\">MySQL check</td><td width=\"10\">X</td><td><font color=#00D000 >MySQL installed</font></td></tr>";
+#PGSQL
+ if(!extension_loaded('pgsql')) $check.="<tr><td>PostgreSQL check</td><td></td><td><font color=#FF0000>PostgreSQL not installed (You have to include pgsql-extension if you want to use Postgres as MB-Database!)</font></td></tr>";
+ else $check.="<tr><td>PostgreSQL check</td><td>X</td><td><font color=#00D000>PostgreSQL installed</font></td></tr>";
+#GD
+ if(extension_loaded('gd')) $check.="<tr ><td>GD2 check</td><td>X</td><td><font color=#00D000>GD installed</font></td></tr>";
+ else $check.="<tr ><td>GD2 check</td><td></td><td><font color=#FF0000>GD not installed (no printing possible)</font></td></tr>";
+
+#mbstring
+ if(extension_loaded('mbstring')) $check.="<tr ><td>mbstring check</td><td>X</td><td><font color=#00D000>mbstring installed</font></td></tr>";
+ else $check.="<tr ><td>mbstring check</td><td></td><td><font color=#FF0000>PHP extension mbstring is not installed</font></td></tr>";
+
+#gettext
+ if(extension_loaded('gettext')) $check.="<tr ><td>gettext check</td><td>X</td><td><font color=#00D000>gettext installed</font></td></tr>";
+ else $check.="<tr ><td>gettext check</td><td></td><td><font color=#FF0000>PHP extension gettext is not installed</font></td></tr>";
+
+echo $check;
+####################################
+# Database check
+####################################
+ ?>
+ </table>
+ <br><br>
+ <table style="border: 2px solid rgb(128, 128, 128); -moz-border-radius-topleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px;" bgcolor=#dddddd cellspacing=0 cellpadding=0 width="95%">
+ <th colspan="3" bgcolor=#F0F0F0>Database check</th>
+ <?php
+ $con = @db_connect(DBSERVER,OWNER,PW);
+ if (SYS_DBTYPE=="mysql"){
+ $check = "<tr ><td width=\"25%\">Administration Database</td><td>X</td><td><font color=#00D000>MySQL</td><tr>";
+ $check .= "<tr ><td>Connect to Database</td>";
+ if($con) $check .="<td width=\"10\">X</td><td><font color=#00D000>connected</font></td></tr>";
+ else $check .="<td width=\"10\"></td><td><font color=#FF0000>not connected</font></td></tr>";
+ $check .="<tr><td colspan=3><b>PostGIS function check</b></td></tr>";
+ $con_string = "host= " . GEOS_DBSERVER . " port=" . GEOS_PORT . " dbname=" . GEOS_DB . " user=" . GEOS_OWNER . " password=" .GEOS_PW;
+ if (pg_connect($con_string)){
+ pg_connect($con_string);
+ $con_postgis = pg_connect($con_string);
+ $sql = "Select postgis_full_version();";
+ $res = pg_query($con_postgis,$sql);
+ if(!$res) $check .="<tr width=\"20%\><td>PostGIS support</td><td></td><td><font color=#FF0000>no PostGIS function available</td></tr>";
+ else{
+ $cnt=0;
+ while(pg_fetch_row($res)){
+ $check .="<tr><td>PostGIS support</td><td>X</td><td><font color=#00D000>PostGIS function available</td></tr>";
+ $check .="<tr><td>Version</td><td>X</td><td><font color=#00D000>" . pg_fetch_result($res,$cnt,0). "</td></tr>";
+ $cnt++;
+ }
+ if ($cnt==0) $check .="<tr><td>PostGIS support</td><td></td><td><font color=#FF0000>no PostGIS function available</td></tr>";
+ }
+ }
+ else $check .="<tr><td>Postgis support</td><td></td><td><font color=#FF0000>no PostGIS function available</font></td></tr>";
+ echo $check;
+ }
+ else{
+ $check = "<tr><td width=\"25%\">Administration Database</td><td>X</td><td><font color=#00D000>PostgreSQL</td></tr>";
+ $check .= "<tr><td>Connect to Database</td>";
+ if($con) $check .="<td width=\"10\">X</td><td><font color=#00D000>connected</font></td></tr>";
+ else $check .="<td width=\"10\"></td><td><font color=#FF0000>not connected</font></td></tr>";
+# md5 support
+ $sql = "Select md5('root');";
+ $res = pg_query($sql);
+ if(!$res) $check .="<tr><td>MD5 support</td><td></td><td><font color=#FF0000>no md5 support</td></tr>";
+ else{
+ $row = db_fetch_array($res);
+ if ($row) $check .="<tr><td>MD5 support</td><td>X</td><td><font color=#00D000>md5 supported</td></tr>";
+ else $check .="<tr><td>MD5 support</td><td></td><td><font color=#FF0000>no md5 support</td></tr>";
+ }
+ echo $check;
+######################################
+# PostGIS check
+######################################
+ ?>
+ <th colspan="3" bgcolor=#F0F0F0>PostGIS check</th>
+ <?php
+ $check ="";
+ if ($con){
+ $sql = "select postgis_full_version();";
+ if (pg_query($con,$sql))$res = pg_query($con,$sql);
+ else echo "<tr><td><font>pg_query($con,$sql)";
+ if(!$res) $check .="<tr><td width=\"25%\">PostGIS support</td><td width=\"10\"></td><td><font color=#FF0000>no PostGIS function available</td></tr>";
+ else{
+ $cnt=0;
+ while(pg_fetch_row($res)){
+ $check .="<tr><td width=\"25%\">PostGIS support</td><td width=\"10\">X</td><td><font color=#00D000>PostGIS function available</td></tr>";
+ $check .="<tr><td>Version</td><td width=\"10\">X</td><td><font color=#00D000>" . pg_fetch_result($res,$cnt,0). "</td></tr>";
+ $cnt++;
+ }
+ if ($cnt==0) $check .="<tr><td width=\"25%\">PostGIS support</td><td width=\"10\"></td><td><font color=#FF0000>no PostGIS function available</td></tr>";
+ }
+ }
+ else $check .="<tr><td width=\"25%\">Postgis support</td><td width=\"10\"></td><td><font color=#FF0000>no PostGIS function available</font></td></tr>";
+ echo $check;
+ }
+#################################
+# Mapbender configuration check
+#################################
+ ?>
+ </table>
+ <br><br>
+ <table style="border: 2px solid rgb(128, 128, 128); -moz-border-radius-topleft: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px; -moz-border-radius-bottomleft: 8px;" bgcolor=#dddddd cellspacing=0 cellpadding=0 width="95%">
+ <th colspan="4" bgcolor=#F0F0F0>Mapbender Configuration Check</th>
+ <?php
+# SYS_DBTYPE
+ if ((SYS_DBTYPE == 'mysql' || SYS_DBTYPE == 'pgsql') && defined('SYS_DBTYPE')) $check ="<tr><td>Administration Database</td><td >X</td><td><font color=#00D000>" . SYS_DBTYPE . "</font></td></tr>";
+ else $check ="<tr><td width=\"25%\">Administration Database</td><td width=\"10\"></td><td><font color=#FF0000>SYS_DBTYPE is not defined for mysql or pgsql</font></td></tr>";
+# DBSERVER
+ if (DBSERVER !="<HOST>" && DBSERVER != "" && defined('DBSERVER')) $check .="<tr><td>DB-Server</td><td>X</td><td><font color=#00D000>" . DBSERVER . "</font><font color='#0000FF'> (is this your DB-Server)</font></td></tr>";
+ else $check .="<tr><td>DB-Server</td><td></td><td><font color=#FF0000>DBSERVER is not defined</font></td></tr>";
+# Mapbender-DB
+ if (DB !="<database>" && DB != "" && defined('DB')) $check .="<tr><td>Mapbender-DB</td><td>X</td><td><font color=#00D000>" . DB . "</font><font color='#0000FF'> (is this your Mapbender-DB)</font></td></tr>";
+ else $check .="<tr><td>Mapbender-DB</td><td></td><td><font color=#FF0000>DB is not defined</font></td></tr>";
+# DB Owner
+ if (OWNER !="<owner>" && OWNER != "" && defined('OWNER')) $check .="<tr><td>DB-Owner</td><td>X</td><td><font color=#00D000>" . OWNER . "</font><font color='#0000FF'> (is this your DB-Owner)</font></td></tr>";
+ else $check .="<tr><td>DB-Owner</td><td></td><td><font color=#FF0000>OWNER is not defined</font></td></tr>";
+# PREPAREDSTATEMENTS
+ if (defined('PREPAREDSTATEMENTS')){
+ if (PREPAREDSTATEMENTS == true){
+ if (phpversion()<'5.1.0') $check.="<tr><td width=\"25%\">PREPAREDSTATEMENTS</td><td width=\"10\"></td><td><font color=\"#ff0000\">PREPAREDSTATEMENTS =set to 'true' and php version " . phpversion() . " is incompatible<br>set PREPAREDSTATEMENTS to false or update php to >=5.1</td></tr>";
+ else $check .="<tr><td width=\"25%\">PREPAREDSTATEMENTS</td><td width=\"10\">X</td><td><font color=#00D000>set to 'true' and php " . phpversion() . " should work</td></tr>";
+ }
+ else{
+ if (phpversion()<'5.1.0') $check .="<tr><td width=\"25%\">PREPAREDSTATEMENTS-<br>compatibility</td><td width=\"10\">X</td><td><font color=#00D000>set to 'false' and php " . phpversion() . " should work </font><font color='#0000FF'> (but think about upgrading to php 5.1)</td></tr>";
+ else $check .="<tr><td width=\"25%\">PREPAREDSTATEMENTS-<br>compatibility</td><td width=\"10\">X</td><td><font color=#00D000>set to 'false' and php " . phpversion() . " should work <font color=#0000FF>(but you can set PREPAREDSTATEMENTS to 'true')</font></td></tr>";
+ }
+ }
+ else $check .="<tr><td width=\"25%\">PREPAREDSTATEMENTS-<br>compatibility</td><td width=\"10\"></td><td><font color=#FF0000>PREPAREDSTATEMENTS is not defined</td></tr>";
+# CHARSET
+ if (CHARSET != "" && defined('CHARSET')) $check .="<tr><td>CHARSET</td><td>X</td><td><font color=#00D000>" . CHARSET . "</font><font color='#0000FF'></font></td></tr>";
+ else $check .="<tr><td>CHARSET</td><td></td><td><font color=#FF0000>CHARSET is not defined</font></td></tr>";
+# TMPDIR
+ if (TMPDIR != "" && defined('TMPDIR')) $check .="<tr><td>TMPDIR</td><td>X</td><td><font color=#00D000>" . TMPDIR . "</font><font color='#0000FF'></font></td></tr>";
+ else $check .="<tr><td>TMPDIR</td><td></td><td><font color=#FF0000>TMPDIR is not defined</font></td></tr>";
+# OWSPROXY
+ if (OWSPROXY != "" && defined('OWSPROXY')) $check .="<tr><td>OWSPROXY</td><td>X</td><td><font color=#00D000>" . OWSPROXY . "</font><font color=#0000FF> (Is this the right URL to your OWSPROXY?)</font></td></tr>";
+ else $check .="<tr><td>OWSPROXY</td><td></td><td><font color=#FF0000>OWSPROXY not defined</font><font color=#0000FF>(if you want to camouflage your WMS, you should think about OWSPROXY!)</font></td></tr>";
+#AUTO_UPDATE
+ if (AUTO_UPDATE != "" && defined('AUTO_UPDATE')){
+ if (AUTO_UPDATE == '1'){
+ $check .="<tr><td>AUTO_UPDATE</td><td>X</td><td>set to 1: will update all out-of-date WMS automatically<td></tr>";
+ if (!TIME_LIMIT || TIME_LIMIT == "")$check .="<tr><td>TIME_LIMIT</td><td></td><td><font color=#FF0000>you should define a TIME_LIMIT for the AUTO_UPDATE funtionallity</font><td></tr>";
+ }
+ elseif (AUTO_UPDATE == '0') $check .="<tr><td>AUTO_UPDATE</td><td>X</td><td><font color=#00D000>set to 0:</font> <font color=#0000FF>(see the result of the test and update WMS manually)</font></td></tr>";
+ else $check .="<tr><td>AUTO_UPDATE</td><td></td><td><font color=#FF0000>set to " . AUTO_UPDATE . ": this configuration value is not supported(as yet!)</td></tr>";
+ }
+ else $check .="<tr><td>AUTO_UPDATE</td><td></td><td><font color=#FF0000>AUTO_UPDATE not defined </font><font color=#0000FF>(for the wms monitoring functionality you have to define this constant)</font></td></tr>";
+# ERROR LOGGING
+ $testLog = new mb_notice("This is a test run by the Mapbender setup script.");
+ if ($testLog->result) {
+ $check .="<tr><td>ERROR LOGGING</td><td>X</td><td><font color=#00D000>" . $testLog->message . "</font></td></tr>";
+ }
+ else {
+ $check .="<tr><td>ERROR LOGGING</td><td></td><td><font color=#FF0000>" . $testLog->message . "</font></td></tr>";
+ }
+#LOG_LEVEL (off,error,warning,all)
+ if (LOG_LEVEL !="" && defined('LOG_LEVEL')){
+ if (LOG_LEVEL =='off') $check .="<tr><td>LOG_LEVEL</td><td>X</td><td>switched off: <font color=#FF0000>-no Mapbender-errors logging</font><td></tr>";
+ elseif (LOG_LEVEL =='error') $check .="<tr><td>LOG_LEVEL</td><td>X</td><td><font color=#00D000>set to 'error': </font><font color=#0000FF>-Mapbender-errors will be logged</font><td></tr>";
+ elseif (LOG_LEVEL =='warning') $check .="<tr><td>LOG_LEVEL</td><td>X</td><td><font color=#00D000>set to 'warning: </font><font color=#0000FF>- Mapbender-errors and -warnings will be logged</font><td></tr>";
+ elseif (LOG_LEVEL =='notice') $check .="<tr><td>LOG_LEVEL</td><td>X</td><td><font color=#00D000>set to 'notice': </font><font color=#0000FF>-really every little notice will be logged!!</font><td></tr>";
+ elseif (LOG_LEVEL =='all') $check .="<tr><td>LOG_LEVEL</td><td>X</td><td><font color=#00D000>set to 'all': </font><font color=#0000FF>-really every little notice will be logged!!</font><td></tr>";
+ else $check .="<tr><td>LOG_LEVEL</td><td></td><td><font color=#FF0000>set to " . LOG_LEVEL . ": this configuration value is not supported (as yet!)</font></td></tr>";
+ }
+# PORTAL
+ if (defined('PORTAL')){
+ if (PORTAL == true) $check .="<tr><td width=\"25%\">PORTAL</td><td width=\"10\">X</td><td><font color=#00D000>true</font><font color='#0000FF'> (Users can create theirs own accounts)</font></td></tr>";
+ else $check .="<tr><td width=\"25%\">PORTAL</td><td width=\"10\">X</td><td><font color=#00D000>false<font color=#0000FF> (Users can't create their own accounts at the moment)</font></td></tr>";
+ }
+ else $check .="<tr><td width=\"25%\">PORTAL</td><td width=\"10\"></td><td><font color=#FF0000>PORTAL is not defined<font color=#0000FF>(Maybe an old configuration file?)</font></td></tr>";
+# MAXLOGIN
+ if (MAXLOGIN != "" && defined('MAXLOGIN')) $check .="<tr><td>MAXLOGIN</td><td>X</td><td><font color=#00D000>" . MAXLOGIN . "</font><font color='#0000FF'></font></td></tr>";
+ else $check .="<tr><td>MAXLOGIN</td><td></td><td><font color=#0000FF>MAXLOGIN is not defined</font></td></tr>";
+# LOGIN
+ if (defined('LOGIN')) $check .= "<tr height=10/><tr><td>Login-Path</td><td colspan=2><a href='" . LOGIN . "' target='_blank'>" . LOGIN . "</a><br><font color=#0000FF> (If this link doesn't work, check your url to 'Login' in your mapbender.conf<br>Perhaps an alias in your httpd.conf will solve the problem, too)</td>";
+ else $check .= "<tr height=10/><tr><td>Login-Path</td><td colspan=2><font color=#FF0000>LOGIN is not defined</font></td>";
+ echo $check;
+ echo "<tr height=10/><tr bgcolor=#F0F0F0><td colspan=4>Legend:<br><font color=#FF0000>red = maybe your Mapbender will run into trouble</font><br><font color=#0000FF>blue = just a tip</font><br><font color=#00D000>green = seems to be alright</font></td></tr>";
+ echo "</table>";
+ echo "<tr><td colspan=3 align=right>for further informations visit <a href=\"http://www.mapbender.org/index.php/Installation_en\" target=\"_blank\"><font align=\"left\" style=\"font-weight:bold\" color=\"#000000\"> Ma</font><font color=\"#0000CE\" style=\"font-weight:bold\">p</font><font color=\"#C00000\" style=\"font-weight:bold\">b</font><font color=\"#000000\" style=\"font-weight:bold\">ender</font> installation instructions</a></td></tr>";
+ ?>
+ </td></tr>
+</table>
+</body>
+</html>
\ No newline at end of file
Added: branches/print_dev/tools/mod_monitorCapabilities_main.php
===================================================================
--- branches/print_dev/tools/mod_monitorCapabilities_main.php (rev 0)
+++ branches/print_dev/tools/mod_monitorCapabilities_main.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,213 @@
+<?php
+# $Id: mod_monitorCapabilities_main.php 1240 2007-10-24 09:27:00Z baudson $
+# http://www.mapbender.org/index.php/Monitor_Capabilities
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+//require_once(dirname(__FILE__) . "/../php/mb_validateSession.php");
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+//session_start();
+//import_request_variables("PG");
+require_once(dirname(__FILE__)."/../classes/class_administration.php");
+$con = db_connect($DBSERVER,$OWNER,$PW);
+db_select_db(DB,$con);
+$admin = new administration();
+
+//$user = "root";
+$user = "";
+$gui = "";
+$cl = 0;
+
+
+function getConjunctionCharacter($onlineresource){
+ if(strstr($onlineresource, "?")) {
+ $lastChar = substr($onlineresource,strlen($onlineresource)-1, 1);
+ if ($lastChar == "?" || $lastChar == "&") {return "";}
+ else{return "&";}
+ }
+ else {return "?";}
+}
+
+// retrieve username and gui_id
+if ($_REQUEST['user']) {
+ $cl = 0;
+ //browser
+ echo "browser";
+ $user = $_REQUEST['user'];
+ $gui = $_REQUEST['gui'];
+}
+elseif ($_SERVER["argv"][1]) {
+ $cl = 1;
+ //command line
+ $p1 = $_SERVER["argv"][1];
+ $p2 = $_SERVER["argv"][2];
+ if (substr($p1, 0,5) == "user:") {
+ $user = substr($p1, 5);
+ if (substr($p2, 0,4) == "gui:") {
+ $gui = substr($p2, 4);
+ }
+ }
+}
+else {
+ echo "Please specify a username!\n";die();
+}
+
+$userid = $admin->getUserIdByUserName($user);
+
+/*
+ * if the current user is a valid user...
+ */
+if ($userid) {
+ $ownguis = $admin->getGuisByOwner($userid,true);
+ /*
+ * if monitoring is restricted to a single GUI...
+ */
+ if ($gui) {
+ // ... abort if the GUI doesn't exist
+ if (!$admin->guiExists($gui)) {
+ echo "GUI " . $gui . " doesn't exist.\n"; die();
+ }
+ // ... add the GUI to the array of GUIs that will be monitored
+ elseif (in_array($gui, $ownguis)) {
+ $ownguis = array($gui);
+ }
+ // ... abort if the GUI is not owned by the current user
+ else {
+ echo "User " . $user . " is not owner of GUI " . $gui . ".\n"; die();
+ }
+ }
+}
+/*
+ * if current user is not a valid user, abort
+ */
+else {
+ echo $user . " is not a valid username.\n"; die();
+}
+
+/**
+ * Array of WMS IDs. These are the WMS that the user owns.
+ */
+$wms_id_own = $admin->getWmsByOwnGuis($ownguis);
+
+// initialise monitoring processes
+echo "Starting monitoring cycle...\n\n";
+if ($cl == 0) echo "<br/><br/>";
+echo "WMS services are requested for availability.\n";
+if ($cl == 0) echo "<br/>";
+echo "Capabilities documents are requested and all changes synchronized with the database cache.\n\n";
+if ($cl == 0) echo "<br/><br/>";
+
+$time = strval(time()-2);
+
+for ($k=0; $k<count($wms_id_own); $k++) {
+ $sql = "SELECT wms_upload_url FROM wms WHERE wms_id = $1";
+ $v = array($wms_id_own[$k]);
+ $t = array('i');
+ $res = db_prep_query($sql,$v,$t);
+ $someArray = db_fetch_row($res);
+ $url = $someArray[0];
+
+ if (!$upload_url || $upload_url == "") {
+ $sql = "SELECT wms_version, wms_getcapabilities FROM wms WHERE wms_id = $1";
+ $v = array($wms_id_own[$k]);
+ $t = array('i');
+ $res = db_prep_query($sql,$v,$t);
+ $someArray = db_fetch_row($res);
+
+ $version = $someArray[0];
+ $capabilities = $someArray[1];
+ if ($version == "1.0.0" ) {
+ $url = $capabilities . getConjunctionCharacter($capabilities) . "REQUEST=capabilities&WMTVER=1.0.0";
+ }
+ else {
+ $url = $capabilities . getConjunctionCharacter($capabilities) . "REQUEST=GetCapabilities&SERVICE=WMS&VERSION=" . $version;
+ }
+ }
+
+ $sql = "INSERT INTO mb_monitor (upload_id, fkey_wms_id, status, status_comment, timestamp_begin, timestamp_end, upload_url, updated) ";
+ $sql .= "VALUES ($1, $2, $3, $4, $5, $6, $7, $8)";
+ $v = array($time,$wms_id_own[$k],"-2","Monitoring is still in progress...", time(),time(),$url,"0");
+ $t = array('s', 'i', 's', 's', 's', 's', 's', 's');
+ $res = db_prep_query($sql,$v,$t);
+}
+
+for ($k=0; $k<count($wms_id_own); $k++) {
+
+ if (intval(AUTO_UPDATE)) {
+ $exec = PHP_PATH . "php5 mod_monitorCapabilities_write.php ".$wms_id_own[$k]." ".$time." 1 > ../tmp/output_".$time."_".$wms_id_own[$k].".txt &";
+ }
+ else {
+ $exec = PHP_PATH . "php5 mod_monitorCapabilities_write.php ".$wms_id_own[$k]." ".$time." 0 > ../tmp/output_".$time."_".$wms_id_own[$k].".txt &";
+ }
+ exec($exec);
+}
+echo "Monitoring Cycle completed (total: " . count($wms_id_own) . " wms).\n\n";
+if ($cl == 0) echo "<br/><br/>";
+set_time_limit(2*TIME_LIMIT);
+
+// wait until all monitoring processes are finished
+echo "please wait " . TIME_LIMIT . " seconds for the monitoring to finish...\n\n";
+if ($cl == 0) echo "<br/><br/>";
+sleep(TIME_LIMIT);
+
+$sql = "SELECT fkey_wms_id, status, status_comment, timestamp_begin, timestamp_end, upload_url FROM mb_monitor WHERE upload_id = $1";
+$v = array($time);
+$t = array('i');
+$res = db_prep_query($sql,$v,$t);
+
+$cnt=0;
+while ($row = db_fetch_array($res)) {
+ $status[$cnt] = intval(db_result($res,$cnt,"status"));
+ $wms_id[$cnt] = db_result($res,$cnt,"fkey_wms_id");
+ $comment[$cnt] = db_result($res,$cnt,"status_comment");
+ $upload_url[$cnt] = db_result($res,$cnt,"upload_url");
+ $timestamp_begin[$cnt] = db_result($res,0,"timestamp_begin");
+ $timestamp_end[$cnt] = db_result($res,0,"timestamp_end");
+ $cnt++;
+}
+
+$body = "";
+for ($i=0; $i<$cnt; $i++) {
+ // if monitoring is still in progress and time limit has expired, update database
+ if ($status[$i] == -2 && intval(time())-intval($timestamp_begin[$i]) > intval(TIME_LIMIT)) {
+ $comment[$i] = "Monitoring process timed out.";
+ $status[$i] = -1;
+ $new_sql = "UPDATE mb_monitor SET status = '-1', image = '-1', status_comment = 'Monitoring process timed out.', timestamp_end = $1 WHERE fkey_wms_id = $2 AND upload_id = $3";
+ $new_v = array((intval($upload_id[$i])+intval(TIME_LIMIT)), $wms_id[$i], $time);
+ $new_t = array('s', 'i', 's');
+ $new_res = db_prep_query($new_sql,$new_v,$new_t);
+ }
+ // compose mail message
+ echo $wms_id[$i] . ": status " . $status[$i] . "\n";
+ if ($cl == 0) echo "<br/><br/>";
+ if ($status[$i] == -1) {
+ $body .= $admin->getWmsTitleByWmsId($wms_id[$i]) . " (" . $wms_id[$i] . "): " . $comment[$i] . "\n\n";
+ }
+}
+
+// Send an email to the user
+if ($body) {
+ $error_msg = "";
+ if ($admin->getEmailByUserId($userid)) {
+// $admin->sendEmail(MAILADMIN, MAILADMINNAME, $admin->getEmailByUserId($userid), $user, "WMS monitor report " . date("F j, Y, G:i:s", $time), utf8_decode($body), &$error_msg);
+ }
+ else {
+ $error_msg = "Email address of user '" . $admin->getUserNameByUserId($userid) . "' unknown!\n";
+ }
+ if ($error_msg) {
+ echo "\n ERROR: " . $error_msg;
+ }
+}
+?>
Added: branches/print_dev/tools/mod_monitorCapabilities_read.php
===================================================================
--- branches/print_dev/tools/mod_monitorCapabilities_read.php (rev 0)
+++ branches/print_dev/tools/mod_monitorCapabilities_read.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,246 @@
+<?php
+# $Id: mod_monitorCapabilities_read.php 1283 2007-10-25 15:20:25Z baudson $
+# http://www.mapbender.org/index.php/Monitor_Capabilities
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+require_once(dirname(__FILE__)."/../classes/class_administration.php");
+session_start();
+import_request_variables("PG");
+$con = db_connect($DBSERVER,$OWNER,$PW);
+db_select_db(DB,$con);
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="cache-control" content="no-cache">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="expires" content="0">
+<?php
+echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';
+?>
+</head>
+<body>
+<?php
+$admin = new administration();
+
+// update selected wms
+for ($i=0; $i < $_POST['cbs']; $i++) {
+ $upd_wmsid = intval($_POST['cb'.$i]);
+ if ($upd_wmsid) {
+
+ $now = time();
+ $sql = "UPDATE mb_monitor SET status = '-2', status_comment = 'Monitoring is still in progress...', timestamp_begin = $1, timestamp_end = $2 WHERE upload_id = $3 AND fkey_wms_id = $4";
+ $v = array($now, $now, $_POST['upl_id'.$i], $upd_wmsid);
+ $t = array('s', 's', 's', 'i');
+ $res = db_prep_query($sql,$v,$t);
+
+ $exec = PHP_PATH . "php mod_monitorCapabilities_write.php ".$upd_wmsid." ".$_POST['upl_id'.$i]." 1 > output.txt &";
+ exec($exec);
+ }
+}
+
+$sql = "SELECT DISTINCT fkey_wms_id FROM mb_monitor";
+$res = db_prep_query($sql, array(), array());
+$cnt = 0;
+$wms = array();
+while(db_fetch_row($res)){
+ $wms[$cnt] = db_result($res,$cnt,"fkey_wms_id");
+ $cnt++;
+}
+
+$status = array();
+$upload_id = array();
+for ($i=0; $i<count($wms); $i++) {
+ $wms_id[$wms[$i]] = $wms[$i];
+ // get upload id
+ $sql = "SELECT MAX(upload_id) FROM mb_monitor WHERE fkey_wms_id = $1";
+ $v = array($wms[$i]);
+ $t = array('i');
+ $res = db_prep_query($sql,$v,$t);
+ $upload_id[$wms[$i]] = db_result($res,0,0);
+
+ $sql = "SELECT AVG(timestamp_begin), AVG(timestamp_end) FROM mb_monitor WHERE fkey_wms_id = $1 AND NOT status = '-1' AND NOT status = '-2'";
+ $v = array($wms[$i]);
+ $t = array('i');
+ $res = db_prep_query($sql,$v,$t);
+ if (db_result($res,0,1) == 0 && db_result($res,0,0) == 0) {
+ $avg_response_time[$wms[$i]] = NULL;
+ }
+ else {
+ $avg_response_time[$wms[$i]] = round(db_result($res,0,1)-db_result($res,0,0), 1);
+ }
+
+ $sql = "SELECT status, status_comment, timestamp_begin, timestamp_end, upload_url, updated, image, map_url FROM mb_monitor ";
+ $sql .= "WHERE upload_id = $1 AND fkey_wms_id = $2 ORDER BY status, status_comment, timestamp_end, fkey_wms_id";
+ $v = array($upload_id[$wms[$i]], $wms_id[$wms[$i]]);
+ $t = array('s', 'i');
+ $res = db_prep_query($sql,$v,$t);
+
+ $status[$wms[$i]] = intval(db_result($res,0,"status"));
+ $comment[$wms[$i]] = db_result($res,0,"status_comment");
+ $timestamp_begin[$wms[$i]] = db_result($res,0,"timestamp_begin");
+ $timestamp_end[$wms[$i]] = db_result($res,0,"timestamp_end");
+ $upload_url[$wms[$i]] = db_result($res,0,"upload_url");
+ $updated[$wms[$i]] = db_result($res,0,"updated");
+ $mapurl[$wms[$i]] = db_result($res,0,"map_url");
+ $image[$wms[$i]] = db_result($res,0,"image");
+
+ if ($status[$wms[$i]] == -2 && intval(time())-intval($timestamp_begin[$wms[$i]]) > intval(TIME_LIMIT)) {
+ $comment[$wms[$i]] = "Monitoring process timed out.";
+
+ $new_sql = "UPDATE mb_monitor SET status = '-1', status_comment = 'Monitoring process timed out.', timestamp_end = $1 WHERE fkey_wms_id = $2 AND upload_id = $3";
+ $new_v = array((intval($upload_id[$wms[$i]])+intval(TIME_LIMIT)), $wms_id[$wms[$i]], $upload_id[$wms[$i]]);
+ $new_t = array('s', 'i', 's');
+ $new_res = db_prep_query($new_sql,$new_v,$new_t);
+ }
+
+ $sql = "SELECT COUNT(upload_id) FROM mb_monitor WHERE fkey_wms_id = $1 AND NOT status = '-2'";
+ $v = array($wms[$i]);
+ $t = array('i');
+ $res = db_prep_query($sql, $v, $t);
+ $total[$wms[$i]] = db_result($res, 0, 0);
+
+ $sql = "SELECT COUNT(upload_id) FROM mb_monitor WHERE fkey_wms_id = $1 AND status = '-1'";
+ $v = array($wms[$i]);
+ $t = array('i');
+ $res = db_prep_query($sql, $v, $t);
+ $fail = db_result($res, 0, 0);
+
+ $percentage[$wms[$i]] = 100 - round(100*floatval($fail)/floatval($total[$wms[$i]]), 1);
+}
+
+
+$newArray = $status;
+if ($_GET['sortby']) {
+ if ($_GET['sortby'] == "wms") {
+ $newArray = $wms_id;
+ asort($newArray);
+ }
+ elseif ($_GET['sortby'] == "status") {
+ $newArray = $status;
+ asort($newArray);
+ }
+ elseif ($_GET['sortby'] == "avgresp") {
+ $newArray = $avg_response_time;
+ asort($newArray);
+ }
+ elseif ($_GET['sortby'] == "avail") {
+ $newArray = $percentage;
+ arsort($newArray);
+ }
+ elseif ($_GET['sortby'] == "last") {
+ $newArray = $upload_id;
+ arsort($newArray);
+ }
+ elseif ($_GET['image'] == "last") {
+ $newArray = $image;
+ arsort($newArray);
+ }
+}
+
+
+
+$str = "<span style='font-size:30'>monitoring results</span><hr><br>\n";
+$str .= "<form name = 'form1' method='post' action='".$PHP_SELF."?sortby=".$_GET['sortby']."'>\n\t";
+$str .= "\n\t<input type=submit value='update selected WMS'>\n";
+$str .= "\n\t<input type=button onclick=\"self.location.href='".$PHP_SELF."?sortby=".$_GET['sortby']."'\" value='refresh'>\n<br/><br/>\n ";
+$str .= "<table cellpadding=10 cellspacing=0 border=0>";
+$str .= "<tr bgcolor='#dddddd'><th></th><th align='left'><a href='".$PHP_SELF."?sortby=wms'>wms</a></th>";
+$str .= "<th align='left' colspan = 2><a href='".$PHP_SELF."?sortby=status'>current status</a></th>";
+$str .= "<th align='left'><a href='".$PHP_SELF."?sortby=image'>image</a></th>";
+$str .= "<th align='left'><a href='".$PHP_SELF."?sortby=avgresp'>avg. response time</a></th>";
+$str .= "<th align='left'><a href='".$PHP_SELF."?sortby=avail'>overall availability</a></th><th></th></tr>";
+
+$cnt = 0;
+foreach ($newArray as $k => $value) {
+ $img = "stop.bmp";
+ if ($status[$k]==0) $img = "wait.bmp";
+ elseif ($status[$k]==1) $img = "go.bmp";
+
+ if ($updated[$k] == "0" && $status[$k] == 0) $fill = "checked"; else $fill = "disabled";
+
+ if (fmod($cnt, 2) == 1) {
+ $str .= "\n\t\t<tr bgcolor='#e6e6e6'>";
+ }
+ else {
+ $str .= "\n\t\t<tr bgcolor='#f0f0f0'>";
+ }
+ $str .= "\n\t\t\t<td><input name='cb".$cnt."' value='" . $wms_id[$k] . "' type=checkbox ".$fill." /><input type=hidden name='upl_id".$cnt."' value='".$upload_id[$k]."'></td>";
+ $str .= "\n\t\t\t<td valign='top'><b>" . $wms_id[$k] . "</b><br>" . $admin->getWmsTitleByWmsId($wms_id[$k]) . "</td>";
+ $str .= "\n\t\t\t<td valign='top'><a href='".$upload_url[$k]."' target=_blank><img title='Connect to service' border=0 src = '../img/trafficlights/". $img. "'></a></td>";
+ $str .= "\n\t\t\t<td valign='top'>" . $comment[$k] . "<br><div style='font-size:12'>".date("F j, Y, G:i:s", $upload_id[$k])."</div></td>";
+ $str .= "\n\t\t\t<td valign='top'>";
+
+ $str .= "<table bgcolor='black' border=1 cellspacing=1 cellpadding=0><tr><td height=20 width=20 align=center valign=middle bgcolor='";
+
+ if ($image[$k] == -1) {
+ $str .= "red";
+ }
+ elseif ($image[$k] == 0) {
+ $str .= "yellow";
+ }
+ elseif ($image[$k] == 1) {
+ $str .= "green";
+ }
+
+ if ($image[$k] != -1) {
+ $str .= "'><a href='".$mapurl[$k]."'>o</a></td></tr></table></td>";
+ }
+ else {
+ $str .= "'><a href='".$mapurl[$k]."'>x</a></td></tr></table></td>";
+ }
+
+ $str .= "\n\t\t\t<td valign='top' align = 'left'>";
+ if ($avg_response_time[$k] == NULL) {
+ $str .= "n/a";
+ }
+ else {
+ $str .= $avg_response_time[$k] . " s";
+ }
+ $str .= "</td>";
+ $str .= "\n\t\t\t<td valign='top'><b>" . $percentage[$k] . " %</b> <span style='font-size:12'>(" . $total[$k] . " cycles)</span><br>";
+ $str .= "<table bgcolor='black' border=1 cellspacing=1 cellpadding=0><tr>";
+ $val = $percentage[$k];
+ for ($i=0; $i<10; $i++) {
+ if ($val>=10) {
+ $str .= "<td height=10 width='10' bgcolor='red'></td>";
+ $val-=10;
+ }
+ elseif($val>0){
+ $str .= "<td height=10 width='" . round($val) . "' bgcolor='red'></td>";
+ if (round($val) < 10) {
+ $str .= "<td height=10 width='" . (9-round($val)) . "' bgcolor='white'></td>";
+ }
+ $val=-1;
+ }
+ else {
+ $str .= "<td height=10 width='10' bgcolor='white'></td>";
+ }
+ }
+ $str .= "</tr></table></td>";
+
+# $str .= "\n\t\t\t<td><a href='output_".$wms_id[$k]."_".$max.".txt' target=_blank>log</a></td>";
+ $str .= "\n\t\t<td><input type=button value='details' onclick=\"var newWindow = window.open('../tools/mod_monitorCapabilities_read_single.php?wmsid=".$wms_id[$k]."','wms','width=500,height=700,scrollbars');newWindow.href.location='test.php'\"></td></tr>";
+ $cnt++;
+}
+$str .= "\n\t</table>\n\t<br/><input type=hidden name=cbs value='".$cnt."'>\n</form>";
+echo $str;
+
+?>
+</body></html>
Added: branches/print_dev/tools/mod_monitorCapabilities_read_single.php
===================================================================
--- branches/print_dev/tools/mod_monitorCapabilities_read_single.php (rev 0)
+++ branches/print_dev/tools/mod_monitorCapabilities_read_single.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,102 @@
+
+<?php
+# $Id: mod_monitorCapabilities_read_single.php 76 2006-08-15 12:25:34Z heuser $
+# http://www.mapbender.org/index.php/Monitor_Capabilities
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#require_once(dirname(__FILE__)."/../php/mb_validateSession.php");
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+require_once(dirname(__FILE__)."/../classes/class_administration.php");
+session_start();
+import_request_variables("PG");
+$con = db_connect($DBSERVER,$OWNER,$PW);
+db_select_db(DB,$con);
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="cache-control" content="no-cache">
+<meta http-equiv="pragma" content="no-cache">
+<meta http-equiv="expires" content="0">
+<?php
+echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';
+?>
+</head>
+<body>
+<?php
+$admin = new administration();
+
+if ($_GET['wmsid']) {
+ $wms_id = intval($_GET['wmsid']);
+}
+else {
+ echo "Invalid WMS ID.";
+ die;
+}
+
+$sql = "SELECT upload_id, status, status_comment, timestamp_begin, timestamp_end, upload_url, updated FROM mb_monitor ";
+$sql .= "WHERE fkey_wms_id = $1 AND NOT status = '-2' ORDER BY upload_id DESC";
+$v = array($wms_id);
+$t = array('i');
+$res = db_prep_query($sql,$v,$t);
+
+$cnt=0;
+while ($row = db_fetch_array($res)) {
+ $upload_id[$cnt] = db_result($res,$cnt,"upload_id");
+ $status[$cnt] = intval(db_result($res,$cnt,"status"));
+ $comment[$cnt] = db_result($res,$cnt,"status_comment");
+ $timestamp_begin = db_result($res,$cnt,"timestamp_begin");
+ $timestamp_end = db_result($res,$cnt,"timestamp_end");
+ $upload_url[$cnt] = db_result($res,$cnt,"upload_url");
+ if ($status[$cnt] == '0' || $status[$cnt] == '1') {
+ $response_time[$cnt] = strval($timestamp_end-$timestamp_begin) . " s";
+ }
+ else {
+ $response_time[$cnt] = "n/a";
+ }
+ $cnt++;
+}
+
+
+$str = "<span style='font-size:30'>monitoring results</span><hr><br>\n";
+$str .= "<b>" . $wms_id . "</b><br>" . $admin->getWmsTitleByWmsId($wms_id) . "<br><br><br>\n";
+$str .= "<table cellpadding=10 cellspacing=0 border=0>";
+$str .= "<tr bgcolor='#dddddd'><th align='left'>date</th><th align='left' colspan = 2>status</th><th align='center'>response time</th></tr>";
+
+for ($k=0; $k<count($upload_id); $k++) {
+ $img = "stop.bmp";
+ if ($status[$k]==0) $img = "wait.bmp";
+ elseif ($status[$k]==1) $img = "go.bmp";
+
+ if (fmod($k, 2) == 1) {
+ $str .= "\n\t\t<tr bgcolor='#e6e6e6'>";
+ }
+ else {
+ $str .= "\n\t\t<tr bgcolor='#f0f0f0'>";
+ }
+ $str .= "\n\t\t\t<td>".date("F j, Y, G:i:s", $upload_id[$k])."</td>";
+ $str .= "\n\t\t\t<td><a href='".$upload_url[$k]."' target=_blank><img title='Connect to service' border=0 src = '../img/trafficlights/". $img. "'></a></td>";
+ $str .= "\n\t\t\t<td>" . $comment[$k] . "</td>";
+ $str .= "\n\t\t\t<td align='center'>" . $response_time[$k] . "</td>";
+
+# $str .= "\n\t\t\t<td><a href='output_".$wms_id[$k]."_".$max.".txt' target=_blank>log</a></td>";
+}
+$str .= "\n\t</table>\n\t";
+echo $str;
+
+?>
+</body></html>
\ No newline at end of file
Added: branches/print_dev/tools/mod_monitorCapabilities_write.php
===================================================================
--- branches/print_dev/tools/mod_monitorCapabilities_write.php (rev 0)
+++ branches/print_dev/tools/mod_monitorCapabilities_write.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,41 @@
+<?php
+# $Id: mod_monitorCapabilities_write.php 1235 2007-10-23 15:42:55Z baudson $
+# http://www.mapbender.org/index.php/Monitor_Capabilities
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+session_start();
+
+require_once(dirname(__FILE__)."/../classes/class_monitor.php");
+
+/*
+ * incoming parameters from command line
+ */
+if ($_SERVER["argc"] != 4) {
+ echo "Insufficient arguments! Monitoring aborted.";
+ die();
+}
+
+$wmsId = $_SERVER["argv"][1];
+$uploadId = $_SERVER["argv"][2];
+$autoUpdate = intval($_SERVER["argv"][3]);
+
+$monitor = new Monitor($wmsId, $uploadId, $autoUpdate);
+
+echo $monitor;
+
+$monitor->updateInDB();
+?>
\ No newline at end of file
Added: branches/print_dev/tools/send_post.php
===================================================================
--- branches/print_dev/tools/send_post.php (rev 0)
+++ branches/print_dev/tools/send_post.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,79 @@
+<html>
+<head>
+<?php
+# $Id: send_post.php 1601 2007-08-06 08:30:31Z christoph $
+# http://www.mapbender.org/index.php/send_post.php
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';
+?>
+<title>Test WFS-T operated by CCGIS</title>
+</head>
+<?php
+if(isset($_REQUEST["filter"]) && $_REQUEST["filter"] != "" && $_REQUEST["onlineresource"] != ''){
+ $arURL = parse_url($_REQUEST["onlineresource"]);
+ $host = $arURL["host"];
+ $port = $arURL["port"];
+ if($port == ''){
+ $port = 80;
+ }
+ $path = $arURL["path"];
+ $method = "POST";
+
+ $data = stripslashes($_REQUEST["filter"]);
+
+ $out = sendToHost($host,$port,$method,html_entity_decode($path),$data);
+ echo "-------------------get-------------<br>";
+ echo htmlentities($out);
+ echo "-------------------end of get-------------<br>";
+}
+function sendToHost($host,$port,$method,$path,$data)
+{
+ echo "-------------------send-------------<br>";
+ echo $host."<br>".$method."<br>".$path."<br>".htmlspecialchars($data)."<br>";
+ echo "-------------------end of send-------------<br>";
+ $buf = '';
+ if (empty($method)) {
+ $method = 'POST';
+ }
+ $method = mb_strtoupper($method);
+ $fp = fsockopen($host, $port);
+ fputs($fp, "$method $path HTTP/1.1\r\n");
+ fputs($fp, "Host: $host\r\n");
+ fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n");
+ fputs($fp, "Content-length: " . strlen($data) . "\r\n");
+ fputs($fp, "Connection: close\r\n\r\n");
+ fputs($fp, $data);
+ while (!feof($fp)) {
+ $buf .= fgets($fp,4096);
+ }
+ fclose($fp);
+ return $buf;
+}
+?>
+<body>
+<form action='wfs_post.php' method='post'>
+OnlineResource:
+<input name='onlineresource' type='text' size='100' value='<?php echo $_REQUEST["onlineresource"]; ?>'>
+<br>
+Filter:
+<textarea name='filter' cols='100' rows='10'><?php echo stripslashes($_REQUEST["filter"]); ?></textarea>
+<input type='submit' value='ok'>
+</form>
+</body>
+</html>
\ No newline at end of file
Added: branches/print_dev/tools/url_code.php
===================================================================
--- branches/print_dev/tools/url_code.php (rev 0)
+++ branches/print_dev/tools/url_code.php 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,47 @@
+<html>
+<head>
+<?php
+# $Id: url_code.php 916 2006-11-21 10:54:10Z christoph $
+# http://www.mapbender.org/index.php/url_code.php
+# Copyright (C) 2002 CCGIS
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+require_once(dirname(__FILE__)."/../../conf/mapbender.conf");
+echo '<meta http-equiv="Content-Type" content="text/html; charset='.CHARSET.'">';
+?>
+<title>Url-Encode and -Decode</title>
+</head>
+<body>
+<form method='POST'>
+ <textarea name="c" rows="10" cols="100"><?php if($_REQUEST["c"]){echo $_REQUEST["c"];}?></textarea>
+ <br>
+ <input type='submit' name='encode' value='encode'>
+ <br>
+ <input type='submit' name='decode' value='decode'>
+</form>
+<hr>
+<textarea rows="10" cols="100">
+<?php
+if($_REQUEST["encode"]){
+echo urlencode($_REQUEST["c"]);
+}
+if($_REQUEST["decode"]){
+echo urldecode($_REQUEST["c"]);
+}
+?>
+</textarea>
+</body>
+</html>
\ No newline at end of file
Added: branches/print_dev/tools/wms_extent/checksum.json
===================================================================
--- branches/print_dev/tools/wms_extent/checksum.json (rev 0)
+++ branches/print_dev/tools/wms_extent/checksum.json 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1 @@
+{"info.html":"790a1e3c8b3095e632fb808ec00c9784c7f7b7b7","wms_geometry.sql":"948382657a0f8dbcfb1ca40471f4a0cea5fa3923","mapbender_wms.map":"0093497a61f6a07153b00aab1d5e4538d6f89aa8"}
\ No newline at end of file
Added: branches/print_dev/tools/wms_extent/info.html
===================================================================
--- branches/print_dev/tools/wms_extent/info.html (rev 0)
+++ branches/print_dev/tools/wms_extent/info.html 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html>
+<head>
+<title>WMS Extent</title>
+
+<style type="text/css">
+<!--
+.sbutton{
+ font-family : Verdana, Arial, Helvetica, sans-serif;
+ font-size : 10px;
+ font-weight: normal;
+ border : solid thin;
+ width: 300px;
+ height: 20px;
+ background: #F0F0F0;
+ border-color: #c0c0c0;
+}
+-->
+</style>
+
+</head>
+<body onload='window.resizeTo(800,800);'>
+<table border="1" width="98%" bgcolor="#ffffff" bordercolor ="#B8C1C7" cellspacing="1" cellpadding="2" style="font-family:Verdana, Geneva, Arial, Helvetica, sans-serif; font-size:10pt;background-color:#A6B1BB;color:#000000;" rules='rows'>
+ <tr align="left" style="background-color:#F0F0F0">
+ <th align="left" bgcolor='#F0F0F0'>title:</td>
+ <th bgcolor='#F0F0F0'>[wms_title]</td>
+ </tr>
+ <tr>
+ <td bgcolor='#F0F0F0'>epsg:</td>
+ <td bgcolor='#FFFFFF'>[epsg]</td>
+ </tr>
+ <tr>
+ <td bgcolor='#F0F0F0'>getCapabilities:</td>
+ <td bgcolor='#FFFFFF'><a href="[wms_getcapabilities]&REQUEST=getCapabilities&Version=[wms_version]&SERVICE=WMS" target="_blank">getCapabilities-Request</a></td>
+ </tr>
+ <tr>
+ <td bgcolor='#F0F0F0'>load WMS:</td>
+ <td bgcolor='#FFFFFF'>
+ <br>
+ <form name="Formular" action="">
+ <input class='sbutton' type="button" value="Load this WMS to the gui" onClick="window.opener.addWmsFromFeatureInfo('[wms_getcapabilities]','[wms_version]')">
+ </form></td>
+ </tr>
+ <tr>
+ <td bgcolor='#F0F0F0'>abstract:</td>
+ <td bgcolor='#FFFFFF'>[wms_abstract]</td>
+ </tr>
+</table>
+<br>
+</body>
+</html>
+
Added: branches/print_dev/tools/wms_extent/mapbender_wms.map
===================================================================
--- branches/print_dev/tools/wms_extent/mapbender_wms.map (rev 0)
+++ branches/print_dev/tools/wms_extent/mapbender_wms.map 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,111 @@
+MAP
+ NAME "mapbender_wms_extent"
+ STATUS ON
+ EXTENT -180 -90 180 90
+
+ PROJECTION
+ "init=epsg:4326"
+ END
+
+ SIZE 650 420
+
+ IMAGECOLOR 255 255 255
+
+ UNITS dd
+ RESOLUTION 72
+
+
+ WEB
+ METADATA
+ "WMS_SRS" "epsg:4326 epsg:31467 epsg:31466 epsg:31468 espg:31469"
+ "WMS_ONLINERESOURCE" "http://wms1.ccgis.de/cgi-bin/mapserv?map=/data/mapbender_dev/http/tools/wms_extent/mapbender_wms.map"
+ "WMS_TITLE" "WMS Extent"
+ "WMS_FEATURE_INFO_MIME_TYPE" "text/html"
+ "WMS_ABSTRACT" "Overview over the WMS loaded in Mapbender"
+
+ "ows_keywordlist" "Mapbender"
+ "ows_fees" "none"
+ "ows_accessconstraints" "none"
+
+ "ows_addresstype" "postal"
+ "ows_address" "Siemensstr. 8"
+ "ows_city" "Bonn"
+ "ows_stateorprovince" "NRW"
+ "ows_postcode" "53121"
+ "ows_country" "Germany"
+
+ "ows_contactperson" "A. Emde"
+ "ows_contactinformation" "Wheregroup"
+ "ows_contactorganization" "WhereGroup"
+ "ows_contactposition" "WhereGroup"
+ "ows_contactelectronicmailaddress" "astrid.emde at whergroup.com"
+ "wms_contactfacsimiletelephone" "0228 90903811"
+ "wms_contactvoicetelephone" "0228 9090380"
+ END
+ END
+
+ OUTPUTFORMAT
+ NAME 'png'
+ DRIVER 'GD/PNG'
+ MIMETYPE 'image/png'
+ EXTENSION PNG
+ IMAGEMODE PC256
+ TRANSPARENT ON
+ END
+
+ LEGEND
+ STATUS ON
+ KEYSIZE 20 10
+ KEYSPACING 5 5
+ LABEL
+ COLOR 0 0 0#120 120 120
+ TYPE TRUETYPE
+ FONT "arial"
+ SIZE 10
+ END
+ END
+
+#---------------------------------------------------------------
+LAYER
+ NAME "wms_extent"
+ STATUS ON
+ TYPE POLYGON
+ CONNECTIONTYPE postgis
+ CONNECTION "dbname=mapbender user=mypassword port=5432 host=myserver"
+ DATA "the_geom from (Select * from qry_wms_extent where NOT isempty(the_geom)) as foo using unique layer_id using SRID=4326"
+
+
+ PROJECTION
+ "init=epsg:4326"
+ END
+
+ METADATA
+ "WMS_SRS" "epsg:4326"
+ "WMS_TITLE" "WMS Extent"
+ "WMS_FEATURE_INFO_MIME_TYPE" "text/html"
+ "ows_keywordlist" "WMS Extent"
+ "ows_abstract" "Extent,WMS"
+ END
+
+ SYMBOLSCALE 100000
+
+ TEMPLATE "info.html"
+
+ #TRANSPARENCY 90
+ LABELITEM 'wms_title'
+
+ CLASS
+ NAME "WMS Extent"
+ STYLE
+ SYMBOL 0
+ COLOR -1 -1 -1#255 204 255
+ OUTLINECOLOR 60 60 60
+ END
+ LABEL
+ COLOR 60 60 60
+ END
+
+ END
+
+ END
+END
\ No newline at end of file
Added: branches/print_dev/tools/wms_extent/wms_geometry.sql
===================================================================
--- branches/print_dev/tools/wms_extent/wms_geometry.sql (rev 0)
+++ branches/print_dev/tools/wms_extent/wms_geometry.sql 2008-10-06 11:40:58 UTC (rev 3130)
@@ -0,0 +1,38 @@
+-- Add geometry column the_geom
+Select AddGeometryColumn('mapbender','layer_epsg','the_geom',4326,'POLYGON',2);
+
+-- update the column
+UPDATE layer_epsg set the_geom =
+transform(
+geometryfromText(
+'POLYGON(('||
+layer_epsg.minx || ' ' || layer_epsg.miny || ',' ||
+layer_epsg.minx || ' ' || layer_epsg.maxy || ',' ||
+layer_epsg.maxx || ' ' || layer_epsg.maxy || ',' ||
+layer_epsg.maxx || ' ' || layer_epsg.miny || ',' ||
+layer_epsg.minx || ' ' || layer_epsg.miny ||
+'))',ltrim(epsg,'EPSG:')::int4) ,4326
+)
+where epsg != 'EPSG:31492'
+AND epsg != 'EPSG:31493'
+AND epsg != 'EPSG:31494'
+AND epsg != 'EPSG:42304'
+AND epsg != 'EPSG:102257'
+AND epsg != 'NONE'
+;
+
+-- create a view which is used in the mapfile mapbender_wms.map
+Create view qry_wms_extent as
+Select DISTINCT layer.layer_id,layer.fkey_wms_id,
+layer_pos,
+wms.wms_id, wms.wms_title,wms.wms_version,wms.wms_abstract,wms.wms_getcapabilities,
+layer_epsg.epsg,
+layer_epsg.minx,
+layer_epsg.miny,
+layer_epsg.maxx,
+layer_epsg.maxy,
+layer_epsg.the_geom
+from layer
+LEFT JOIN wms ON wms.wms_id = layer.fkey_wms_id
+LEFT JOIN layer_epsg ON layer.layer_id = layer_epsg.fkey_layer_id
+where layer.layer_pos=0;
More information about the Mapbender_commits
mailing list