The snapshot contains the entire sources including the CVS subdirectories which you need to
From grass at intevation.de Tue Oct 3 11:09:23 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] scott: web mirrors.inc,1.29,1.30
Message-ID: <20061003150923.C5C7E1006AA@lists.intevation.de>
Author: scott
Update of /grassrepository/web
In directory doto:/tmp/cvs-serv6452
Modified Files:
mirrors.inc
Log Message:
more mirror detail for ZdG GmbH
Index: mirrors.inc
===================================================================
RCS file: /grassrepository/web/mirrors.inc,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- mirrors.inc 29 Sep 2006 22:19:45 -0000 1.29
+++ mirrors.inc 3 Oct 2006 15:09:21 -0000 1.30
@@ -107,7 +107,7 @@
Interpolation by
regularized splines with tension - I. Theory (s.surf.tps)
From heinz at olserv.de Fri Oct 6 08:59:05 2006
From: heinz at olserv.de (Heinz Weber)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] GRASS GIS Online Mirror
Message-ID: <45265319.8030403@olserv.de>
Hello,
I just want to inform you about setting up a mirror to support the GRASS
GIS projekt.
The Web Adress is http://grass.online-mirror.de
The Location auf the Mirror is Germany / Cologne
Best regards from Germany
Michael Weber
From grass at intevation.de Fri Oct 6 15:28:39 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/announces announce_grass620.html, 1.1,
1.2
Message-ID: <20061006192839.514681005C1@lists.intevation.de>
Author: markus
Update of /grassrepository/web/announces
In directory doto:/tmp/cvs-serv3755/announces
Modified Files:
announce_grass620.html
Log Message:
GRASS 6.2.0RC2 released
Index: announce_grass620.html
===================================================================
RCS file: /grassrepository/web/announces/announce_grass620.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- announce_grass620.html 31 Aug 2006 06:42:06 -0000 1.1
+++ announce_grass620.html 6 Oct 2006 19:28:37 -0000 1.2
@@ -330,8 +330,12 @@
Release history:
-
GRASS GIS 6.1.0 technology preview released 11 August 2006
-
GRASS GIS 6.2.0beta1 released 28 August 2006
+
GRASS GIS 6.1.0 technology preview released 11 August 2006
+
GRASS GIS 6.2.0beta1 released 28 August 2006
+
6.2.0beta2 released 30 August 2006
+
6.2.0beta3 released 18 September 2006
+
6.2.0RC1 released 26 September 2006
+
6.2.0RC2 released 6 October 2006
From grass at intevation.de Fri Oct 6 15:28:39 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/devel cvstags.inc, 1.17,
1.18 grasshist.html, 1.21, 1.22 grassreleases.html, 1.19, 1.20
Message-ID: <20061006192839.646F51006A8@lists.intevation.de>
Author: markus
Update of /grassrepository/web/devel
In directory doto:/tmp/cvs-serv3755/devel
Modified Files:
cvstags.inc grasshist.html grassreleases.html
Log Message:
GRASS 6.2.0RC2 released
Index: cvstags.inc
===================================================================
RCS file: /grassrepository/web/devel/cvstags.inc,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- cvstags.inc 26 Sep 2006 14:26:06 -0000 1.17
+++ cvstags.inc 6 Oct 2006 19:28:37 -0000 1.18
@@ -40,6 +40,7 @@
Release branch: "releasebranch_6_2"
+
GRASS 6.2.0RC2: has been tagged as "grass_6_2_0RC2"
GRASS 6.2.0RC1: has been tagged as "grass_6_2_0RC1"
GRASS 6.2.0beta3: has been tagged as "grass_6_2_0beta3"
GRASS 6.2.0beta2: has been tagged as "grass_6_2_0beta2"
ArcheOS: The first GNU/Linux distribution for archaeology
FOSS4G Toolkit CD - includes FOSS4G tools such as GRASS-GIS, MapServer, GDAL, OSSIM, QGIS, PostGIS, Mapbuilder, Mapbender, Cartoweb, Appformap, kaMap, Worldkit, Plone, PrimaGIS, and many other FOSS4G tools.
-
Italian GRASS DVD: Italian
Kubuntu/The Open CD derivate with GRASS 6 and QGIS + data + tutorials (the DVD also contains
GFOSS software for MS-Windows)
From grass at intevation.de Wed Oct 25 09:36:05 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/download software.inc,1.73,1.74
Message-ID: <20061025133605.CE5C01006A7@lists.intevation.de>
Author: markus
Update of /grassrepository/web/download
In directory doto:/tmp/cvs-serv25065
Modified Files:
software.inc
Log Message:
link to packages
Index: software.inc
===================================================================
RCS file: /grassrepository/web/download/software.inc,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- software.inc 23 Oct 2006 22:38:21 -0000 1.73
+++ software.inc 25 Oct 2006 13:36:03 -0000 1.74
@@ -85,6 +85,7 @@
Statistics of GRASS 6.2 internationalization (i18N) status
The table is ordered by number of translated messages per language.
The two character codes indicate the language, based on the Alpha-2 code of
ISO 639-1.
For download of a currently sleeping translation, please either get the
file directly from the GRASS-CVS or see above.
GRASSLIBS\n";
generate_table($file_libs);
echo "
GRASSMODS
\n";
generate_table($file_mods);
echo "
GRASSTCL
\n";
generate_table($file_tcl);
?>
The relevant column is 'Translated messages' as the message files
do not necessarily contain all available messages of GRASS.
Index: main.inc
===================================================================
RCS file: /grassrepository/web/grass62/main.inc,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- main.inc 23 Oct 2006 22:38:21 -0000 1.10
+++ main.inc 27 Oct 2006 13:38:30 -0000 1.11
@@ -42,3 +42,9 @@
11 August 2006: GRASS 6.1.0 released
- this is a technology preview release: download
- Announcement
From grass at intevation.de Tue Oct 31 05:30:57 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/feed - New directory
Message-ID: <20061031103057.EB5671006CD@lists.intevation.de>
Author: markus
Update of /grassrepository/web/feed
In directory doto:/tmp/cvs-serv27597/feed
Log Message:
Directory /grassrepository/web/feed added to the repository
From grass at intevation.de Tue Oct 31 05:31:03 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/feed pear.php, NONE, 1.1 rss.php, NONE,
1.1 parser.php, NONE, 1.1 rss-icon.gif, NONE, 1.1
Message-ID: <20061031103103.7D4E71006CD@lists.intevation.de>
Author: markus
Update of /grassrepository/web/feed
In directory doto:/tmp/cvs-serv27616
Added Files:
pear.php rss.php parser.php rss-icon.gif
Log Message:
added new RSS feed thing (thanks to Peter Misovic)
--- NEW FILE: pear.php ---
|
// | Stig Bakken |
// | Tomas V.V.Cox |
// +--------------------------------------------------------------------+
[...1017 lines suppressed...]
}
return sprintf('[%s: message="%s" code=%d mode=%s level=%s '.
'prefix="%s" info="%s"]',
strtolower(get_class($this)), $this->message, $this->code,
implode("|", $modes), $levels[$this->level],
$this->error_message_prefix,
$this->userinfo);
}
// }}}
}
/*
* Local Variables:
* mode: php
* tab-width: 4
* c-basic-offset: 4
* End:
*/
?>
--- NEW FILE: rss.php ---
|
// | |
// +----------------------------------------------------------------------+
//
// $Id: rss.php,v 1.1 2006/10/31 10:31:01 markus Exp $
//
require_once 'parser.php';
/**
* RSS parser class.
*
* This class is a parser for Resource Description Framework (RDF) Site
* Summary (RSS) documents. For more information on RSS see the
* website of the RSS working group (http://www.purl.org/rss/).
*
* @author Martin Jansen
* @version $Revision: 1.1 $
* @access public
*/
class XML_RSS extends XML_Parser
{
// {{{ properties
/**
* @var string
*/
var $insideTag = '';
/**
* @var string
*/
var $activeTag = '';
/**
* @var array
*/
var $channel = array();
/**
* @var array
*/
var $items = array();
/**
* @var array
*/
var $item = array();
/**
* @var array
*/
var $image = array();
/**
* @var array
*/
var $textinput = array();
/**
* @var array
*/
var $textinputs = array();
/**
* @var array
*/
var $parentTags = array('CHANNEL', 'ITEM', 'IMAGE', 'TEXTINPUT');
/**
* @var array
*/
var $channelTags = array('TITLE', 'LINK', 'DESCRIPTION', 'IMAGE',
'ITEMS', 'TEXTINPUT');
/**
* @var array
*/
var $itemTags = array('TITLE', 'LINK', 'DESCRIPTION', 'PUBDATE');
/**
* @var array
*/
var $imageTags = array('TITLE', 'URL', 'LINK');
var $textinputTags = array('TITLE', 'DESCRIPTION', 'NAME', 'LINK');
/**
* List of allowed module tags
*
* Currently Dublin Core Metadata and the blogChannel RSS module
* are supported.
*
* @var array
*/
var $moduleTags = array('DC:TITLE', 'DC:CREATOR', 'DC:SUBJECT', 'DC:DESCRIPTION',
'DC:PUBLISHER', 'DC:CONTRIBUTOR', 'DC:DATE', 'DC:TYPE',
'DC:FORMAT', 'DC:IDENTIFIER', 'DC:SOURCE', 'DC:LANGUAGE',
'DC:RELATION', 'DC:COVERAGE', 'DC:RIGHTS',
'BLOGCHANNEL:BLOGROLL', 'BLOGCHANNEL:MYSUBSCRIPTIONS',
'BLOGCHANNEL:MYSUBSCRIPTIONS', 'BLOGCHANNEL:CHANGES');
// }}}
// {{{ Constructor
/**
* Constructor
*
* @access public
* @param mixed File pointer or name of the RDF file.
* @return void
*/
function XML_RSS($handle = '')
{
$this->XML_Parser();
if (@is_resource($handle)) {
$this->setInput($handle);
} elseif ($handle != '') {
$this->setInputFile($handle);
} else {
$this->raiseError('No filename passed.');
}
}
// }}}
// {{{ startHandler()
/**
* Start element handler for XML parser
*
* @access private
* @param object XML parser object
* @param string XML element
* @param array Attributes of XML tag
* @return void
*/
function startHandler($parser, $element, $attribs)
{
switch ($element) {
case 'CHANNEL':
case 'ITEM':
case 'IMAGE':
case 'TEXTINPUT':
$this->insideTag = $element;
break;
default:
$this->activeTag = $element;
}
}
// }}}
// {{{ endHandler()
/**
* End element handler for XML parser
*
* If the end of , , or
* is reached, this function updates the structure array
* $this->struct[] and adds the field "type" to this array,
* that defines the type of the current field.
*
* @access private
* @param object XML parser object
* @param string
* @return void
*/
function endHandler($parser, $element)
{
if ($element == $this->insideTag) {
$this->insideTag = '';
$this->struct[] = array_merge(array('type' => strtolower($element)),
$this->last);
}
if ($element == 'ITEM') {
$this->items[] = $this->item;
$this->item = '';
}
if ($element == 'IMAGE') {
$this->images[] = $this->image;
$this->image = '';
}
if ($element == 'TEXTINPUT') {
$this->textinputs = $this->textinput;
$this->textinput = '';
}
$this->activeTag = '';
}
// }}}
// {{{ cdataHandler()
/**
* Handler for character data
*
* @access private
* @param object XML parser object
* @param string CDATA
* @return void
*/
function cdataHandler($parser, $cdata)
{
if (in_array($this->insideTag, $this->parentTags)) {
$tagName = strtolower($this->insideTag);
$var = $this->{$tagName . 'Tags'};
if (in_array($this->activeTag, $var) ||
in_array($this->activeTag, $this->moduleTags)) {
$this->_add($tagName, strtolower($this->activeTag),
$cdata);
}
}
}
// }}}
// {{{ defaultHandler()
/**
* Default handler for XML parser
*
* @access private
* @param object XML parser object
* @param string CDATA
* @return void
*/
function defaultHandler($parser, $cdata)
{
return;
}
// }}}
// {{{ _add()
/**
* Add element to internal result sets
*
* @access private
* @param string Name of the result set
* @param string Fieldname
* @param string Value
* @return void
* @see cdataHandler
*/
function _add($type, $field, $value)
{
if (empty($this->{$type}) || empty($this->{$type}[$field])) {
$this->{$type}[$field] = $value;
} else {
$this->{$type}[$field] .= $value;
}
$this->last = $this->{$type};
}
// }}}
// {{{ getStructure()
/**
* Get complete structure of RSS file
*
* @access public
* @return array
*/
function getStructure()
{
return (array)$this->struct;
}
// }}}
// {{{ getchannelInfo()
/**
* Get general information about current channel
*
* This function returns an array containing the information
* that has been extracted from the -tag while parsing
* the RSS file.
*
* @access public
* @return array
*/
function getChannelInfo()
{
return (array)$this->channel;
}
// }}}
// {{{ getItems()
/**
* Get items from RSS file
*
* This function returns an array containing the set of items
* that are provided by the RSS file.
*
* @access public
* @return array
*/
function getItems()
{
return (array)$this->items;
}
// }}}
// {{{ getImages()
/**
* Get images from RSS file
*
* This function returns an array containing the set of images
* that are provided by the RSS file.
*
* @access public
* @return array
*/
function getImages()
{
return (array)$this->images;
}
// }}}
// {{{ getTextinputs()
/**
* Get text input fields from RSS file
*
* @access public
* @return array
*/
function getTextinputs()
{
return (array)$this->textinputs;
}
// }}}
}
?>
--- NEW FILE: parser.php ---
|
// | Tomas V.V.Cox |
// | Stephan Schmidt |
// +----------------------------------------------------------------------+
//
// $Id: parser.php,v 1.1 2006/10/31 10:31:01 markus Exp $
/**
* XML Parser class.
*
* This is an XML parser based on PHP's "xml" extension,
* based on the bundled expat library.
*
* @category XML
* @package XML_Parser
* @author Stig Bakken
* @author Tomas V.V.Cox
* @author Stephan Schmidt
*/
/**
* uses PEAR's error handling
*/
require_once 'pear.php';
/**
* resource could not be created
*/
define('XML_PARSER_ERROR_NO_RESOURCE', 200);
/**
* unsupported mode
*/
define('XML_PARSER_ERROR_UNSUPPORTED_MODE', 201);
/**
* invalid encoding was given
*/
define('XML_PARSER_ERROR_INVALID_ENCODING', 202);
/**
* specified file could not be read
*/
define('XML_PARSER_ERROR_FILE_NOT_READABLE', 203);
/**
* invalid input
*/
define('XML_PARSER_ERROR_INVALID_INPUT', 204);
/**
* remote file cannot be retrieved in safe mode
*/
define('XML_PARSER_ERROR_REMOTE', 205);
/**
* XML Parser class.
*
* This is an XML parser based on PHP's "xml" extension,
* based on the bundled expat library.
*
* Notes:
* - It requires PHP 4.0.4pl1 or greater
* - From revision 1.17, the function names used by the 'func' mode
* are in the format "xmltag_$elem", for example: use "xmltag_name"
* to handle the tags of your xml file.
*
* @category XML
* @package XML_Parser
* @author Stig Bakken
* @author Tomas V.V.Cox
* @author Stephan Schmidt
* @todo create XML_Parser_Namespace to parse documents with namespaces
* @todo create XML_Parser_Pull
* @todo Tests that need to be made:
* - mixing character encodings
* - a test using all expat handlers
* - options (folding, output charset)
* - different parsing modes
*/
class XML_Parser extends PEAR
{
// {{{ properties
/**
* XML parser handle
*
* @var resource
* @see xml_parser_create()
*/
var $parser;
/**
* File handle if parsing from a file
*
* @var resource
*/
var $fp;
/**
* Whether to do case folding
*
* If set to true, all tag and attribute names will
* be converted to UPPER CASE.
*
* @var boolean
*/
var $folding = true;
/**
* Mode of operation, one of "event" or "func"
*
* @var string
*/
var $mode;
/**
* Mapping from expat handler function to class method.
*
* @var array
*/
var $handler = array(
'character_data_handler' => 'cdataHandler',
'default_handler' => 'defaultHandler',
'processing_instruction_handler' => 'piHandler',
'unparsed_entity_decl_handler' => 'unparsedHandler',
'notation_decl_handler' => 'notationHandler',
'external_entity_ref_handler' => 'entityrefHandler'
);
/**
* source encoding
*
* @var string
*/
var $srcenc;
/**
* target encoding
*
* @var string
*/
var $tgtenc;
/**
* handler object
*
* @var object
*/
var $_handlerObj;
// }}}
// {{{ constructor
/**
* Creates an XML parser.
*
* This is needed for PHP4 compatibility, it will
* call the constructor, when a new instance is created.
*
* @param string $srcenc source charset encoding, use NULL (default) to use
* whatever the document specifies
* @param string $mode how this parser object should work, "event" for
* startelement/endelement-type events, "func"
* to have it call functions named after elements
* @param string $tgenc a valid target encoding
*/
function XML_Parser($srcenc = null, $mode = 'event', $tgtenc = null)
{
XML_Parser::__construct($srcenc, $mode, $tgtenc);
}
// }}}
/**
* PHP5 constructor
*
* @param string $srcenc source charset encoding, use NULL (default) to use
* whatever the document specifies
* @param string $mode how this parser object should work, "event" for
* startelement/endelement-type events, "func"
* to have it call functions named after elements
* @param string $tgenc a valid target encoding
*/
function __construct($srcenc = null, $mode = 'event', $tgtenc = null)
{
$this->PEAR('XML_Parser_Error');
$this->mode = $mode;
$this->srcenc = $srcenc;
$this->tgtenc = $tgtenc;
}
// }}}
/**
* Sets the mode of the parser.
*
* Possible modes are:
* - func
* - event
*
* You can set the mode using the second parameter
* in the constructor.
*
* This method is only needed, when switching to a new
* mode at a later point.
*
* @access public
* @param string mode, either 'func' or 'event'
* @return boolean|object true on success, PEAR_Error otherwise
*/
function setMode($mode)
{
if ($mode != 'func' && $mode != 'event') {
$this->raiseError('Unsupported mode given', XML_PARSER_ERROR_UNSUPPORTED_MODE);
}
$this->mode = $mode;
return true;
}
/**
* Sets the object, that will handle the XML events
*
* This allows you to create a handler object independent of the
* parser object that you are using and easily switch the underlying
* parser.
*
* If no object will be set, XML_Parser assumes that you
* extend this class and handle the events in $this.
*
* @access public
* @param object object to handle the events
* @return boolean will always return true
* @since v1.2.0beta3
*/
function setHandlerObj(&$obj)
{
$this->_handlerObj = &$obj;
return true;
}
/**
* Init the element handlers
*
* @access private
*/
function _initHandlers()
{
if (!is_resource($this->parser)) {
return false;
}
if (!is_object($this->_handlerObj)) {
$this->_handlerObj = &$this;
}
switch ($this->mode) {
case 'func':
xml_set_object($this->parser, $this);
xml_set_element_handler($this->parser, 'funcStartHandler', 'funcEndHandler');
break;
case 'event':
xml_set_object($this->parser, $this->_handlerObj);
xml_set_element_handler($this->parser, 'startHandler', 'endHandler');
break;
default:
return $this->raiseError('Unsupported mode given', XML_PARSER_ERROR_UNSUPPORTED_MODE);
break;
}
/**
* set additional handlers for character data, entities, etc.
*/
foreach ($this->handler as $xml_func => $method) {
if (method_exists($this->_handlerObj, $method)) {
$xml_func = 'xml_set_' . $xml_func;
$xml_func($this->parser, $method);
}
}
}
// {{{ _create()
/**
* create the XML parser resource
*
* Has been moved from the constructor to avoid
* problems with object references.
*
* Furthermore it allows us returning an error
* if something fails.
*
* @access private
* @return boolean|object true on success, PEAR_Error otherwise
*
* @see xml_parser_create
*/
function _create()
{
if ($this->srcenc === null) {
$xp = @xml_parser_create();
} else {
$xp = @xml_parser_create($this->srcenc);
}
if (is_resource($xp)) {
if ($this->tgtenc !== null) {
if (!@xml_parser_set_option($xp, XML_OPTION_TARGET_ENCODING,
$this->tgtenc)) {
return $this->raiseError('invalid target encoding', XML_PARSER_ERROR_INVALID_ENCODING);
}
}
$this->parser = $xp;
$result = $this->_initHandlers($this->mode);
if ($this->isError($result)) {
return $result;
}
xml_parser_set_option($xp, XML_OPTION_CASE_FOLDING, $this->folding);
return true;
}
return $this->raiseError('Unable to create XML parser resource.', XML_PARSER_ERROR_NO_RESOURCE);
}
// }}}
// {{{ reset()
/**
* Reset the parser.
*
* This allows you to use one parser instance
* to parse multiple XML documents.
*
* @access public
* @return boolean|object true on success, PEAR_Error otherwise
*/
function reset()
{
$result = $this->_create();
if ($this->isError( $result )) {
return $result;
}
}
// }}}
// {{{ setInputFile()
/**
* Sets the input xml file to be parsed
*
* @param string Filename (full path)
* @return resource fopen handle of the given file
* @throws XML_Parser_Error
* @see setInput(), setInputString(), parse()
* @access public
*/
function setInputFile($file)
{
/**
* check, if file is a remote file
*/
if (eregi('^(http|ftp)://', substr($file, 0, 10))) {
if (!ini_get('safe_mode')) {
ini_set('allow_url_fopen', 1);
} else {
return $this->raiseError('Remote files cannot be parsed, as safe mode is enabled.', XML_PARSER_ERROR_REMOTE);
}
}
$fp = @fopen($file, 'rb');
if (is_resource($fp)) {
$this->fp = $fp;
return $fp;
}
return $this->raiseError('File could not be opened.', XML_PARSER_ERROR_FILE_NOT_READABLE);
}
// }}}
// {{{ setInputString()
/**
* XML_Parser::setInputString()
*
* Sets the xml input from a string
*
* @param string $data a string containing the XML document
* @return null
**/
function setInputString($data)
{
$this->fp = $data;
return null;
}
// }}}
// {{{ setInput()
/**
* Sets the file handle to use with parse().
*
* You should use setInputFile() or setInputString() if you
* pass a string
*
* @param mixed $fp Can be either a resource returned from fopen(),
* a URL, a local filename or a string.
* @access public
* @see parse()
* @uses setInputString(), setInputFile()
*/
function setInput($fp)
{
if (is_resource($fp)) {
$this->fp = $fp;
return true;
}
// see if it's an absolute URL (has a scheme at the beginning)
elseif (eregi('^[a-z]+://', substr($fp, 0, 10))) {
return $this->setInputFile($fp);
}
// see if it's a local file
elseif (file_exists($fp)) {
return $this->setInputFile($fp);
}
// it must be a string
else {
$this->fp = $fp;
return true;
}
return $this->raiseError('Illegal input format', XML_PARSER_ERROR_INVALID_INPUT);
}
// }}}
// {{{ parse()
/**
* Central parsing function.
*
* @return true|object PEAR error returns true on success, or a PEAR_Error otherwise
* @access public
*/
function parse()
{
/**
* reset the parser
*/
$result = $this->reset();
if ($this->isError($result)) {
return $result;
}
// if $this->fp was fopened previously
if (is_resource($this->fp)) {
while ($data = fread($this->fp, 4096)) {
if (!$this->_parseString($data, feof($this->fp))) {
return $this->raiseError();
}
}
// otherwise, $this->fp must be a string
} else {
if (!$this->_parseString($this->fp, true)) {
return $this->raiseError();
}
}
$this->free();
return true;
}
/**
* XML_Parser::_parseString()
*
* @param string $data
* @param boolean $eof
* @return bool
* @access private
* @see parseString()
**/
function _parseString($data, $eof = false)
{
return xml_parse($this->parser, $data, $eof);
}
// }}}
// {{{ parseString()
/**
* XML_Parser::parseString()
*
* Parses a string.
*
* @param string $data XML data
* @param boolean $eof If set and TRUE, data is the last piece of data sent in this parser
* @throws XML_Parser_Error
* @return Pear Error|true true on success or a PEAR Error
* @see _parseString()
*/
function parseString($data, $eof = false)
{
if (!isset($this->parser) || !is_resource($this->parser)) {
$this->reset();
}
if (!$this->_parseString($data, $eof)) {
return $this->raiseError();
}
if ($eof === true) {
$this->free();
}
return true;
}
/**
* XML_Parser::free()
*
* Free the internal resources associated with the parser
*
* @return null
**/
function free()
{
if (is_resource($this->parser)) {
xml_parser_free($this->parser);
unset( $this->parser );
}
if (isset($this->fp) && is_resource($this->fp)) {
fclose($this->fp);
}
unset($this->fp);
return null;
}
/**
* XML_Parser::raiseError()
*
* Trows a XML_Parser_Error and free's the internal resources
*
* @param string $msg the error message
* @param integer $ecode the error message code
* @return XML_Parser_Error
**/
function raiseError($msg = null, $ecode = 0)
{
$msg = !is_null($msg) ? $msg : $this->parser;
$err = &new XML_Parser_Error($msg, $ecode);
$this->free();
return parent::raiseError($err);
}
// }}}
// {{{ funcStartHandler()
function funcStartHandler($xp, $elem, $attribs)
{
$func = 'xmltag_' . $elem;
if (method_exists($this->_handlerObj, $func)) {
call_user_func(array(&$this->_handlerObj, $func), $xp, $elem, $attribs);
}
}
// }}}
// {{{ funcEndHandler()
function funcEndHandler($xp, $elem)
{
$func = 'xmltag_' . $elem . '_';
if (method_exists($this->_handlerObj, $func)) {
call_user_func(array(&$this->_handlerObj, $func), $xp, $elem);
}
}
// }}}
// {{{ startHandler()
/**
*
* @abstract
*/
function startHandler($xp, $elem, &$attribs)
{
return NULL;
}
// }}}
// {{{ endHandler()
/**
*
* @abstract
*/
function endHandler($xp, $elem)
{
return NULL;
}
// }}}me
}
/**
* error class, replaces PEAR_Error
*
* An instance of this class will be returned
* if an error occurs inside XML_Parser.
*
* There are three advantages over using the standard PEAR_Error:
* - All messages will be prefixed
* - check for XML_Parser error, using is_a( $error, 'XML_Parser_Error' )
* - messages can be generated from the xml_parser resource
*
* @package XML_Parser
* @access public
* @see PEAR_Error
*/
class XML_Parser_Error extends PEAR_Error
{
// {{{ properties
/**
* prefix for all messages
*
* @var string
*/
var $error_message_prefix = 'XML_Parser: ';
// }}}
// {{{ constructor()
/**
* construct a new error instance
*
* You may either pass a message or an xml_parser resource as first
* parameter. If a resource has been passed, the last error that
* happened will be retrieved and returned.
*
* @access public
* @param string|resource message or parser resource
* @param integer error code
* @param integer error handling
* @param integer error level
*/
function XML_Parser_Error($msgorparser = 'unknown error', $code = 0, $mode = PEAR_ERROR_RETURN, $level = E_USER_NOTICE)
{
if (is_resource($msgorparser)) {
$code = xml_get_error_code($msgorparser);
$msgorparser = sprintf('%s at XML input line %d',
xml_error_string($code),
xml_get_current_line_number($msgorparser));
}
$this->PEAR_Error($msgorparser, $code, $mode, $level);
}
// }}}
}
?>
--- NEW FILE: rss-icon.gif ---
(This appears to be a binary file; contents omitted.)
From grass at intevation.de Tue Oct 31 05:39:53 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web rss.xml,NONE,1.1 main.inc,1.76,1.77
Message-ID: <20061031103953.7F6381006D1@lists.intevation.de>
Author: markus
Update of /grassrepository/web
In directory doto:/tmp/cvs-serv27904
Modified Files:
main.inc
Added Files:
rss.xml
Log Message:
added new RSS feed thing (thanks to Peter Misovic)
--- NEW FILE: rss.xml ---
Geographic Resources Analysis Support System
http://grass.itc.it/index.php
News about Geographic Resources Analysis Support Systemen-usCopyright 1999-2006 GRASS Development Team.weblist@grass.itc.itweblist@grass.itc.itGRASS GIShttp://grass.itc.it/images/grasslogo_vector_small.png
http://grass.itc.it/index.php
110123News about Geographic Resources Analysis Support System.GRASS 6.2.0RC3 released
http://grass.itc.it/grass62/
The last release candidateTue, 24 Oct 2006 09:39:21 GMThttp://grass.itc.it/GRASS 6.2.0RC2 released
http://grass.itc.it/grass62/
Approaching the final releaseFri, 6 Oct 2006 11:06:42 GMThttp://grass.itc.it/GRASS 6.2.0RC1 released
http://grass.itc.it/grass62/
The first release candidateTue, 26 Sept 2006 08:37:32 GMThttp://grass.itc.it/GRASS 6.2.0beta3 released
http://grass.itc.it/grass62/
The last beta versionTue, 18 Sept 2006 08:56:02 GMThttp://grass.itc.it/OSGeo foundation Award
https://www.osgeo.org/servlets/NewsItemView?newsItemID=41
Markus Neteler Wins Sol Katz GFOSS AwardTue, 15 Sept 2006 08:56:02 GMThttp://grass.itc.it/
Index: main.inc
===================================================================
RCS file: /grassrepository/web/main.inc,v
retrieving revision 1.76
retrieving revision 1.77
diff -u -d -r1.76 -r1.77
--- main.inc 31 Oct 2006 09:46:17 -0000 1.76
+++ main.inc 31 Oct 2006 10:39:51 -0000 1.77
@@ -50,18 +50,22 @@
From grass at intevation.de Tue Oct 31 05:52:02 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/grass61/screenshots/images
trento3d_colors_tiny.jpg, NONE, 1.1
Message-ID: <20061031105202.964B51006C5@lists.intevation.de>
Author: markus
Update of /grassrepository/web/grass61/screenshots/images
In directory doto:/tmp/cvs-serv28151
Added Files:
trento3d_colors_tiny.jpg
Log Message:
tiny one
--- NEW FILE: trento3d_colors_tiny.jpg ---
(This appears to be a binary file; contents omitted.)
From grass at intevation.de Tue Oct 31 05:59:33 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/grass62 main.inc,1.11,1.12
Message-ID: <20061031105933.D08481006CB@lists.intevation.de>
Author: markus
Update of /grassrepository/web/grass62
In directory doto:/tmp/cvs-serv28291/grass62
Modified Files:
main.inc
Log Message:
screenshot added to 6.2 page
Index: main.inc
===================================================================
RCS file: /grassrepository/web/grass62/main.inc,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- main.inc 27 Oct 2006 13:38:30 -0000 1.11
+++ main.inc 31 Oct 2006 10:59:31 -0000 1.12
@@ -6,6 +6,9 @@
Note: Development continues in GRASS 6.3. This version is frozen,
only bugfixes will be applied.
+
Index: rss.xml
===================================================================
RCS file: /grassrepository/web/rss.xml,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- rss.xml 31 Oct 2006 12:53:44 -0000 1.6
+++ rss.xml 31 Oct 2006 19:05:52 -0000 1.7
@@ -1,5 +1,5 @@
-
+
Geographic Resources Analysis Support System
From grass at intevation.de Tue Oct 31 14:05:54 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/feed grass_rss_style.css,NONE,1.1
Message-ID: <20061031190554.A2830101EE3@lists.intevation.de>
Author: markus
Update of /grassrepository/web/feed
In directory doto:/tmp/cvs-serv15309/feed
Added Files:
grass_rss_style.css
Log Message:
update
--- NEW FILE: grass_rss_style.css ---
rss {
display: block;
font-family: verdana, arial;
}
title {
display: block;
margin: 5px;
padding: 2px;
color: gray;
border-bottom: 1px solid silver;
}
link {
display: block;
font-size: small;
padding-left: 10px;
}
item {
display: block;
padding: 2px 30px 2px 30px;
}
docs {
display: block;
background-color: #ffffe6;
margin: 20px;
text-align: center;
padding: 5px;
color: #7f7f7f;
border: 1px solid silver;
}
/* all hidden elements */
language, lastBuildDate, ttl, guid, category, description, pubDate {
display: none;
}
From grass at intevation.de Tue Oct 31 15:13:35 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/announces announce_grass620.html, 1.7,
1.8
Message-ID: <20061031201335.8B791101EF1@lists.intevation.de>
Author: markus
Update of /grassrepository/web/announces
In directory doto:/tmp/cvs-serv18953/announces
Modified Files:
announce_grass620.html
Log Message:
GRASS GIS 6.2.0 released
Index: announce_grass620.html
===================================================================
RCS file: /grassrepository/web/announces/announce_grass620.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- announce_grass620.html 31 Oct 2006 11:23:28 -0000 1.7
+++ announce_grass620.html 31 Oct 2006 20:13:33 -0000 1.8
@@ -19,7 +19,7 @@
The GRASS Development Team announces
-
GRASS GIS 6.2.0 released [DATE] 2006
+
GRASS GIS 6.2.0 released 31 Oct 2006
@@ -331,7 +331,7 @@
We are always looking for testers, code developers, and technical
writers to help us maintain and accelerate
-the development cycle.
+the development cycle.
The GRASS GIS project is developed under the terms of the
GNU General Public License
@@ -357,12 +357,13 @@
GRASS GIS 6.2.0RC1 released 26 September 2006
GRASS GIS 6.2.0RC2 released 6 October 2006
GRASS GIS 6.2.0RC3 released 24 October 2006
+
GRASS GIS 6.2.0 released 31 October 2006
GRASS Development Team
-Date: [DATE] 2006 (last changed: $Date$)
+Date: 31 Oct 2006 (last changed: $Date$)
From grass at intevation.de Tue Oct 31 15:13:35 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/devel cvstags.inc, 1.19,
1.20 grasshist.html, 1.23, 1.24 grassreleases.html, 1.21, 1.22
Message-ID: <20061031201335.A5A2B101EF4@lists.intevation.de>
Author: markus
Update of /grassrepository/web/devel
In directory doto:/tmp/cvs-serv18953/devel
Modified Files:
cvstags.inc grasshist.html grassreleases.html
Log Message:
GRASS GIS 6.2.0 released
Index: cvstags.inc
===================================================================
RCS file: /grassrepository/web/devel/cvstags.inc,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- cvstags.inc 23 Oct 2006 22:38:21 -0000 1.19
+++ cvstags.inc 31 Oct 2006 20:13:33 -0000 1.20
@@ -40,6 +40,7 @@
Release branch: "releasebranch_6_2"
+
GRASS 6.2.0: has been tagged as "grass_6_2_0"
GRASS 6.2.0RC3: has been tagged as "grass_6_2_0RC3"
GRASS 6.2.0RC2: has been tagged as "grass_6_2_0RC2"
GRASS 6.2.0RC1: has been tagged as "grass_6_2_0RC1"
From grass at intevation.de Tue Oct 31 15:13:35 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web rss.xml,1.7,1.8
Message-ID: <20061031201335.817C1101EEB@lists.intevation.de>
Author: markus
Update of /grassrepository/web
In directory doto:/tmp/cvs-serv18953
Modified Files:
rss.xml
Log Message:
GRASS GIS 6.2.0 released
Index: rss.xml
===================================================================
RCS file: /grassrepository/web/rss.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- rss.xml 31 Oct 2006 19:05:52 -0000 1.7
+++ rss.xml 31 Oct 2006 20:13:33 -0000 1.8
@@ -19,12 +19,20 @@
News about Geographic Resources Analysis Support System.
-
+
+ GRASS 6.2.0 released
+ http://grass.itc.it/announces/announce_grass620.html
+ The stable version is available now
+ Tue, 31 Oct 2006 19:38:49 GMT
+ http://grass.itc.it/grass62/
+
+
+ GRASS 6.2.0RC3 released
http://grass.itc.it/grass62/
The last release candidateTue, 24 Oct 2006 09:39:21 GMT
- http://grass.itc.it/grass62/
+ http://grass.itc.it/grass62/source/
From grass at intevation.de Tue Oct 31 15:13:35 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/bugtracking bugreport.html,1.44,1.45
Message-ID: <20061031201335.95918101EF3@lists.intevation.de>
Author: markus
Update of /grassrepository/web/bugtracking
In directory doto:/tmp/cvs-serv18953/bugtracking
Modified Files:
bugreport.html
Log Message:
GRASS GIS 6.2.0 released
Index: bugreport.html
===================================================================
RCS file: /grassrepository/web/bugtracking/bugreport.html,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- bugreport.html 6 Oct 2006 19:28:37 -0000 1.44
+++ bugreport.html 31 Oct 2006 20:13:33 -0000 1.45
@@ -24,7 +24,7 @@
Only report if using at least the current stable release version
-(GRASS 6.0.2 was released 22 Feb 2006) or later.
+(GRASS 6.2.0 was released 31 Oct 2006) or later.
If you use an older version, please consider upgrading.
Before reporting a bug, please check that it is currently unkown:
@@ -64,8 +64,8 @@
Type of report:
From grass at intevation.de Tue Oct 31 15:22:38 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:46 2007
Subject: [GRASSweb-list] markus: web/download software.inc,1.78,1.79
Message-ID: <20061031202238.2A126101EEA@lists.intevation.de>
Author: markus
Update of /grassrepository/web/download
In directory doto:/tmp/cvs-serv19087
Modified Files:
software.inc
Log Message:
moved 6.0.2 to old
Index: software.inc
===================================================================
RCS file: /grassrepository/web/download/software.inc,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- software.inc 31 Oct 2006 20:13:33 -0000 1.78
+++ software.inc 31 Oct 2006 20:22:36 -0000 1.79
@@ -25,53 +25,7 @@
We are always looking for testers, code developers, and technical
-writers to help us maintain and accelerate
+writers to help us maintain and accelerate
the development cycle.
The GRASS GIS project is developed under the terms of the
GNU General Public License
-(the GPL) in the open by
-volunteers the
+(the GPL) in the open by
+volunteers the
world over.
GRASS differs from many other GIS software packages used in the professional
From grass at intevation.de Tue Oct 31 17:25:46 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:47 2007
Subject: [GRASSweb-list] markus: web/feed grass_rss_style.css, 1.1,
NONE parser.php, 1.1, NONE pear.php, 1.1, NONE rss-icon.gif,
1.1, NONE rss.php, 1.1, NONE
Message-ID: <20061031222546.B8D5C10016A@lists.intevation.de>
Author: markus
Update of /grassrepository/web/feed
In directory doto:/tmp/cvs-serv26003/feed
Removed Files:
grass_rss_style.css parser.php pear.php rss-icon.gif rss.php
Log Message:
work around PHP bug
--- grass_rss_style.css DELETED ---
--- parser.php DELETED ---
--- pear.php DELETED ---
--- rss-icon.gif DELETED ---
--- rss.php DELETED ---
From grass at intevation.de Tue Oct 31 17:26:13 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:47 2007
Subject: [GRASSweb-list] markus: web grass_rss_style.css,NONE,1.1
Message-ID: <20061031222613.17A631006C8@lists.intevation.de>
Author: markus
Update of /grassrepository/web
In directory doto:/tmp/cvs-serv26031
Added Files:
grass_rss_style.css
Log Message:
work around PHP bug
--- NEW FILE: grass_rss_style.css ---
rss {
display: block;
font-family: verdana, arial;
}
title {
display: block;
margin: 5px;
padding: 2px;
color: gray;
border-bottom: 1px solid silver;
}
link {
display: block;
font-size: small;
padding-left: 10px;
}
item {
display: block;
padding: 2px 30px 2px 30px;
}
docs {
display: block;
background-color: #ffffe6;
margin: 20px;
text-align: center;
padding: 5px;
color: #7f7f7f;
border: 1px solid silver;
}
/* all hidden elements */
language, lastBuildDate, ttl, guid, category, description, pubDate {
display: none;
}
From grass at intevation.de Tue Oct 31 18:09:08 2006
From: grass at intevation.de (grass@intevation.de)
Date: Wed Nov 14 17:02:47 2007
Subject: [GRASSweb-list] markus: web press.html,1.59,1.60
Message-ID: <20061031230908.8A96E1006D7@lists.intevation.de>
Author: markus
Update of /grassrepository/web
In directory doto:/tmp/cvs-serv27302
Modified Files:
press.html
Log Message:
not so bad
Index: press.html
===================================================================
RCS file: /grassrepository/web/press.html,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- press.html 23 Sep 2006 18:12:08 -0000 1.59
+++ press.html 31 Oct 2006 23:09:06 -0000 1.60
@@ -14,7 +14,7 @@