From: "Daniel O'Connor" on
Hey, everyone!
Please evaluate your packages and see if it is appropriate to migrate to
Net_IDNA2 (php5), or if you want to stick to Net_IDNA (php4).

The unfortunately implication is that some packages - Validate for instance
- were using the PHP5 code on PHP5 systems prior to this bug; and now are
saddled with the old PHP 4 implementation.

Of course, you can still have the best of both worlds if you like...

if ($is_php5) {
$handler = new Net_IDNA2();
} else {
$handler = new Net_IDNA();
}


---------- Forwarded message ----------
From: <daniel.oconnor(a)gmail.com>
Date: Thu, Jun 3, 2010 at 11:33 AM
Subject: [PEAR-BUG] Bug #17430 [Opn->Csd]: Multiple Net_IDNA class
declarations
To: daniel.oconnor(a)gmail.com, pear-bugs(a)lists.php.net


Edit report at http://pear.php.net/bugs/bug.php?id=17430&edit=1

ID: 17430
Updated by: daniel.oconnor(a)gmail.com
Reported By: tokul at users dot sourceforge dot net
Summary: Multiple Net_IDNA class declarations
-Status: Open
+Status: Closed
Type: Bug
Package: Net_IDNA
Package Version: 0.7.3
PHP Version: 4.4.9
-Assigned To:
+Assigned To: doconnor
Roadmap Versions:
New Comment:

-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: doconnor
This bug has been fixed in SVN.

If this was a documentation problem, the fix will appear on
pear.php.net by the end of next Sunday (CET).

If this was a problem with the pear.php.net website, the change should
be live shortly.

Otherwise, the fix will appear in the package's next release.

Thank you for the report and for helping us make PEAR better.




Previous Comments:
------------------------------------------------------------------------

[2010-06-03 02:00:04] doconnor

I've fixed this in SVN (There's now a Net_IDNA2); but releases appear
upset at the moment.

------------------------------------------------------------------------

[2010-05-25 04:51:28] tokul

> Out of curiousity; what's keeping you on PHP4? (You are a rare one
these days!)

Bug report No. 14426 was about PHP4. So I've tested package on last
PHP4 version.

I use php5, but I have legacy systems that use older PHP versions and I
don't like unnecessarily dependencies that increase PHP version
requirements. I am planning to bundle net_idna with my package in order
to provide fallback idn decoding and encoding support and I think I'll
remove all PHP5 dependencies (exceptions and public/private
declarations, maybe others) from it.

------------------------------------------------------------------------

[2010-05-25 04:04:55] doconnor

How very annoying.

One needs to be Net_IDNA_Factory; which is a BC break.

For now, I'd suggest you make use of require_once 'Net/IDNA/php4.php';
and skip all of the getInstance() stuff.

Out of curiousity; what's keeping you on PHP4? (You are a rare one
these days!)

------------------------------------------------------------------------

[2010-05-24 09:31:40] tokul

Description:
------------
Package has one Net_IDNA class in IDNA.php and other Net_IDNA class in
Net/IDNA/php4.php and tries to load them both. fatal error is suppressed
in IDNA.php '@include_once $classfile;'

Cannot redeclare class net_idna in
/some-path/php/lib/php/Net/IDNA/php4.php on line 2973

Current SVN (rev. 292676) has same problem. Haven't tested it, but
looked at the source in svn web browser.

Test script:
---------------
include('Net/IDNA.php');
$idn_instance = Net_IDNA::getInstance();
echo 'done';


Expected result:
----------------
done

Actual result:
--------------
no output.

------------------------------------------------------------------------


--
Edit this bug report at http://pear.php.net/bugs/bug.php?id=17430&edit=1