You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
(200) |
May
(51) |
Jun
(19) |
Jul
(69) |
Aug
(21) |
Sep
(3) |
Oct
(3) |
Nov
(12) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(8) |
Feb
(1) |
Mar
(9) |
Apr
(5) |
May
(18) |
Jun
(11) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(85) |
2005 |
Jan
(4) |
Feb
|
Mar
(6) |
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(2) |
Dec
|
2006 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
(10) |
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(2) |
Oct
(17) |
Nov
(2) |
Dec
|
2007 |
Jan
|
Feb
(19) |
Mar
(20) |
Apr
(56) |
May
(24) |
Jun
(22) |
Jul
(15) |
Aug
(17) |
Sep
(8) |
Oct
(20) |
Nov
(27) |
Dec
(41) |
2008 |
Jan
(3) |
Feb
(34) |
Mar
(14) |
Apr
(77) |
May
(42) |
Jun
(17) |
Jul
(14) |
Aug
(11) |
Sep
(6) |
Oct
(2) |
Nov
(3) |
Dec
(2) |
2009 |
Jan
(15) |
Feb
(15) |
Mar
(8) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(5) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2010 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
(8) |
Jul
(1) |
Aug
(10) |
Sep
(7) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <rd...@us...> - 2020-05-21 21:42:47
|
Revision: 2047 http://sourceforge.net/p/digir/svn/2047 Author: rdg Date: 2020-05-21 21:42:46 +0000 (Thu, 21 May 2020) Log Message: ----------- Order resources by code Modified Paths: -------------- tapirlink/trunk/classes/TpResources.php Modified: tapirlink/trunk/classes/TpResources.php =================================================================== --- tapirlink/trunk/classes/TpResources.php 2015-02-10 03:56:47 UTC (rev 2046) +++ tapirlink/trunk/classes/TpResources.php 2020-05-21 21:42:46 UTC (rev 2047) @@ -214,6 +214,15 @@ fclose( $fp ); + function _CmpResources( $res1, $res2 ) + { + return strcmp( $res1->GetCode(), $res2->GetCode() ); + + } // end of inline function _CmpResources + + // Order by resource code + usort( $this->mResources, '_CmpResources' ); + if ( ! defined( 'TP_RUNNING_TAPIR' ) ) { // No need to use session when running the web service (tapir.php) @@ -398,4 +407,4 @@ } // end of member function __sleep } // end of TpResources -?> \ No newline at end of file +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2015-02-10 03:56:55
|
Revision: 2046 http://sourceforge.net/p/digir/svn/2046 Author: rdg Date: 2015-02-10 03:56:47 +0000 (Tue, 10 Feb 2015) Log Message: ----------- Avoid strict warnings Modified Paths: -------------- tapirlink/trunk/admin/check.php tapirlink/trunk/classes/TpConceptMappingFactory.php tapirlink/trunk/classes/TpConceptualSchemaHandlerFactory.php tapirlink/trunk/classes/TpConfigUtils.php tapirlink/trunk/classes/TpDataSource.php tapirlink/trunk/classes/TpDiagnostics.php tapirlink/trunk/classes/TpHtmlUtils.php tapirlink/trunk/classes/TpResources.php tapirlink/trunk/classes/TpUtils.php tapirlink/trunk/lib/pear/Log.php tapirlink/trunk/lib/pear/PEAR.php tapirlink/trunk/lib/phpxsd/XsManager.php tapirlink/trunk/lib/phpxsd/XsNamespaceManager.php Modified: tapirlink/trunk/admin/check.php =================================================================== --- tapirlink/trunk/admin/check.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/admin/check.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -462,7 +462,7 @@ //Try connecting to the database using ADOdb echo "<p>Testing connection to database...<br />\n"; flush(); -$cn = &ADONewConnection($Config->connectionType); +$cn = ADONewConnection($Config->connectionType); if (!is_object($cn)) { echo " ERROR: could not create database connection object of type: " Modified: tapirlink/trunk/classes/TpConceptMappingFactory.php =================================================================== --- tapirlink/trunk/classes/TpConceptMappingFactory.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpConceptMappingFactory.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -31,7 +31,7 @@ } // end of member function TpConceptMappingFactory - function GetInstance( $id ) + public static function GetInstance( $id ) { if ( $id == 'SingleColumnMapping') { @@ -50,7 +50,7 @@ } // end of member function GetInstance - function GetOptions( ) + public static function GetOptions( ) { return array( 'unmapped' => '-- unmapped --', 'SingleColumnMapping'=>'single column', Modified: tapirlink/trunk/classes/TpConceptualSchemaHandlerFactory.php =================================================================== --- tapirlink/trunk/classes/TpConceptualSchemaHandlerFactory.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpConceptualSchemaHandlerFactory.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -32,7 +32,7 @@ } // end of member function TpConceptualSchemaHandlerFactory - function GetInstance( $id ) + public static function GetInstance( $id ) { if ( $id == 'DarwinSchemaHandler_v1') { Modified: tapirlink/trunk/classes/TpConfigUtils.php =================================================================== --- tapirlink/trunk/classes/TpConfigUtils.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpConfigUtils.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -35,7 +35,7 @@ * @param $file File name (including path) * @return True fr success, false otherwise */ - function WriteToFile( $content, $file ) + public static function WriteToFile( $content, $file ) { $status = false; @@ -103,7 +103,7 @@ * @param $file XML file name (including path) * @return True on success, false otherwise */ - function WriteXmlPiece( $content, $currentXpath, $prevXpath, $file ) + public static function WriteXmlPiece( $content, $currentXpath, $prevXpath, $file ) { $xparser = new XPath(); $xparser->setVerbose( 0 ); @@ -173,7 +173,7 @@ } // end of WriteXmlPiece - function ValidateLangSection( $sectionName, $langStrings, $raiseErrors, $mandatoryField=true, $defaultLang=null ) + public static function ValidateLangSection( $sectionName, $langStrings, $raiseErrors, $mandatoryField=true, $defaultLang=null ) { $errors = array(); @@ -233,7 +233,7 @@ } // end of ValidateLangSection - function GetFieldType( $adodbField ) + public static function GetFieldType( $adodbField ) { require_once(TP_ADODB_LIBRARY); require_once('TpConceptMapping.php'); @@ -275,7 +275,7 @@ * Note: the service id is used as a session name, so it may not contain * characters such as dots. */ - function GetServiceId() + public static function GetServiceId() { $domain = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME']:'localhost'; $port = isset($_SERVER['SERVER_PORT']) ? $_SERVER['SERVER_PORT']:'80'; @@ -295,7 +295,7 @@ * works for types that are already under the XSD namespace. * Null is returned if the primitive type could not be determined. */ - function GetPrimitiveXsdType( $typeStr, $ns=null ) + public static function GetPrimitiveXsdType( $typeStr, $ns=null ) { $xsd_namespace = 'http://www.w3.org/2001/XMLSchema'; Modified: tapirlink/trunk/classes/TpDataSource.php =================================================================== --- tapirlink/trunk/classes/TpDataSource.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpDataSource.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -153,7 +153,7 @@ } // Then try connecting to database - $this->mConnection = &ADONewConnection( $this->mDriverName ); + $this->mConnection = ADONewConnection( $this->mDriverName ); if ( ! is_object( $this->mConnection ) ) { Modified: tapirlink/trunk/classes/TpDiagnostics.php =================================================================== --- tapirlink/trunk/classes/TpDiagnostics.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpDiagnostics.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -38,7 +38,7 @@ /** * Returns the current diagnostics array */ - function &_GetStack( ) + private static function &_GetStack( ) { static $stack; @@ -57,7 +57,7 @@ * @param msg = the message associated with the diagnostic * @param severity = severity level for the diagnostic */ - function Append( $cd, $msg, $severity ) + public static function Append( $cd, $msg, $severity ) { if ( $severity == DIAG_WARN and TP_DIAG_LEVEL > 2 ) { @@ -96,7 +96,7 @@ * Returns the number of diagnostics in the list * @param severity = array of error levels. */ - function Count( $severity=array( DIAG_ERROR, DIAG_FATAL ) ) + public static function Count( $severity=array( DIAG_ERROR, DIAG_FATAL ) ) { $stack =& TpDiagnostics::_GetStack(); @@ -117,7 +117,7 @@ /** * Prints out the errors */ - function Dump() + public static function Dump() { $stack =& TpDiagnostics::_GetStack(); @@ -137,7 +137,7 @@ /** * Returns an XML representation of the current diagnostics. */ - function GetXml() + public static function GetXml() { $stack =& TpDiagnostics::_GetStack(); @@ -179,7 +179,7 @@ /** * Returns an aray of error messages */ - function GetMessages() + public static function GetMessages() { $stack =& TpDiagnostics::_GetStack(); @@ -199,7 +199,7 @@ /** * Returns the last error, or NULL if none. */ - function PopDiagnostic() + public static function PopDiagnostic() { $stack =& TpDiagnostics::_GetStack(); @@ -210,7 +210,7 @@ /** * Resets the error stack. */ - function Reset() + public static function Reset() { $stack =& TpDiagnostics::_GetStack(); Modified: tapirlink/trunk/classes/TpHtmlUtils.php =================================================================== --- tapirlink/trunk/classes/TpHtmlUtils.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpHtmlUtils.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -22,7 +22,7 @@ class TpHtmlUtils // only class methods { - function GetCombo( $name, $value, $options, $multiple=false, $size=false, $onChange='' ) + public static function GetCombo( $name, $value, $options, $multiple=false, $size=false, $onChange='' ) { $str_size = (gettype( $size ) == 'integer') ? ' size="'.$size.'"' : '' ; @@ -49,7 +49,7 @@ } // end of member function GetCombo - function GetCheckboxes( $prefix, $values, $options ) + public static function GetCheckboxes( $prefix, $values, $options ) { $html = ''; @@ -70,7 +70,7 @@ } // end of member function GetCheckboxes - function GetRadio( $name, $value, $options ) + public static function GetRadio( $name, $value, $options ) { $html = ''; Modified: tapirlink/trunk/classes/TpResources.php =================================================================== --- tapirlink/trunk/classes/TpResources.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpResources.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -33,7 +33,7 @@ // No constructor - this class uses the singleton pattern // Use GetInstance instead - function &GetInstance( ) + public static function &GetInstance( ) { static $instance; Modified: tapirlink/trunk/classes/TpUtils.php =================================================================== --- tapirlink/trunk/classes/TpUtils.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/classes/TpUtils.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -41,7 +41,7 @@ * Render as Plain text for as HTML, and an option to print it directly. * */ - function DumpPrettyStack( $renderAsHtml=true, $printInline=false ) + public static function DumpPrettyStack( $renderAsHtml=true, $printInline=false ) { // debug_backtrace is only available since PHP 4.3.0 if ( version_compare( phpversion(), '4.3.0', '<' ) > 0 ) @@ -218,7 +218,7 @@ * just for detailed debugging called g_dlog. * */ - function InitializeLogs( ) + public static function InitializeLogs( ) { // Main log $log_file_name = TP_LOG_DIR.'/'.TP_LOG_NAME; @@ -251,7 +251,7 @@ /** Instantiate a log object for detailed debugging called g_dlog. * */ - function InitializeDebugLog( ) + public static function InitializeDebugLog( ) { $debug_file_name = TP_DEBUG_DIR.'/'.TP_DEBUG_LOGFILE; @@ -287,7 +287,7 @@ * * @return mixed Parameter value */ - function GetVar( $name, $defaultVal=false ) + public static function GetVar( $name, $defaultVal=false ) { // Note: If tapir_globals.php is included, then all $_REQUEST keys // are changed to lower case! @@ -304,7 +304,7 @@ * * @return mixed Key value (if found) or default value */ - function GetInArray( $targetArray, $searchKey, $defaultVal=false ) + public static function GetInArray( $targetArray, $searchKey, $defaultVal=false ) { foreach ( $targetArray as $key => $value ) { @@ -320,7 +320,7 @@ /** * Returns the unqualified name from a 'namespace:name' string. */ - function GetUnqualifiedName( $fullName ) { + public static function GetUnqualifiedName( $fullName ) { $last_colon = strrpos( $fullName, ':' ); @@ -340,7 +340,7 @@ * * returns TRUE or FALSE */ - function IsUrl( $tst ) { + public static function IsUrl( $tst ) { //simple check to see if a string is a URL. //just looks at the first few characters to see if the scheme is http or ftp @@ -371,7 +371,7 @@ * * @param string or array reference */ - function StripMagicSlashes( &$rVar ) + public static function StripMagicSlashes( &$rVar ) { if ( is_string( $rVar ) ) { @@ -393,7 +393,7 @@ * @param $s string String to be escaped (assumed to be in utf-8) * @return string Escaped string */ - function EscapeXmlSpecialChars( $s ) + public static function EscapeXmlSpecialChars( $s ) { // Since "htmlspecialchars" does not work with utf-8 in versions // prior than 4.3.0 (stable!), we need to use mb_ereg_replace as an alternative @@ -428,7 +428,7 @@ * * @return float number of seconds with microseconds since the Unix Epoch */ - function MicrotimeFloat() + public static function MicrotimeFloat() { list( $usec, $sec ) = explode( ' ', microtime() ); @@ -442,7 +442,7 @@ * * @return string xsd:dateTime */ - function TimestampToXsdDateTime( $timestamp ) + public static function TimestampToXsdDateTime( $timestamp ) { $date = strftime( '%Y-%m-%d', $timestamp ); @@ -477,7 +477,7 @@ * * @return hash */ - function GetHash( $elements ) + public static function GetHash( $elements ) { $ret_array = array(); @@ -499,7 +499,7 @@ * @param array $attrs Optional array with key value pairs to be added as attributes. * @return string An opening tag for the specified element */ - function OpenTag( $nsPrefix, $elementName, $indent='', $attrs=array() ) + public static function OpenTag( $nsPrefix, $elementName, $indent='', $attrs=array() ) { $ns_sep = ( $nsPrefix ) ? ':' : ''; @@ -526,7 +526,7 @@ * @param string $indent Optional indentation characters. * @return string A closing tag for the specified element */ - function CloseTag( $nsPrefix, $elementName, $indent='' ) + public static function CloseTag( $nsPrefix, $elementName, $indent='' ) { $ns_sep = ( $nsPrefix ) ? ':' : ''; @@ -544,7 +544,7 @@ * @param array $attrs Optional array with key value pairs to be added as attributes. * @return string Value (with XML characters escaped) enclosed by the element */ - function MakeTag( $nsPrefix, $elementName, $value, $indent='', $attrs=array() ) + public static function MakeTag( $nsPrefix, $elementName, $value, $indent='', $attrs=array() ) { $ns_sep = ( $nsPrefix ) ? ':' : ''; @@ -578,7 +578,7 @@ * @return string Value (with XML characters escaped) enclosed by the specified * element with a lang attribute */ - function MakeLangTag( $nsPrefix, $elementName, $value, $lang, $indent='' ) + public static function MakeLangTag( $nsPrefix, $elementName, $value, $lang, $indent='' ) { $ns_sep = ( $nsPrefix ) ? ':' : ''; @@ -603,7 +603,7 @@ * * @return Default XML header */ - function GetXmlHeader( ) + public static function GetXmlHeader( ) { return '<?xml version="1.0" encoding="utf-8" ?>'; @@ -616,7 +616,7 @@ * * @param $libName string Name of the library to load */ - function LoadLibrary( $libName ) + public static function LoadLibrary( $libName ) { $res = true; @@ -647,7 +647,7 @@ /** * Simple array dumper. For debugging stuff. */ - function DumpArray( $a ) + public static function DumpArray( $a ) { if ( ! is_array( $a ) ) { @@ -669,7 +669,7 @@ /** * Returns the alternative file name given a file location. */ - function GetAlternativeFileName( $location ) + public static function GetAlternativeFileName( $location ) { global $g_dlog; @@ -704,7 +704,7 @@ * @param $location string File location * @return file handle or null */ - function GetFileHandle( $location ) + public static function GetFileHandle( $location ) { global $g_dlog; @@ -765,7 +765,7 @@ * @param $location string File location * @return file handle or null */ - function OpenFile( $location ) + public static function OpenFile( $location ) { global $g_dlog; @@ -850,7 +850,7 @@ * @param $location string URL * @return boolean */ - function CheckUrl( $location ) + public static function CheckUrl( $location ) { if ( ! defined( 'TP_ACCEPTED_DOMAINS' ) ) { @@ -890,7 +890,7 @@ * * @return array with original column names pointing to column objects */ - function FixAdodbColumnsArray( $columns ) + public static function FixAdodbColumnsArray( $columns ) { $ret_array = array(); Modified: tapirlink/trunk/lib/pear/Log.php =================================================================== --- tapirlink/trunk/lib/pear/Log.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/lib/pear/Log.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -126,7 +126,7 @@ * @access public * @since Log 1.0 */ - function &factory($handler, $name = '', $ident = '', $conf = array(), + public static function &factory($handler, $name = '', $ident = '', $conf = array(), $level = PEAR_LOG_DEBUG) { $handler = strtolower($handler); @@ -188,7 +188,7 @@ * @access public * @since Log 1.0 */ - function &singleton($handler, $name = '', $ident = '', $conf = array(), + public static function &singleton($handler, $name = '', $ident = '', $conf = array(), $level = PEAR_LOG_DEBUG) { static $instances; @@ -586,7 +586,7 @@ * @access public * @since Log 1.7.0 */ - function MASK($priority) + public static function MASK($priority) { return (1 << $priority); } @@ -605,7 +605,7 @@ * * @deprecated deprecated since Log 1.9.4; use Log::MAX() instead */ - function UPTO($priority) + public static function UPTO($priority) { return Log::MAX($priority); } @@ -624,7 +624,7 @@ * @access public * @since Log 1.9.4 */ - function MIN($priority) + public static function MIN($priority) { return PEAR_LOG_ALL ^ ((1 << $priority) - 1); } @@ -643,7 +643,7 @@ * @access public * @since Log 1.9.4 */ - function MAX($priority) + public static function MAX($priority) { return ((1 << ($priority + 1)) - 1); } Modified: tapirlink/trunk/lib/pear/PEAR.php =================================================================== --- tapirlink/trunk/lib/pear/PEAR.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/lib/pear/PEAR.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -227,7 +227,7 @@ * @return mixed A reference to the variable. If not set it will be * auto initialised to NULL. */ - function &getStaticProperty($class, $var) + public static function &getStaticProperty($class, $var) { static $properties; return $properties[$class][$var]; @@ -270,7 +270,7 @@ * @access public * @return bool true if parameter is an error */ - function isError($data, $code = null) + public static function isError($data, $code = null) { if (is_a($data, 'PEAR_Error')) { if (is_null($code)) { Modified: tapirlink/trunk/lib/phpxsd/XsManager.php =================================================================== --- tapirlink/trunk/lib/phpxsd/XsManager.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/lib/phpxsd/XsManager.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -29,7 +29,7 @@ // No constructor - this class uses the singleton pattern // Use GetInstance instead - function &GetInstance( ) + public static function &GetInstance( ) { static $instance; Modified: tapirlink/trunk/lib/phpxsd/XsNamespaceManager.php =================================================================== --- tapirlink/trunk/lib/phpxsd/XsNamespaceManager.php 2015-02-10 02:32:17 UTC (rev 2045) +++ tapirlink/trunk/lib/phpxsd/XsNamespaceManager.php 2015-02-10 03:56:47 UTC (rev 2046) @@ -30,7 +30,7 @@ // No constructor - this class uses the singleton pattern // Use GetInstance instead - function &GetInstance( ) + public static function &GetInstance( ) { static $instance; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2015-02-10 02:32:20
|
Revision: 2045 http://sourceforge.net/p/digir/svn/2045 Author: rdg Date: 2015-02-10 02:32:17 +0000 (Tue, 10 Feb 2015) Log Message: ----------- Made arguments compatible Modified Paths: -------------- tapirlink/trunk/classes/TpFilterToHtml.php tapirlink/trunk/classes/TpFilterVisitor.php Modified: tapirlink/trunk/classes/TpFilterToHtml.php =================================================================== --- tapirlink/trunk/classes/TpFilterToHtml.php 2015-02-06 15:55:49 UTC (rev 2044) +++ tapirlink/trunk/classes/TpFilterToHtml.php 2015-02-10 02:32:17 UTC (rev 2045) @@ -80,7 +80,7 @@ } // end of member function GetHtml - function VisitLogicalOperator( $lop, $args ) + function VisitLogicalOperator( &$rLop, $args ) { $html = ''; @@ -94,7 +94,7 @@ $lop_name = '?'; - $logical_type = $lop->GetLogicalType(); + $logical_type = $rLop->GetLogicalType(); if ( $logical_type == LOP_AND ) { @@ -124,7 +124,7 @@ $html .= '<br/>'; } - $boolean_operators = $lop->GetBooleanOperators(); + $boolean_operators = $rLop->GetBooleanOperators(); $total = count( $boolean_operators ); @@ -182,7 +182,7 @@ } // end of member function VisitLogicalOperatior - function VisitComparisonOperator( $cop, $args ) + function VisitComparisonOperator( &$rCop, $args ) { $html = "\n"; @@ -190,7 +190,7 @@ $cop_id = $path; - $base_concept = $cop->GetBaseConcept(); + $base_concept = $rCop->GetBaseConcept(); if ( is_object( $base_concept ) ) { @@ -207,12 +207,12 @@ $html .= ' '. TpHtmlUtils::GetCombo( $cop_id, - $cop->GetComparisonType(), + $rCop->GetComparisonType(), $this->_GetOptions( 'cops') ).' '; $value_id = $cop_id . '@val'; - $expressions = $cop->GetExpressions(); + $expressions = $rCop->GetExpressions(); $value = ''; Modified: tapirlink/trunk/classes/TpFilterVisitor.php =================================================================== --- tapirlink/trunk/classes/TpFilterVisitor.php 2015-02-06 15:55:49 UTC (rev 2044) +++ tapirlink/trunk/classes/TpFilterVisitor.php 2015-02-10 02:32:17 UTC (rev 2045) @@ -29,12 +29,12 @@ } // end of member function TpFilterVisitor - function VisitLogicalOperator( $lop, $args ) + function VisitLogicalOperator( &$rLop, $args ) { } // end of member function VisitLogicalOperatior - function VisitComparisonOperator( $cop, $args ) + function VisitComparisonOperator( &$rCop, $args ) { } // end of member function VisitComparisonOperator This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2015-02-06 15:55:57
|
Revision: 2044 http://sourceforge.net/p/digir/svn/2044 Author: rdg Date: 2015-02-06 15:55:49 +0000 (Fri, 06 Feb 2015) Log Message: ----------- New debug message Modified Paths: -------------- tapirlink/trunk/classes/TpSchemaInspector.php Modified: tapirlink/trunk/classes/TpSchemaInspector.php =================================================================== --- tapirlink/trunk/classes/TpSchemaInspector.php 2015-02-06 15:21:16 UTC (rev 2043) +++ tapirlink/trunk/classes/TpSchemaInspector.php 2015-02-06 15:55:49 UTC (rev 2044) @@ -377,6 +377,7 @@ { if ( ! in_array( $path, $this->mRejectedPaths ) ) { + $g_dlog->debug( 'Element '.$path.' marked as rejected for unknown reason (no type?)' ); array_push( $this->mRejectedPaths, $path ); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2015-02-06 15:21:18
|
Revision: 2043 http://sourceforge.net/p/digir/svn/2043 Author: rdg Date: 2015-02-06 15:21:16 +0000 (Fri, 06 Feb 2015) Log Message: ----------- Avoid fatal error in PHP5.5 Modified Paths: -------------- tapirlink/trunk/lib/xpath/XPath.class.php Modified: tapirlink/trunk/lib/xpath/XPath.class.php =================================================================== --- tapirlink/trunk/lib/xpath/XPath.class.php 2014-04-14 14:55:33 UTC (rev 2042) +++ tapirlink/trunk/lib/xpath/XPath.class.php 2015-02-06 15:21:16 UTC (rev 2043) @@ -3747,7 +3747,6 @@ $cacheKey = $step; do { // parse block - $parseBlock = 1; if (isset($aResultsCache[$cacheKey])) { return $aResultsCache[$cacheKey]; @@ -3771,14 +3770,14 @@ $step = '.'; $axis['axis'] = 'self'; $axis['node-test'] = '*'; - break $parseBlock; + break 1; } if ($step == '..') { // Select the parent axis. $axis['axis'] = 'parent'; $axis['node-test'] = '*'; - break $parseBlock; + break 1; } /////////////////////////////////////////////////// @@ -3830,7 +3829,7 @@ if ($step == '*') { // Use the child axis and select all children. $axis['node-test'] = '*'; - break $parseBlock; + break 1; } // ### I'm pretty sure our current handling of cdata is a fudge, and we should @@ -3838,7 +3837,7 @@ if ($step == "text()") { // Handle the text node $axis["node-test"] = "cdata"; - break $parseBlock; + break 1; } // There are a few node tests that we match verbatim. @@ -3847,14 +3846,14 @@ || $step == "text()" || $step == "processing-instruction") { $axis["node-test"] = $step; - break $parseBlock; + break 1; } // processing-instruction() is allowed to take an argument, but if it does, the argument // is a literal, which we will have parsed out to $[number]. if (preg_match(":processing-instruction\(\$\d*\):", $step)) { $axis["node-test"] = $step; - break $parseBlock; + break 1; } // The only remaining way this can be a step, is if the remaining string is a simple name @@ -3882,7 +3881,7 @@ // Not currently recursing $LastFailedStep = ''; $LastFailedContext = ''; - break $parseBlock; + break 1; } // It's not a node then, we must treat it as a PrimaryExpr This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2014-04-14 14:55:36
|
Revision: 2042 http://sourceforge.net/p/digir/svn/2042 Author: rdg Date: 2014-04-14 14:55:33 +0000 (Mon, 14 Apr 2014) Log Message: ----------- Changed output encoding to the same encoding used by the service Modified Paths: -------------- tapirlink/trunk/www/skins/default/capabilities.xsl tapirlink/trunk/www/skins/default/inventory.xsl tapirlink/trunk/www/skins/default/metadata.xsl tapirlink/trunk/www/skins/default/search.xsl Modified: tapirlink/trunk/www/skins/default/capabilities.xsl =================================================================== --- tapirlink/trunk/www/skins/default/capabilities.xsl 2014-04-14 14:53:46 UTC (rev 2041) +++ tapirlink/trunk/www/skins/default/capabilities.xsl 2014-04-14 14:55:33 UTC (rev 2042) @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tapir="http://rs.tdwg.org/tapir/1.0" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> Modified: tapirlink/trunk/www/skins/default/inventory.xsl =================================================================== --- tapirlink/trunk/www/skins/default/inventory.xsl 2014-04-14 14:53:46 UTC (rev 2041) +++ tapirlink/trunk/www/skins/default/inventory.xsl 2014-04-14 14:55:33 UTC (rev 2042) @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tapir="http://rs.tdwg.org/tapir/1.0" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> Modified: tapirlink/trunk/www/skins/default/metadata.xsl =================================================================== --- tapirlink/trunk/www/skins/default/metadata.xsl 2014-04-14 14:53:46 UTC (rev 2041) +++ tapirlink/trunk/www/skins/default/metadata.xsl 2014-04-14 14:55:33 UTC (rev 2042) @@ -7,7 +7,7 @@ xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> Modified: tapirlink/trunk/www/skins/default/search.xsl =================================================================== --- tapirlink/trunk/www/skins/default/search.xsl 2014-04-14 14:53:46 UTC (rev 2041) +++ tapirlink/trunk/www/skins/default/search.xsl 2014-04-14 14:55:33 UTC (rev 2042) @@ -4,7 +4,7 @@ xmlns:tapir="http://rs.tdwg.org/tapir/1.0" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin" xmlns:x="http://tapirlink/model/search/default"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2014-04-14 14:53:51
|
Revision: 2041 http://sourceforge.net/p/digir/svn/2041 Author: rdg Date: 2014-04-14 14:53:46 +0000 (Mon, 14 Apr 2014) Log Message: ----------- Changed output encoding to the same encoding used by the service Modified Paths: -------------- tapirlink/trunk/www/skins/darwin/capabilities.xsl tapirlink/trunk/www/skins/darwin/inventory.xsl tapirlink/trunk/www/skins/darwin/metadata.xsl tapirlink/trunk/www/skins/darwin/search.xsl Modified: tapirlink/trunk/www/skins/darwin/capabilities.xsl =================================================================== --- tapirlink/trunk/www/skins/darwin/capabilities.xsl 2014-02-05 13:01:27 UTC (rev 2040) +++ tapirlink/trunk/www/skins/darwin/capabilities.xsl 2014-04-14 14:53:46 UTC (rev 2041) @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tapir="http://rs.tdwg.org/tapir/1.0" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> Modified: tapirlink/trunk/www/skins/darwin/inventory.xsl =================================================================== --- tapirlink/trunk/www/skins/darwin/inventory.xsl 2014-02-05 13:01:27 UTC (rev 2040) +++ tapirlink/trunk/www/skins/darwin/inventory.xsl 2014-04-14 14:53:46 UTC (rev 2041) @@ -3,7 +3,7 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tapir="http://rs.tdwg.org/tapir/1.0" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> Modified: tapirlink/trunk/www/skins/darwin/metadata.xsl =================================================================== --- tapirlink/trunk/www/skins/darwin/metadata.xsl 2014-02-05 13:01:27 UTC (rev 2040) +++ tapirlink/trunk/www/skins/darwin/metadata.xsl 2014-04-14 14:53:46 UTC (rev 2041) @@ -7,7 +7,7 @@ xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> Modified: tapirlink/trunk/www/skins/darwin/search.xsl =================================================================== --- tapirlink/trunk/www/skins/darwin/search.xsl 2014-02-05 13:01:27 UTC (rev 2040) +++ tapirlink/trunk/www/skins/darwin/search.xsl 2014-04-14 14:53:46 UTC (rev 2041) @@ -4,7 +4,7 @@ xmlns:tapir="http://rs.tdwg.org/tapir/1.0" xmlns:x="http://tapirlink/model/search/default" xmlns:skin="http://rs.tdwg.org/tapir/1.0/skin"> -<xsl:output method="html" encoding="us-ascii"/> +<xsl:output method="html" encoding="utf-8"/> <xsl:template match="/"> <xsl:variable name="accesspoint" select="tapir:response/tapir:header/tapir:source/@accesspoint" /> <xsl:variable name="base-url" select="substring-before($accesspoint, 'tapir.php')" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2014-02-05 13:01:30
|
Revision: 2040 http://sourceforge.net/p/digir/svn/2040 Author: rdg Date: 2014-02-05 13:01:27 +0000 (Wed, 05 Feb 2014) Log Message: ----------- New code for time profiling on search operations Modified Paths: -------------- tapirlink/trunk/classes/TpDiagnostics.php tapirlink/trunk/classes/TpResponse.php tapirlink/trunk/classes/TpSearchResponse.php tapirlink/trunk/www/localconfig_dist.php tapirlink/trunk/www/tapir.php tapirlink/trunk/www/tapir_globals.php Modified: tapirlink/trunk/classes/TpDiagnostics.php =================================================================== --- tapirlink/trunk/classes/TpDiagnostics.php 2013-11-11 16:37:32 UTC (rev 2039) +++ tapirlink/trunk/classes/TpDiagnostics.php 2014-02-05 13:01:27 UTC (rev 2040) @@ -143,7 +143,7 @@ if ( _DEBUG ) { - $duration = sprintf( '%0.4f', TpUtils::MicrotimeFloat()-INITIAL_TIMESTAMP ); + $duration = sprintf( 'Total elapsed time: %0.4f', TpUtils::MicrotimeFloat()-INITIAL_TIMESTAMP ); TpDiagnostics::Append( DC_DURATION, $duration, DIAG_INFO ); if ( function_exists( 'memory_get_peak_usage' ) ) Modified: tapirlink/trunk/classes/TpResponse.php =================================================================== --- tapirlink/trunk/classes/TpResponse.php 2013-11-11 16:37:32 UTC (rev 2039) +++ tapirlink/trunk/classes/TpResponse.php 2014-02-05 13:01:27 UTC (rev 2040) @@ -67,6 +67,8 @@ function Process() { + $start_time = ( TP_ENABLE_PROFILING ) ? TpUtils::MicrotimeFloat() : 0; + // In some cases it is necessary to replace headers (see "header" call // inside TpXmlGenerator), so avoid echoing content straight away. ob_start(); @@ -106,6 +108,8 @@ // Header should be always dynamic, leave it out from cache $this->Header(); + $start_time = $this->_AddDuration( $start_time, 'Header' ); + if ( $this->mCacheable and TP_USE_CACHE and $this->mCacheLife ) { $g_dlog->debug( 'Response cache is activated' ); @@ -131,11 +135,15 @@ $log_data = $this->_GetLogData(); $this->Log( $log_data ); + + $start_time = $this->_AddDuration( $start_time, 'Cached response' ); } else { $this->Body(); + $start_time = ( TP_ENABLE_PROFILING ) ? TpUtils::MicrotimeFloat() : 0; + // Note: better to place logging after Body() so that the SQL can // also be logged. $log_data = $this->_GetLogData(); @@ -143,6 +151,8 @@ $this->Log( $log_data ); $this->Footer(); + + $start_time = $this->_AddDuration( $start_time, 'Log and footer' ); } } @@ -181,6 +191,8 @@ $LogStruct->Initialize( $log_data ); $LogStruct->WriteRequestResult( $stats_log ); + + $start_time = $this->_AddDuration( $start_time, 'Statistics' ); } ob_end_flush(); @@ -429,5 +441,19 @@ } // end of member function _GetLogData + function _AddDuration( $start, $msg ) + { + if ( TP_ENABLE_PROFILING ) + { + $end = TpUtils::MicrotimeFloat(); + $duration = sprintf( '%s: %0.4f', $msg, $end-$start ); + TpDiagnostics::Append( DC_DURATION, $duration, DIAG_INFO ); + return $end; + } + + return 0; + + } // end of member function _AddDuration + } // end of TpResponse ?> \ No newline at end of file Modified: tapirlink/trunk/classes/TpSearchResponse.php =================================================================== --- tapirlink/trunk/classes/TpSearchResponse.php 2013-11-11 16:37:32 UTC (rev 2039) +++ tapirlink/trunk/classes/TpSearchResponse.php 2014-02-05 13:01:27 UTC (rev 2040) @@ -67,6 +67,8 @@ function Body() { + $start_time = ( TP_ENABLE_PROFILING ) ? TpUtils::MicrotimeFloat() : 0; + global $g_dlog; $g_dlog->debug( '[Search Body]' ); @@ -101,6 +103,8 @@ $max_levels = $r_settings->GetMaxElementLevels(); + $start_time = $this->_AddDuration( $start_time, 'Search config' ); + // Output model $r_output_model =& $parameters->GetOutputModel(); @@ -208,6 +212,8 @@ return; } + $start_time = $this->_AddDuration( $start_time, 'Output model setup' ); + // Prepare SQL builder $g_dlog->debug( '--------------' ); @@ -322,6 +328,8 @@ $sql_builder->AddRecordSource( $r_tables->GetStructure() ); + $start_time = $this->_AddDuration( $start_time, 'SQL builder' ); + // DB connection if ( ! $r_data_source->Validate() ) @@ -334,6 +342,8 @@ $db_encoding = $r_data_source->GetEncoding(); + $start_time = $this->_AddDuration( $start_time, 'DB connection' ); + // Filter $filter = $parameters->GetFilter(); @@ -417,6 +427,8 @@ $limit = $max_repetitions; } + $start_time = $this->_AddDuration( $start_time, 'Filter' ); + // Count total matched records, if requested $matched = 0; @@ -497,6 +509,8 @@ $g_dlog->debug( 'Caching count SQL: '.$matched ); } } + + $start_time = $this->_AddDuration( $start_time, 'Record count' ); } // Retrieve records @@ -507,8 +521,14 @@ $encoded_sql = TpServiceUtils::EncodeSql( $this->mMainSql, $db_encoding ); + $this->_AddDuration( $start_time, 'Search query setup' ); + + $start_time = ( TP_ENABLE_PROFILING ) ? TpUtils::MicrotimeFloat() : 0; + $result_set =& $cn->SelectLimit( $encoded_sql, $limit+1, $start ); + $start_time = $this->_AddDuration( $start_time, 'Search query' ); + if ( ! is_object( $result_set ) ) { $err = $cn->ErrorMsg(); @@ -556,6 +576,8 @@ echo $main_content; + $start_time = $this->_AddDuration( $start_time, 'Search XML output' ); + // Search Summary if ( $this->mRequest->GetEnvelope() ) @@ -581,6 +603,8 @@ echo ' />'; echo "\n</search>"; + + $start_time = $this->_AddDuration( $start_time, 'Search XML summary' ); } $result_set->Close(); Modified: tapirlink/trunk/www/localconfig_dist.php =================================================================== --- tapirlink/trunk/www/localconfig_dist.php 2013-11-11 16:37:32 UTC (rev 2039) +++ tapirlink/trunk/www/localconfig_dist.php 2014-02-05 13:01:27 UTC (rev 2040) @@ -83,6 +83,12 @@ //define('_DEBUG', true); /** +* Set this true to enable profiling. This will ouput messages about +* durations of the main tasks (search operations only). +*/ +//define('TP_ENABLE_PROFILING', true); + +/** * Set to true if you want to store detailed debugging information in a separate file */ //define('TP_LOG_DEBUG', true); Modified: tapirlink/trunk/www/tapir.php =================================================================== --- tapirlink/trunk/www/tapir.php 2013-11-11 16:37:32 UTC (rev 2039) +++ tapirlink/trunk/www/tapir.php 2014-02-05 13:01:27 UTC (rev 2040) @@ -232,6 +232,12 @@ die(); } +if ( TP_ENABLE_PROFILING ) +{ + $duration = sprintf( 'Initial setup: %0.4f', TpUtils::MicrotimeFloat()-INITIAL_TIMESTAMP ); + TpDiagnostics::Append( DC_DURATION, $duration, DIAG_INFO ); +} + $response->Process(); exit(); Modified: tapirlink/trunk/www/tapir_globals.php =================================================================== --- tapirlink/trunk/www/tapir_globals.php 2013-11-11 16:37:32 UTC (rev 2039) +++ tapirlink/trunk/www/tapir_globals.php 2014-02-05 13:01:27 UTC (rev 2040) @@ -79,6 +79,11 @@ define( 'TP_WWW_DIR', $root_dir ); } +if ( ! defined( 'TP_ENABLE_PROFILING' ) ) +{ + define( 'TP_ENABLE_PROFILING', false ); +} + // The full path to the directory used to contain configuration. if ( ! defined( 'TP_CONFIG_DIR' ) ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2013-11-11 16:37:35
|
Revision: 2039 http://sourceforge.net/p/digir/svn/2039 Author: rdg Date: 2013-11-11 16:37:32 +0000 (Mon, 11 Nov 2013) Log Message: ----------- Fixed bug with local filter, which was not properly enclosing the SQL condition when combining it with another filter Modified Paths: -------------- tapirlink/trunk/ChangeLog.txt tapirlink/trunk/classes/TpLocalFilter.php Modified: tapirlink/trunk/ChangeLog.txt =================================================================== --- tapirlink/trunk/ChangeLog.txt 2013-03-19 10:57:10 UTC (rev 2038) +++ tapirlink/trunk/ChangeLog.txt 2013-11-11 16:37:32 UTC (rev 2039) @@ -5,6 +5,8 @@ * Upgraded PHP ADOdb version to 516a. * Fixed bug in search operation (multiple orderby parameters were not handled properly). + * Fixed bug with local filter, which was not properly enclosing the SQL + condition when combining it with another filter. Release 0.7.1 (2010-09-14) -------------------------- Modified: tapirlink/trunk/classes/TpLocalFilter.php =================================================================== --- tapirlink/trunk/classes/TpLocalFilter.php 2013-03-19 10:57:10 UTC (rev 2038) +++ tapirlink/trunk/classes/TpLocalFilter.php 2013-11-11 16:37:32 UTC (rev 2039) @@ -141,7 +141,14 @@ function GetSql( &$rResource ) { - return $this->mFilter->GetSql( $rResource ); + $sql = $this->mFilter->GetSql( $rResource ); + + if ( $this->IsEmpty() ) + { + return $sql; + } + + return '(' . $sql . ')'; } // end of member function GetSql This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2013-03-19 10:57:16
|
Revision: 2038 http://digir.svn.sourceforge.net/digir/?rev=2038&view=rev Author: rdg Date: 2013-03-19 10:57:10 +0000 (Tue, 19 Mar 2013) Log Message: ----------- Replaced deprecated function Modified Paths: -------------- tapirlink/trunk/classes/TpFilter.php Modified: tapirlink/trunk/classes/TpFilter.php =================================================================== --- tapirlink/trunk/classes/TpFilter.php 2012-08-22 06:11:48 UTC (rev 2037) +++ tapirlink/trunk/classes/TpFilter.php 2013-03-19 10:57:10 UTC (rev 2038) @@ -202,7 +202,7 @@ { $last_string = ''; - foreach ( split( ' ', $part ) as $token ) + foreach ( explode( ' ', $part ) as $token ) { $add_string = ''; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2012-08-22 06:11:54
|
Revision: 2037 http://digir.svn.sourceforge.net/digir/?rev=2037&view=rev Author: rdg Date: 2012-08-22 06:11:48 +0000 (Wed, 22 Aug 2012) Log Message: ----------- Updated changelog Modified Paths: -------------- tapirlink/trunk/ChangeLog.txt Modified: tapirlink/trunk/ChangeLog.txt =================================================================== --- tapirlink/trunk/ChangeLog.txt 2012-08-22 06:07:28 UTC (rev 2036) +++ tapirlink/trunk/ChangeLog.txt 2012-08-22 06:11:48 UTC (rev 2037) @@ -1,3 +1,11 @@ +Release 0.7.2 (?) +----------------- +(revision ?) + + * Upgraded PHP ADOdb version to 516a. + * Fixed bug in search operation (multiple orderby parameters were not handled + properly). + Release 0.7.1 (2010-09-14) -------------------------- (revision 2027) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2012-08-22 06:07:34
|
Revision: 2036 http://digir.svn.sourceforge.net/digir/?rev=2036&view=rev Author: rdg Date: 2012-08-22 06:07:28 +0000 (Wed, 22 Aug 2012) Log Message: ----------- HTTP parameters must be case insensitive Modified Paths: -------------- tapirlink/trunk/classes/TpOperationParameters.php Modified: tapirlink/trunk/classes/TpOperationParameters.php =================================================================== --- tapirlink/trunk/classes/TpOperationParameters.php 2012-08-22 05:53:27 UTC (rev 2035) +++ tapirlink/trunk/classes/TpOperationParameters.php 2012-08-22 06:07:28 UTC (rev 2036) @@ -257,6 +257,8 @@ if ( !empty($i) ) { list($name, $value) = explode('=', $i, 2); + + $name = strtolower( $name ); if ( isset($arr[$name]) ) { @@ -278,6 +280,8 @@ foreach ( $_POST as $key => $value ) { + $key = strtolower( $key ); + if ( is_array($arr[$key]) ) { $_POST[$key] = $arr[$key]; @@ -287,6 +291,8 @@ foreach ( $_GET as $key => $value ) { + $key = strtolower( $key ); + if ( is_array($arr[$key]) ) { $_GET[$key] = $arr[$key]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2012-08-22 05:53:33
|
Revision: 2035 http://digir.svn.sourceforge.net/digir/?rev=2035&view=rev Author: rdg Date: 2012-08-22 05:53:27 +0000 (Wed, 22 Aug 2012) Log Message: ----------- Fixed bug in code commited today Modified Paths: -------------- tapirlink/trunk/classes/TpOperationParameters.php Modified: tapirlink/trunk/classes/TpOperationParameters.php =================================================================== --- tapirlink/trunk/classes/TpOperationParameters.php 2012-08-21 21:03:07 UTC (rev 2034) +++ tapirlink/trunk/classes/TpOperationParameters.php 2012-08-22 05:53:27 UTC (rev 2035) @@ -248,7 +248,7 @@ } $raw = !empty($_SERVER['QUERY_STRING']) ? sprintf('%s&%s', $_SERVER['QUERY_STRING'], $post) : $post; - + $arr = array(); $pairs = explode('&', $raw); @@ -280,8 +280,8 @@ { if ( is_array($arr[$key]) ) { - $_POST[$key] = $arr[$name]; - $_REQUEST[$key] = $arr[$name]; + $_POST[$key] = $arr[$key]; + $_REQUEST[$key] = $arr[$key]; } } @@ -289,8 +289,8 @@ { if ( is_array($arr[$key]) ) { - $_GET[$key] = $arr[$name]; - $_REQUEST[$key] = $arr[$name]; + $_GET[$key] = $arr[$key]; + $_REQUEST[$key] = $arr[$key]; } } @@ -311,4 +311,4 @@ } // end of member function __sleep } // end of TpOperationParameters -?> \ No newline at end of file +?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2012-08-21 21:03:18
|
Revision: 2034 http://digir.svn.sourceforge.net/digir/?rev=2034&view=rev Author: rdg Date: 2012-08-21 21:03:07 +0000 (Tue, 21 Aug 2012) Log Message: ----------- Fixed bug in search operation when more than one KVP orderby parameter is passed. Also replaced the function that converts multiple parameters with the same name into arrays. Modified Paths: -------------- tapirlink/trunk/classes/TpInventoryParameters.php tapirlink/trunk/classes/TpOperationParameters.php tapirlink/trunk/classes/TpSearchParameters.php Modified: tapirlink/trunk/classes/TpInventoryParameters.php =================================================================== --- tapirlink/trunk/classes/TpInventoryParameters.php 2012-03-28 21:54:09 UTC (rev 2033) +++ tapirlink/trunk/classes/TpInventoryParameters.php 2012-08-21 21:03:07 UTC (rev 2034) @@ -36,27 +36,25 @@ function LoadKvpParameters() { - // Since there can be multiple parameters with the same name - // (concept and tagname) we need a custom HTTP query string parser - $parameters = $this->_ParseQueryString(); + parent::LoadKvpParameters(); // Concepts - if ( isset( $parameters['concept'] ) ) + if ( isset( $_REQUEST['concept'] ) ) { - $concept = $parameters['concept']; + $concept = $_REQUEST['concept']; } - else if ( isset( $parameters['c'] ) ) + else if ( isset( $_REQUEST['c'] ) ) { - $concept = $parameters['c']; + $concept = $_REQUEST['c']; } - if ( isset( $parameters['tagname'] ) ) + if ( isset( $_REQUEST['tagname'] ) ) { - $tag_name = $parameters['tagname']; + $tag_name = $_REQUEST['tagname']; } - else if ( isset( $parameters['n'] ) ) + else if ( isset( $_REQUEST['n'] ) ) { - $tag_name = $parameters['n']; + $tag_name = $_REQUEST['n']; } if ( isset( $concept ) ) @@ -92,67 +90,10 @@ } } - return parent::LoadKvpParameters(); + return true; } // end of member function LoadKvpParameters - function _ParseQueryString( ) - { - $parameters = array(); - - // See if there is any raw post - $raw_post = ''; - - if ( $fp = fopen( 'php://input', 'r' ) ) - { - while ( $data = fread( $fp, 4096 ) ) - { - $raw_post .= $data; - } - - fclose( $fp ); - } - else - { - // TODO: raise an error here! - } - - // Concatenate with query string and raw post before spliting - $raw_input_items = split( '&', $_SERVER['QUERY_STRING'] . '&' . $raw_post ); - - foreach ( $raw_input_items as $input_item ) - { - // split into name/value pair - if ( $input_item != '' ) - { - $item = split( '=', $input_item ); - - $key = urldecode( $item[0] ); - - $value = ( empty( $item[1] ) ) ? '' : urldecode( $item[1] ); - - if ( ! isset( $parameters[$key] ) ) - { - $parameters[$key] = $value; - } - elseif ( ! is_array( $parameters[$key] ) ) - { - $first = $parameters[$key]; - $parameters[$key] = array(); - $parameters[$key][]= $first; - $parameters[$key][]= $value; - } - else - { - $parameters[$key][]= $value; - } - } - } - - return $parameters; - - } // end of member function _ParseQueryString - function StartElement( $parser, $qualified_name, $attrs ) { $name = TpUtils::GetUnqualifiedName( $qualified_name ); Modified: tapirlink/trunk/classes/TpOperationParameters.php =================================================================== --- tapirlink/trunk/classes/TpOperationParameters.php 2012-03-28 21:54:09 UTC (rev 2033) +++ tapirlink/trunk/classes/TpOperationParameters.php 2012-08-21 21:03:07 UTC (rev 2034) @@ -53,6 +53,10 @@ function LoadKvpParameters() { + // Since there can be multiple parameters with the same name + // (concept and tagname) we need a custom HTTP query string parser + $this->_FixRawQuery(); + // Filter if ( isset( $_REQUEST['filter'] ) ) { @@ -198,6 +202,104 @@ } // end of member function GetFilter /** + * Converts HTTP variables into an array when more than one parameter with + * the same name is passed. Deliberately taken from: + * http://www.php.net/manual/en/reserved.variables.get.php#92439 + */ + function _FixRawQuery( ) { + + $post = ''; + + // Try globals array + if ( !$post && isset($_GLOBALS) && isset($_GLOBALS["HTTP_RAW_POST_DATA"]) ) + { + $post = $_GLOBALS["HTTP_RAW_POST_DATA"]; + } + + // Try globals variable + if ( !$post && isset($HTTP_RAW_POST_DATA) ) + { + $post = $HTTP_RAW_POST_DATA; + } + + // Try stream + if ( !$post ) + { + if ( !function_exists('file_get_contents') ) + { + $fp = fopen("php://input", "r"); + + if ( $fp ) + { + $post = ''; + + while ( !feof($fp) ) + { + $post = fread($fp, 1024); + } + + fclose($fp); + } + } + else + { + $post = "" . file_get_contents("php://input"); + } + } + + $raw = !empty($_SERVER['QUERY_STRING']) ? sprintf('%s&%s', $_SERVER['QUERY_STRING'], $post) : $post; + + $arr = array(); + $pairs = explode('&', $raw); + + foreach ( $pairs as $i ) + { + if ( !empty($i) ) + { + list($name, $value) = explode('=', $i, 2); + + if ( isset($arr[$name]) ) + { + if ( is_array($arr[$name]) ) + { + $arr[$name][] = $value; + } + else + { + $arr[$name] = array($arr[$name], $value); + } + } + else + { + $arr[$name] = $value; + } + } + } + + foreach ( $_POST as $key => $value ) + { + if ( is_array($arr[$key]) ) + { + $_POST[$key] = $arr[$name]; + $_REQUEST[$key] = $arr[$name]; + } + } + + foreach ( $_GET as $key => $value ) + { + if ( is_array($arr[$key]) ) + { + $_GET[$key] = $arr[$name]; + $_REQUEST[$key] = $arr[$name]; + } + } + + # optionally return result array + return $arr; + + } // end of member function _FixRawQuery + + /** * Internal method called before serialization * * @return array Properties that should be considered during serialization Modified: tapirlink/trunk/classes/TpSearchParameters.php =================================================================== --- tapirlink/trunk/classes/TpSearchParameters.php 2012-03-28 21:54:09 UTC (rev 2033) +++ tapirlink/trunk/classes/TpSearchParameters.php 2012-08-21 21:03:07 UTC (rev 2034) @@ -54,6 +54,8 @@ function LoadKvpParameters() { + parent::LoadKvpParameters(); + // Output model if ( isset( $_REQUEST['model'] ) ) { @@ -152,7 +154,7 @@ } } - return parent::LoadKvpParameters(); + return true; } // end of member function LoadKvpParameters This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2012-03-28 21:54:15
|
Revision: 2033 http://digir.svn.sourceforge.net/digir/?rev=2033&view=rev Author: rdg Date: 2012-03-28 21:54:09 +0000 (Wed, 28 Mar 2012) Log Message: ----------- Minimum PHP version is now 5.0.3 Modified Paths: -------------- tapirlink/trunk/www/tapir.php tapirlink/trunk/www/tapir_globals.php Modified: tapirlink/trunk/www/tapir.php =================================================================== --- tapirlink/trunk/www/tapir.php 2012-03-28 21:51:19 UTC (rev 2032) +++ tapirlink/trunk/www/tapir.php 2012-03-28 21:54:09 UTC (rev 2033) @@ -178,20 +178,7 @@ TpDiagnostics::Append( DC_VERSION_MISMATCH, $msg, DIAG_WARN ); } } -else if ( version_compare( $current_version, '6.0', '<' ) > 0 ) -{ - if ( version_compare( $current_version, '5.0.3', '<' ) > 0 ) - { - // Avoid bug in "xml_set_start_namespace_decl_handler" - $msg = 'Provider error: Unsupported PHP version ('.$current_version.'). To '. - 'use PHP5 it is necessary to have at least version 5.0.3'; - $response = new TpResponse( $request ); - $response->ReturnError( $msg ); - die(); - } -} - // Get parameters if ( ! $request->InitializeParameters() or TpDiagnostics::Count( array( DIAG_ERROR, DIAG_FATAL ) ) ) Modified: tapirlink/trunk/www/tapir_globals.php =================================================================== --- tapirlink/trunk/www/tapir_globals.php 2012-03-28 21:51:19 UTC (rev 2032) +++ tapirlink/trunk/www/tapir_globals.php 2012-03-28 21:54:09 UTC (rev 2033) @@ -584,9 +584,9 @@ // Nothing to change past here ///////////////////////////////////////////////////////////////////////////// -define( 'TP_MIN_PHP_VERSION', '4.2.3' ); +define( 'TP_MIN_PHP_VERSION', '5.0.3' ); -define( 'TP_VERSION', '0.7.1' ); +define( 'TP_VERSION', '0.7.2' ); $revision = '$Revision$.'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2011-02-25 18:50:14
|
Revision: 2031 http://digir.svn.sourceforge.net/digir/?rev=2031&view=rev Author: rdg Date: 2011-02-25 18:50:08 +0000 (Fri, 25 Feb 2011) Log Message: ----------- Moved code to correct place. Modified Paths: -------------- tapirlink/trunk/classes/TpUtils.php Modified: tapirlink/trunk/classes/TpUtils.php =================================================================== --- tapirlink/trunk/classes/TpUtils.php 2011-02-25 18:42:14 UTC (rev 2030) +++ tapirlink/trunk/classes/TpUtils.php 2011-02-25 18:50:08 UTC (rev 2031) @@ -24,6 +24,17 @@ require_once(dirname(__FILE__).'/TpDiagnostics.php'); +// Workaround to get clone working in older PHP versions +// For more details, see: http://acko.net/node/54 +if ( version_compare( phpversion(), '5.0' ) < 0 ) { + + eval(' + function clone( $object ) { + return $object; + } + '); +} + class TpUtils { /** Format the output of debug_backtrace in a human friendly fashion. @@ -892,15 +903,5 @@ } // end of FixAdodbColumnsArray - // Workaround to get clone working in older PHP versions - // For more details, see: http://acko.net/node/54 - if ( version_compare( phpversion(), '5.0' ) < 0 ) { - - eval(' - function clone( $object ) { - return $object; - } - '); - } } // end of TpUtils ?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2011-02-25 18:42:20
|
Revision: 2030 http://digir.svn.sourceforge.net/digir/?rev=2030&view=rev Author: rdg Date: 2011-02-25 18:42:14 +0000 (Fri, 25 Feb 2011) Log Message: ----------- Workaround to get clone working in older PHP versions. Modified Paths: -------------- tapirlink/trunk/classes/TpMappingForm.php tapirlink/trunk/classes/TpUtils.php Modified: tapirlink/trunk/classes/TpMappingForm.php =================================================================== --- tapirlink/trunk/classes/TpMappingForm.php 2011-02-17 20:49:38 UTC (rev 2029) +++ tapirlink/trunk/classes/TpMappingForm.php 2011-02-25 18:42:14 UTC (rev 2030) @@ -437,14 +437,7 @@ // Refresh mappings // Create copy of local mapping to avoid messing with iterators - if ( version_compare( phpversion(), '5.0.0', '<' ) > 0 ) - { - $this->mLocalMappingCopy = $this->mResource->GetLocalMapping(); - } - else - { - $this->mLocalMappingCopy = clone $this->mResource->GetLocalMapping(); - } + $this->mLocalMappingCopy = clone( $this->mResource->GetLocalMapping() ); $r_mapped_schemas =& $r_local_mapping->GetMappedSchemas(); Modified: tapirlink/trunk/classes/TpUtils.php =================================================================== --- tapirlink/trunk/classes/TpUtils.php 2011-02-17 20:49:38 UTC (rev 2029) +++ tapirlink/trunk/classes/TpUtils.php 2011-02-25 18:42:14 UTC (rev 2030) @@ -892,5 +892,15 @@ } // end of FixAdodbColumnsArray + // Workaround to get clone working in older PHP versions + // For more details, see: http://acko.net/node/54 + if ( version_compare( phpversion(), '5.0' ) < 0 ) { + + eval(' + function clone( $object ) { + return $object; + } + '); + } } // end of TpUtils ?> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2011-02-17 20:49:44
|
Revision: 2029 http://digir.svn.sourceforge.net/digir/?rev=2029&view=rev Author: rdg Date: 2011-02-17 20:49:38 +0000 (Thu, 17 Feb 2011) Log Message: ----------- Avoid bug in PHP >= 5.2 Modified Paths: -------------- tapirlink/trunk/lib/pear/Cache/Function.php Modified: tapirlink/trunk/lib/pear/Cache/Function.php =================================================================== --- tapirlink/trunk/lib/pear/Cache/Function.php 2011-02-02 16:24:44 UTC (rev 2028) +++ tapirlink/trunk/lib/pear/Cache/Function.php 2011-02-17 20:49:38 UTC (rev 2029) @@ -106,6 +106,11 @@ function call() { // get arguments $arguments = func_get_args(); + // Avoid bug in PHP >= 5.2 + $numargs = func_num_args(); + for($i=1; $i < $numargs; $i++){ + $arguments[$i] = &$arguments[$i]; + } // generate cache id $id = md5(serialize($arguments)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2011-02-02 16:24:50
|
Revision: 2028 http://digir.svn.sourceforge.net/digir/?rev=2028&view=rev Author: rdg Date: 2011-02-02 16:24:44 +0000 (Wed, 02 Feb 2011) Log Message: ----------- Fixed crash when a literal in a kvp filter is not delimited by double quotes. Modified Paths: -------------- tapirlink/trunk/classes/TpComparisonOperator.php tapirlink/trunk/classes/TpInventoryParameters.php tapirlink/trunk/classes/TpInventoryResponse.php Modified: tapirlink/trunk/classes/TpComparisonOperator.php =================================================================== --- tapirlink/trunk/classes/TpComparisonOperator.php 2010-09-15 00:51:15 UTC (rev 2027) +++ tapirlink/trunk/classes/TpComparisonOperator.php 2011-02-02 16:24:44 UTC (rev 2028) @@ -107,8 +107,16 @@ $concept = $r_local_mapping->GetConcept( $concept_id ); - if ( $concept == null or ! $concept->IsMapped() ) + if ( is_null( $concept ) ) { + $msg = 'Unknown concept "'.$concept_id.'"'; + + TpDiagnostics::Append( DC_UNMAPPED_CONCEPT, $msg, DIAG_ERROR ); + + return 'FALSE'; + } + else if ( ! $concept->IsMapped() ) + { // Don't raise error here. If the expression is a missing // parameter then the comparison should be simply discarded Modified: tapirlink/trunk/classes/TpInventoryParameters.php =================================================================== --- tapirlink/trunk/classes/TpInventoryParameters.php 2010-09-15 00:51:15 UTC (rev 2027) +++ tapirlink/trunk/classes/TpInventoryParameters.php 2011-02-02 16:24:44 UTC (rev 2028) @@ -21,7 +21,6 @@ */ require_once('TpOperationParameters.php'); -require_once('TpFilter.php'); class TpInventoryParameters extends TpOperationParameters { Modified: tapirlink/trunk/classes/TpInventoryResponse.php =================================================================== --- tapirlink/trunk/classes/TpInventoryResponse.php 2010-09-15 00:51:15 UTC (rev 2027) +++ tapirlink/trunk/classes/TpInventoryResponse.php 2011-02-02 16:24:44 UTC (rev 2028) @@ -45,6 +45,8 @@ { global $g_dlog; + $g_dlog->debug( 'Processing inventory' ); + $inventory_parameters = $this->mRequest->GetOperationParameters(); if ( ! is_object( $inventory_parameters ) ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2010-09-15 00:51:21
|
Revision: 2027 http://digir.svn.sourceforge.net/digir/?rev=2027&view=rev Author: rdg Date: 2010-09-15 00:51:15 +0000 (Wed, 15 Sep 2010) Log Message: ----------- Updated version number. Modified Paths: -------------- tapirlink/trunk/ChangeLog.txt tapirlink/trunk/make_release.sh tapirlink/trunk/www/tapir_globals.php Modified: tapirlink/trunk/ChangeLog.txt =================================================================== --- tapirlink/trunk/ChangeLog.txt 2010-09-15 00:47:04 UTC (rev 2026) +++ tapirlink/trunk/ChangeLog.txt 2010-09-15 00:51:15 UTC (rev 2027) @@ -1,6 +1,6 @@ Release 0.7.1 (2010-09-14) -------------------------- -(revision 2026) +(revision 2027) * Resources can now be configured to reject custom output models. * Concepts are now automatically mapped by default. Modified: tapirlink/trunk/make_release.sh =================================================================== --- tapirlink/trunk/make_release.sh 2010-09-15 00:47:04 UTC (rev 2026) +++ tapirlink/trunk/make_release.sh 2010-09-15 00:51:15 UTC (rev 2027) @@ -34,7 +34,7 @@ TARNAME=TapirLink-$TP_VERSION.tar.gz -tar --create --file $TARNAME --verbose --gzip --exclude=localconfig.php --exclude=.svn --exclude=darwin.xsl --exclude=darwin.xsd --exclude=darwin.xml --exclude=darwin.xml.bak --exclude=darwin.php --exclude=resources.tbl.lock --exclude=schema.tbl.lock --exclude=test_filter.php README.txt AUTHORS.txt INSTALL.txt COPYING.txt ChangeLog.txt www/ lib/ classes/ templates/ admin/ config/schemas.xml config/lsid_settings.xml.tmpl log/ cache/ stats/ statistics/ +tar --create --file $TARNAME --verbose --gzip --exclude=localconfig.php --exclude=.svn --exclude=darwin.xsl --exclude=darwin.xsd --exclude=darwin.xml --exclude=darwin.xml.bak --exclude=darwin.php --exclude=resources.tbl.lock --exclude=schema.tbl.lock --exclude=test_filter.php --exclude=TODO.txt --exclude=CLONE.txt README.txt AUTHORS.txt INSTALL.txt COPYING.txt ChangeLog.txt www/ lib/ classes/ templates/ admin/ config/schemas.xml config/lsid_settings.xml.tmpl log/ cache/ stats/ statistics/ # Untar in a temporary directory DIRNAME=tapirlink-$TP_VERSION Modified: tapirlink/trunk/www/tapir_globals.php =================================================================== --- tapirlink/trunk/www/tapir_globals.php 2010-09-15 00:47:04 UTC (rev 2026) +++ tapirlink/trunk/www/tapir_globals.php 2010-09-15 00:51:15 UTC (rev 2027) @@ -586,7 +586,7 @@ define( 'TP_MIN_PHP_VERSION', '4.2.3' ); -define( 'TP_VERSION', '0.7.0' ); +define( 'TP_VERSION', '0.7.1' ); $revision = '$Revision$.'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2010-09-15 00:47:11
|
Revision: 2026 http://digir.svn.sourceforge.net/digir/?rev=2026&view=rev Author: rdg Date: 2010-09-15 00:47:04 +0000 (Wed, 15 Sep 2010) Log Message: ----------- Minor updates in the readme file. Modified Paths: -------------- tapirlink/trunk/ChangeLog.txt tapirlink/trunk/README.txt Modified: tapirlink/trunk/ChangeLog.txt =================================================================== --- tapirlink/trunk/ChangeLog.txt 2010-09-12 20:02:03 UTC (rev 2025) +++ tapirlink/trunk/ChangeLog.txt 2010-09-15 00:47:04 UTC (rev 2026) @@ -1,6 +1,6 @@ -Release 0.7.1 () +Release 0.7.1 (2010-09-14) -------------------------- -(revision ) +(revision 2026) * Resources can now be configured to reject custom output models. * Concepts are now automatically mapped by default. Modified: tapirlink/trunk/README.txt =================================================================== --- tapirlink/trunk/README.txt 2010-09-12 20:02:03 UTC (rev 2025) +++ tapirlink/trunk/README.txt 2010-09-15 00:47:04 UTC (rev 2026) @@ -57,24 +57,31 @@ http://example.net/tapirlink/tapir.php However, this will only give you generic documentation about -the service. Real interaction with the service can only be -done through one of the resources' access points. After -configuring TapirLink, you will notice that each resource has -a local id (or code). The local id must be appended to the -previous URI to give you the corresponding address of the -service, like: +the service. Real interaction with the service can only happen +through one of the end points. After configuring TapirLink, you +will notice that each resource has a local id (or code). The +local id must be appended to the previous URI to give you the +corresponding address of the service, like: http://example.net/tapirlink/tapir.php/myres/ TapirLink can map conceptual schemas that either follow the -DarwinCore pattern or the CNS configuration file pattern. In the -DarwinCore pattern, concepts are defined as global elements -of an XML Schema document having a "substitutionGroup" attribute -referencing dwe:dwElement (where "dwe" is a prefix for the -namespace "http://rs.tdwg.org/dwc/dwelement"). Please note that -this is NOT the original format of DarwinCore. It comes from -a more recent version of the schema. +DarwinCore patterns or the CNS configuration file patterns. +For specimen/observation data providers, TapirLink has been +tested with: + +* The original version of DarwinCore; +* The second generation of DarwinCore (with the curatorial and +geospatial extensions); +* The official version of DarwinCore approved by TDWG +(DarwinCore terms); +* ABCD 2.06 + +For taxonomic data providers TapirLink has been tested with: + +* TCS 1.01 + TapirLink allows each resource to map one or more conceptual schemas, but it will only be able to serve instances of a single "class" or "entity". In other words, when mapping multiple @@ -144,12 +151,12 @@ If you are getting unexpected blank pages in your browser when running scripts, try increasing the memory limit of your PHP instance. Look for the option "memory_limit" in your php.ini file. The default value -is usually 8M. Try setting it to at least 32M. This may be needed if -your TapirLink instance will be used with big and complicated response -structures or if you set the maximum number of element repetitions -to a high value. +in older PHP versions was 8M. Recent versions come with 128M. I suggest +at least 32M. TapirLink consumes more memory if you use it with big and +complicated response structures or if you set the maximum number of +element repetitions to a high value. -When you are having problems, it is also be a good idea to activate +When you are having problems, it is also a good idea to activate debugging. To do this, copy www/localconfig_dist.php to www/localconfig.php and enable the line where _DEBUG is set to true. Remember to rollback this change when you are in a production environment. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2010-09-12 20:02:10
|
Revision: 2025 http://digir.svn.sourceforge.net/digir/?rev=2025&view=rev Author: rdg Date: 2010-09-12 20:02:03 +0000 (Sun, 12 Sep 2010) Log Message: ----------- Avoid repeating the same field and allow user to specify the number of records. Modified Paths: -------------- tapirlink/trunk/admin/check_encoding.php Modified: tapirlink/trunk/admin/check_encoding.php =================================================================== --- tapirlink/trunk/admin/check_encoding.php 2010-09-07 22:55:10 UTC (rev 2024) +++ tapirlink/trunk/admin/check_encoding.php 2010-09-12 20:02:03 UTC (rev 2025) @@ -110,6 +110,8 @@ $cn = $r_ds->GetConnection(); +$flds = array(); + foreach ( $r_mapped_schemas as $ns => $schema ) { $r_concepts =& $schema->GetConcepts(); @@ -132,8 +134,8 @@ if ( $num_fields == 1 ) { - echo "\n<br/><br/>Select the fields to be tested. Please note that this test is not complete. It retrieves the first 100 distinct values from each selected field and checks if the content is compatible with the charset specified in the configuration. If not, it tries to detect the charset.<br/><br/>\n"; echo "<form method=\"POST\" action=\"check_encoding.php\">\n"; + echo "\n<br/><br/>Select the fields to be tested. Please note that this test is not complete. It retrieves the first <input type=\"text\" name=\"limit\" value=\"".TpUtils::GetVar( 'limit', 100 )."\" size=\"6\"/> distinct values from each selected field and checks if the content is compatible with the charset specified in the configuration. If not, it tries to detect the charset.<br/><br/>\n"; echo "<table border=\"0\" cellpadding=\"3\">\n"; flush(); } @@ -143,6 +145,13 @@ $tf = $table.'.'.$field; + if ( in_array( $tf, $flds ) ) + { + continue; + } + + $flds[] = $tf; + $checked = ''; if ( ( ! isset( $_REQUEST['check'] ) ) or @@ -151,7 +160,7 @@ $checked = ' checked="1"'; } - echo "\n<tr><td class=\"e\"><input type=\"checkbox\" class=\"checkbox\" name=\"fields[]\" value=\"".$tf."\"".$checked."</td><td class=\"e\">".$tf."</td>"; + echo "\n<tr><td class=\"e\"><input type=\"checkbox\" name=\"fields[]\" value=\"".$tf."\"".$checked."/></td><td class=\"e\">".$tf."</td>"; if ( isset( $_REQUEST['check'] ) ) { @@ -161,7 +170,7 @@ { $sql = 'SELECT DISTINCT '.$tf.' FROM '.$table; - $rs =& $cn->SelectLimit( $sql, 100, 0 ); + $rs =& $cn->SelectLimit( $sql, TpUtils::GetVar( 'limit', 100 ), 0 ); if ( is_object( $rs ) ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2010-09-07 22:55:16
|
Revision: 2024 http://digir.svn.sourceforge.net/digir/?rev=2024&view=rev Author: rdg Date: 2010-09-07 22:55:10 +0000 (Tue, 07 Sep 2010) Log Message: ----------- New configuration option to allow more efficient counts in databases. Modified Paths: -------------- tapirlink/trunk/ChangeLog.txt tapirlink/trunk/classes/TpSearchResponse.php tapirlink/trunk/www/localconfig_dist.php tapirlink/trunk/www/tapir_globals.php Modified: tapirlink/trunk/ChangeLog.txt =================================================================== --- tapirlink/trunk/ChangeLog.txt 2010-09-03 14:37:12 UTC (rev 2023) +++ tapirlink/trunk/ChangeLog.txt 2010-09-07 22:55:10 UTC (rev 2024) @@ -8,6 +8,7 @@ * New timezone setting. * Minor adjustments to avoid warnings in PHP versions >= 5.3. * Latest DarwinCore terms added as a possible conceptual schema. + * New configuration option to allow more efficient counts in databases. Release 0.7.0 (2009-03-21) -------------------------- Modified: tapirlink/trunk/classes/TpSearchResponse.php =================================================================== --- tapirlink/trunk/classes/TpSearchResponse.php 2010-09-03 14:37:12 UTC (rev 2023) +++ tapirlink/trunk/classes/TpSearchResponse.php 2010-09-07 22:55:10 UTC (rev 2024) @@ -425,6 +425,11 @@ { $sql = $sql_builder->GetSql(); + if ( TP_SQL_USE_COUNT ) + { + $sql = 'SELECT COUNT(*) FROM (' . $sql . ') AS src'; + } + TpDiagnostics::Append( DC_DEBUG_MSG, 'SQL to count: '.$sql, DIAG_DEBUG ); // Try to get count from cache if this feature is enabled @@ -467,7 +472,14 @@ } else { - $matched = $result_set->RecordCount(); + if ( TP_SQL_USE_COUNT ) + { + $matched = $result_set->fields[0]; + } + else + { + $matched = $result_set->RecordCount(); + } $result_set->Close(); } Modified: tapirlink/trunk/www/localconfig_dist.php =================================================================== --- tapirlink/trunk/www/localconfig_dist.php 2010-09-03 14:37:12 UTC (rev 2023) +++ tapirlink/trunk/www/localconfig_dist.php 2010-09-07 22:55:10 UTC (rev 2024) @@ -205,6 +205,18 @@ //define( 'TP_SQL_USE_COLUMN_REF', true ); /** +* Set this to true to use SELECT COUNT(*) to count records. Default is the +* opposite (to execute the entire query and let PHP ADOdb calculate the number of +* records through the "RecordCount" method). However, this may be VERY memory +* intensive depending on the database and on the number of records, that's +* why this configuration option was created. Please note that for certain +* databases, COUNT(*) may return an approximate number, and perhaps it may +* not even support the alternative SQL construction being used: +* SELECT COUNT(*) FROM (SELECT ...) AS src +*/ +//define( 'TP_SQL_USE_COUNT', true ); + +/** * The following settings can be used as default values by the configurator * during UDDI registration process. */ Modified: tapirlink/trunk/www/tapir_globals.php =================================================================== --- tapirlink/trunk/www/tapir_globals.php 2010-09-03 14:37:12 UTC (rev 2023) +++ tapirlink/trunk/www/tapir_globals.php 2010-09-07 22:55:10 UTC (rev 2024) @@ -524,6 +524,21 @@ define( 'TP_SQL_USE_COLUMN_REF', false ); } +/** +* Set this to true to use SELECT COUNT(*) to count records. Default is the +* opposite (to execute the entire query and let PHP ADOdb calculate the number of +* records through the "RecordCount" method). However, this may be VERY memory +* intensive depending on the database and on the number of records, that's +* why this configuration option was created. Please note that for certain +* databases, COUNT(*) may return an approximate number, and perhaps it may +* not even support the alternative SQL construction being used: +* SELECT COUNT(*) FROM (SELECT ...) AS src +*/ +if ( ! defined( 'TP_SQL_USE_COUNT' ) ) +{ + define( 'TP_SQL_USE_COUNT', false ); +} + ////////////////////////////////////////////////////// // AUTOMATIC UPDATES This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2010-09-03 14:37:18
|
Revision: 2023 http://digir.svn.sourceforge.net/digir/?rev=2023&view=rev Author: rdg Date: 2010-09-03 14:37:12 +0000 (Fri, 03 Sep 2010) Log Message: ----------- Fixed bug in the configuration interface (automapping with php5). Modified Paths: -------------- tapirlink/trunk/classes/TpMappingForm.php Modified: tapirlink/trunk/classes/TpMappingForm.php =================================================================== --- tapirlink/trunk/classes/TpMappingForm.php 2010-09-02 20:30:25 UTC (rev 2022) +++ tapirlink/trunk/classes/TpMappingForm.php 2010-09-03 14:37:12 UTC (rev 2023) @@ -39,6 +39,7 @@ var $mLastNs = ''; // Last namespace parsed in the automapping index var $mConceptsWithReferences; // will become array: concept id => array of concept ids var $mBaseConceptId; // base concept id being parsed + var $mLocalMappingCopy; // Copy of the local mapping object to be used during automapping function TpMappingForm( ) { @@ -434,6 +435,17 @@ } // Refresh mappings + + // Create copy of local mapping to avoid messing with iterators + if ( version_compare( phpversion(), '5.0.0', '<' ) > 0 ) + { + $this->mLocalMappingCopy = $this->mResource->GetLocalMapping(); + } + else + { + $this->mLocalMappingCopy = clone $this->mResource->GetLocalMapping(); + } + $r_mapped_schemas =& $r_local_mapping->GetMappedSchemas(); foreach ( $r_mapped_schemas as $ns => $schema ) @@ -535,6 +547,8 @@ } } + $this->mLocalMappingCopy = null; + // Clicked next or save if ( isset( $_REQUEST['next'] ) or isset( $_REQUEST['update'] ) ) { @@ -591,23 +605,23 @@ function GetAutoMapping( $concept ) { - // Note: This method assumes that _LoadIndexOfMappingReferences - // and _LoadReferences on the respective file were already called + // Note: This method assumes that mLocalMappingCopy is set and + // _LoadIndexOfMappingReferences and _LoadReferences were + // already called on the respective file. // Check if there's an equivalent mapping that can be reused $concept_id = $concept->GetId(); - if ( is_array( $this->mConceptsWithReferences ) and + if ( is_object( $this->mLocalMappingCopy ) and + is_array( $this->mConceptsWithReferences ) and isset( $this->mConceptsWithReferences[$concept_id] ) ) { $references = $this->mConceptsWithReferences[$concept_id]; - $local_mapping = $this->mResource->GetLocalMapping(); // work on a copy - foreach ( $references as $reference ) // $reference is a concept id { - $equivalent_concept = $local_mapping->GetConcept( $reference ); + $equivalent_concept = $this->mLocalMappingCopy->GetConcept( $reference ); if ( ( ! is_null( $equivalent_concept ) ) and $equivalent_concept->IsMapped() ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rd...@us...> - 2010-09-02 20:30:31
|
Revision: 2022 http://digir.svn.sourceforge.net/digir/?rev=2022&view=rev Author: rdg Date: 2010-09-02 20:30:25 +0000 (Thu, 02 Sep 2010) Log Message: ----------- Avoid warning when handler is disabled. Modified Paths: -------------- tapirlink/trunk/classes/CnsSchemaHandler_v2.php Modified: tapirlink/trunk/classes/CnsSchemaHandler_v2.php =================================================================== --- tapirlink/trunk/classes/CnsSchemaHandler_v2.php 2010-09-02 19:57:15 UTC (rev 2021) +++ tapirlink/trunk/classes/CnsSchemaHandler_v2.php 2010-09-02 20:30:25 UTC (rev 2022) @@ -47,7 +47,7 @@ function CnsSchemaHandler_v2( ) { - if ( version_compare( phpversion(), '4.4.5', '<' ) > 0 ) + if ( version_compare( phpversion(), '5.2.10', '<' ) > 0 ) { $this->mIgnore = '_Ignore'; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |