php-general Digest 20 Mar 2006 21:52:16 -0000 Issue 4026

Topics (messages 232229 through 232247):

Fatal error: Call to undefined function preg_match()
        232229 by: Evert
        232230 by: Barry
        232231 by: M. Sokolewicz
        232232 by: Barry
        232233 by: Evert
        232234 by: Jochem Maas

Get class name in static method
        232235 by: Stut
        232236 by: Jochem Maas
        232244 by: Stut

IntVal(float) Returns Different Values (Porting Delphi code to mix a block of 
data)
        232237 by: Bruce
        232246 by: Curt Zirzow

Re: print page from php
        232238 by: Reinhart Viane

want authentic branded goods?
        232239 by: 2006-03-20 23:19:13
        232240 by: Barry

Re: Paypal IPN and PHP
        232241 by: Curt Zirzow
        232242 by: Manuel Amador (Rudd-O)
        232243 by: Richard Davey
        232245 by: Curt Zirzow

Accessing data posted from a different URL
        232247 by: René Fournier

Administrivia:

To subscribe to the digest, e-mail:
        [EMAIL PROTECTED]

To unsubscribe from the digest, e-mail:
        [EMAIL PROTECTED]

To post to the list, e-mail:
        php-general@lists.php.net


----------------------------------------------------------------------
--- Begin Message ---
Hi all!

Recently I am getting the following error on some of my PHP-enabled websites. I 
think it started when I went from PHP4 -> PHP5.

Here is an example (from http://wos.poboxes.info/) :


Fatal error: Call to undefined function preg_match() in 
/var/www/wos.poboxes.info/htdocs/classes/ConfigData.php on line 114


What causes this? How can I fix it?
FYI: I use Cherokee (not Apache...)



Regards,
        Evert

--- End Message ---
--- Begin Message ---
Evert wrote:
Hi all!

Recently I am getting the following error on some of my PHP-enabled websites. I 
think it started when I went from PHP4 -> PHP5.

Here is an example (from http://wos.poboxes.info/) :


Fatal error: Call to undefined function preg_match() in 
/var/www/wos.poboxes.info/htdocs/classes/ConfigData.php on line 114


What causes this? How can I fix it?
FYI: I use Cherokee (not Apache...)



Regards,
        Evert
On some pages?
So it works on the other pages on the same webserver?

Probably you have unset the function, or some file/php/include/script does.
Best way to test that is to put preg_match at the first line.

Is a htaccess causing trouble probably?
--
Smileys rule (cX.x)C --o(^_^o)
Dance for me! ^(^_^)o (o^_^)o o(^_^)^ o(^_^o)

--- End Message ---
--- Begin Message ---
Barry wrote:
Evert wrote:

Hi all!

Recently I am getting the following error on some of my PHP-enabled websites. I think it started when I went from PHP4 -> PHP5.

Here is an example (from http://wos.poboxes.info/) :


Fatal error: Call to undefined function preg_match() in /var/www/wos.poboxes.info/htdocs/classes/ConfigData.php on line 114


What causes this? How can I fix it?
FYI: I use Cherokee (not Apache...)



Regards,
    Evert

On some pages?
So it works on the other pages on the same webserver?

Probably you have unset the function, or some file/php/include/script does.
Best way to test that is to put preg_match at the first line.

Is a htaccess causing trouble probably?

Since when can you "unset" functions from within php scripts?? (except with specialized modules, which we'll just ignore for now).

My guess here is that the PCRE-library was disabled during compilation of your PHP5 tree (check phpinfo for that). If so, you'll need to compile it in to have the functions.

- tul

--- End Message ---
--- Begin Message ---
M. Sokolewicz wrote:
Since when can you "unset" functions from within php scripts?? (except with specialized modules, which we'll just ignore for now).
Why ignore them for now?
Doesn't make sense for me ...

>>Recently I am getting the following error on some of my PHP-enabled
>>websites. I think it started when I went from PHP4 -> PHP5.

He went from 4 to 5, do you know what 4 had compiled in? no you don't.
Why don't just ignore he went from 4 to 5.
So we can see this post as "i installed php 5 and got error X"

Sorry, i think that's big nonsense.

Greets
        Barry
--
Smileys rule (cX.x)C --o(^_^o)
Dance for me! ^(^_^)o (o^_^)o o(^_^)^ o(^_^o)

--- End Message ---
--- Begin Message ---

M. Sokolewicz wrote:
> Barry wrote:
>> Evert wrote:
>>
>>> Hi all!
>>>
>>> Recently I am getting the following error on some of my PHP-enabled
>>> websites. I think it started when I went from PHP4 -> PHP5.
>>>
>>> Here is an example (from http://wos.poboxes.info/) :
>>>
>>>
>>> Fatal error: Call to undefined function preg_match() in
>>> /var/www/wos.poboxes.info/htdocs/classes/ConfigData.php on line 114
>>>
>>>
>>> What causes this? How can I fix it?
>>> FYI: I use Cherokee (not Apache...)
>>>
>>>
>>>
>>> Regards,
>>>     Evert
>>
>> On some pages?
>> So it works on the other pages on the same webserver?
>>
>> Probably you have unset the function, or some file/php/include/script
>> does.
>> Best way to test that is to put preg_match at the first line.
>>
>> Is a htaccess causing trouble probably?
> 
> Since when can you "unset" functions from within php scripts?? (except
> with specialized modules, which we'll just ignore for now).
> 
> My guess here is that the PCRE-library was disabled during compilation
> of your PHP5 tree (check phpinfo for that). If so, you'll need to
> compile it in to have the functions.

You're right!  :-)

It turned out that php5 was compiled without pcre-support. I have recompiled 
it, and now it works like a charm! :-)
Thanks for the help!  :-)

Regards,
  Evert

--- End Message ---
--- Begin Message ---
Barry wrote:
M. Sokolewicz wrote:

Since when can you "unset" functions from within php scripts?? (except with specialized modules, which we'll just ignore for now).

Why ignore them for now?
Doesn't make sense for me ...

If the OP is capable of installing and using the runkit extension
them he would never have had ask the list why 'preg_match() is not defined' -
it's a fairly basic problem to solve - anyone with enough skill and experience
to use runkit would know how to solve it.

obviously Barry you are very experienced and use the runkit extension all
the time ... because evidently you seem to think 'unsetting' function
is a completely normal activity inside a php script.


 >>Recently I am getting the following error on some of my PHP-enabled
 >>websites. I think it started when I went from PHP4 -> PHP5.

He went from 4 to 5, do you know what 4 had compiled in? no you don't.
Why don't just ignore he went from 4 to 5.

given that he says 'I think' (i.e. he's too lazy to check and know for sure)
ignoring the fact that he upgraded is actually quite sane.

the OPs problem is an undefined function which can only really mean that
an extension was not loaded (and/or not compiled in) - nothing to do with the
fact that he upgraded as such (he could jsut as well have got this error
if he had created a completely fresh php install)

--- End Message ---
--- Begin Message ---
Hi all,

I'm wanting to define a static method on a base class that then instantiates and returns an object of the type the static method was called on. I've searched the docs and Googled but everything I find says it's not possible and I just wanna check to make sure before I admit defeat.

Say I have the following...

   class Foo
   {
       public static function & Create()
       {
          $classname = ???;
          return new $classname;
       }
   }

   class Bar extends Foo { }

   $obj = Bar::Create();

What do I put where the ???s are? I've tried __CLASS__ and get_class() but both give me the base class name. Short of passing the classname to the static function I'm at a loss as to how to do this. However, Bar::Create('Bar') is a bit too sucky for me to be happy with it and kinda defeats the object.

Thanks.

-Stut

--- End Message ---
--- Begin Message ---
Stut wrote:
Hi all,

I'm wanting to define a static method on a base class that then instantiates and returns an object of the type the static method was called on. I've searched the docs and Googled but everything I find says it's not possible and I just wanna check to make sure before I admit defeat.

Say I have the following...

   class Foo
   {
       public static function & Create()
       {
          $classname = ???;
          return new $classname;
       }
   }

   class Bar extends Foo { }

   $obj = Bar::Create();

What do I put where the ???s are? I've tried __CLASS__ and get_class() but both give me the base class name. Short of passing the classname to the static function I'm at a loss as to how to do this. However, Bar::Create('Bar') is a bit too sucky for me to be happy with it and kinda defeats the object.

(purpose not object ;-)

either suck on it or use another language :-P.
this _PROBLEM_ exists since day 1 of php5 - there is no decent solution.

there has been discussion of this problem on the internals mailing list,
most of them seem to agree something is required here but no definite
fix has been implemented.

--- End Message ---
--- Begin Message ---
Jochem Maas wrote:

Stut wrote:

What do I put where the ???s are? I've tried __CLASS__ and get_class() but both give me the base class name. Short of passing the classname to the static function I'm at a loss as to how to do this. However, Bar::Create('Bar') is a bit too sucky for me to be happy with it and kinda defeats the object.

(purpose not object ;-)

I mean object as short for objective, but whatever ;-).

either suck on it or use another language :-P.
this _PROBLEM_ exists since day 1 of php5 - there is no decent solution.

there has been discussion of this problem on the internals mailing list,
most of them seem to agree something is required here but no definite
fix has been implemented.

I thought as much. Shame really, I had a really elegant solution planned for this problem. Oh well, I'll just have to create a throwaway instance whenever I use these methods... such is life.

-Stut

--- End Message ---
--- Begin Message ---
I am having trouble porting some code originally written in Borland Delphi
to PHP. The Delphi code expects certain behavior on integer overflows that I
can only duplicate on some PHP systems. For example:

$BB = -2181087916;
$AA = (int)$BB;
$AA = intval($BB);

On some systems, $AA will be (int)-2147483648, however, on most systems, $AA
will be (int)2113879380, which is the same value truncated at 32 bits. It is
this latter behavior that I need to properly port the Delphi code.

Can someone suggest a way to do this that is consistent on all platforms?
For reference, I am attaching the Delphi code and my PHP port.

Thanks...

--Bruce

{quick (block) mixer routine}
procedure MixBlock(const Matrix : T128bit; var Block; Encrypt : Boolean);

const
  CKeyBox : array [False..True, 0..3, 0..2] of LongInt =

    (((0, 3, 1), (2, 1, 3), (1, 0, 2), (3, 2, 0)),
    ((3, 2, 0), (1, 0, 2), (2, 1, 3), (0, 3, 1)));

var
  Blocks : array [0..1] of LongInt absolute Block;
  Work : LongInt;
  Right : LongInt;
  Left : LongInt;

  R : LongInt;
  AA, BB : LongInt;
  CC, DD : LongInt;

begin
  Right := Blocks[0];
  Left := Blocks[1];

  for R := 0 to 3 do begin
  {transform the right side}
    AA := Right;
    BB := Matrix[CKeyBox[Encrypt, R, 0]];

    CC := Matrix[CKeyBox[Encrypt, R, 1]];
    DD := Matrix[CKeyBox[Encrypt, R, 2]];

    AA := AA + DD; DD := DD + AA; AA := AA xor (AA shr 7);
    BB := BB + AA; AA := AA + BB; BB := BB xor (BB shl 13);

    CC := CC + BB; BB := BB + CC; CC := CC xor (CC shr 17);
    DD := DD + CC; CC := CC + DD; DD := DD xor (DD shl 9);

    AA := AA + DD; DD := DD + AA; AA := AA xor (AA shr 3);
    BB := BB + AA; BB := BB xor (BB shl 7);

    CC := CC + BB;
    CC := CC xor (DD shr 15);
    DD := DD + CC;
    DD := DD xor (DD shl 11);

    Work := Left xor DD;
    Left := Right;
    Right := Work;
  end;

  Blocks[0] := Left;

  Blocks[1] := Right;
end;

Here is my PHP port:

 <?php
function zeroFill($a, $b)
{
  $z = hexdec(80000000);
  if ($z & $a)
  {
    $a >>= 1;
    $a &= (~ $z);
    $a |= 0x40000000;
    $a >>= ($b-1);
  }
  else
  {
    $a >>= $b;
  }
  return $a;
}

function MixBlock($AKey, &$ACode, $Encrypt)
{
  $CKeyBox = array(array(3, 2, 0), array(1, 0, 2), array( 2, 1, 3), array(0 ,
3, 1));

  $Right = $ACode[0];
  $Left = $ACode[1];

  for ($R=0; $R<= 3; $R++)
  {
    $AA = $Right;
    if ($Encrypt)
    {
      $BB = $AKey[$CKeyBox[ $R][0]];
      $CC = $AKey[$CKeyBox[ $R][1]];
      $DD = $AKey[$CKeyBox[ $R][2]];
    }
    else
    {
      $BB = $AKey[$CKeyBox[ 3-$R][0]];
      $CC = $AKey[$CKeyBox[ 3-$R][1]];
      $DD = $AKey[$CKeyBox[ 3-$R][2]];
    }

    $AA = (int)$AA + (int)$DD;
    $DD = (int)$DD + (int)$AA;
    $AA = (int)$AA ^ zeroFill( $AA, 7);
    $BB = (int)$BB + (int)$AA;
    $AA = (int)$AA + (int)$BB;

    $BB = (int)$BB ^ ((int)$BB << 13);
    $CC = (int)$CC + (int)$BB; $BB = (int)$BB + (int)$CC;
    $CC = (int)$CC ^ zeroFill( $CC, 17);
    $DD = (int)$DD + (int)$CC; $CC = (int)$CC + (int)$DD;
    $DD = (int)$DD ^ ((int)$DD << 9);

    $AA = (int)$AA + (int)$DD; $DD = (int)$DD + (int)$AA;
    $AA = (int)$AA ^ zeroFill( $AA, 3);
    $BB = (int)$BB + (int)$AA;
    $BB = (int)$BB ^ (int)((int)$BB << 7);
    $CC = (int)$CC + (int)$BB;
    $CC = (int)$CC ^ zeroFill( $DD, 15);
    $DD = (int)$DD + (int)$CC;
    $DD = (int)$DD ^ (int)((int)$DD << 11);

    $Work = $Left ^ $DD;
    $Left = $Right;
    $Right = $Work;
  }

  $ACode[0] = $Left;
  $ACode[1] = $Right;
}
?>

--- End Message ---
--- Begin Message ---
On Mon, Mar 20, 2006 at 10:13:21AM -0500, Bruce wrote:
> I am having trouble porting some code originally written in Borland Delphi
> to PHP. The Delphi code expects certain behavior on integer overflows that I
> can only duplicate on some PHP systems. For example:
> 
> $BB = -2181087916;
> $AA = (int)$BB;
> $AA = intval($BB);
> 
> On some systems, $AA will be (int)-2147483648, however, on most systems, $AA
> will be (int)2113879380, which is the same value truncated at 32 bits. It is
> this latter behavior that I need to properly port the Delphi code.

Two modules that come to mind:

  http://php.net/bcmath
  http://php.net/gmp


Since your code does some or and xoring gmp sounds like the GMP
method will be the  best one. The down fall is it will add the
requirement to add the library and rebuild php with it.

Curt.
-- 
cat .signature: No such file or directory

--- End Message ---
--- Begin Message ---
Thx Miles and Jay

-----Oorspronkelijk bericht-----
Van: Miles Thompson [mailto:[EMAIL PROTECTED] 
Verzonden: vrijdag 17 maart 2006 22:35
Aan: php-general@lists.php.net
Onderwerp: Re: [PHP] print page from php

At 09:57 AM 3/17/2006, Reinhart Viane wrote:

>All,
>
>I have a web page with the results from several database queries.
>Now this page has an undefined horizontal and vertical size.
>
>Does anyone know if there is a php script available that will automatically
>split the webpage into parts that can fit on an A4 page?
>
>Or do I have to set boundaries on the size of the tables the queried data
>will be shown in.
>
>Hope this makes any sense,
>
>Thanks in advance,
>
>Reinhart Viane
>
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, visit: http://www.php.net/unsub.php


CSS is probably the best solution
         http://www.w3.org/TR/REC-CSS2/page.html#q16
found whle googling
 
http://www.google.ca/search?hl=en&q=printing+CSS+media&btnG=Google+Search

This is a good article:
http://css-discuss.incutio.com/?page=PrintStylesheets
and as always, A List Apart has CSS Design: going to Print at 
http://www.alistapart.com/stories/goingtoprint/

I have seen examples of two-column pages, but do not know if the pages 
broke correctly when the matter was longer than one page.

Alternately, display in tables and make certain you have a <TH> so your 
header can repeat.

Hope this steers you in the right direction - Miles. 


-- 
Internal Virus Database is out-of-date.
Checked by AVG Anti-Virus.
Version: 7.1.375 / Virus Database: 268.2.1/279 - Release Date: 3/10/2006

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

--- End Message ---
--- Begin Message ---
This is a kind business letter,if bothered you,pls send your email to us,we 
will sure cancled your email address from our email list.

www.loveinfashion.com
email and msn: [EMAIL PROTECTED]
QQ:158336954
  
Gurantee your 100% absolutely safe ''Door to Door'' delivery!!!!!!
 
------------------------------------------------  ANNOUNCEMENT  
We supplying authentic branded stocklots incl shoes, handbags, clothes, 
wallets, glasses, belts.We can produce for you under your authorized paper,or 
source them from official authorized factory stocklots  markets. We supply 
authentic cards and paperwork.
      
------------------------------------------------   DELIVERY STATEMENT
Supply "Door to Door" delivery, and 100% Guarantee Customs Clear by EMS 
Now!!!!!!!
We will simply send,send,send...... and resend until you get them!!!!!!!
All for free!!!!!!!!

                              



 ------------------------------------------------   PRICE AND DROPSHIP POLICY   
   
Prices CIF in USD incl goods cost, shipping cost, and insurance already!!!!!!!
We dropship goods to your cutomers directly from us!!!!!!! So what you need to 
do is only find them and tell them what you can give them!!!!!!
Accept Western Union/Moneygram/bank account, but don't accept paypal for now.

-----------------------------------   HOW TO PLACE ORDER
1.Place orders on our website;
2.Use msn:[EMAIL PROTECTED]; or 
3.Wirte to [EMAIL PROTECTED] 
Any way, let us know your payment info and your address with a phone call 
number!!!!

--- End Message ---
--- Begin Message ---
2006-03-20 23:19:13 wrote:
> This is a kind business letter,if bothered you,pls send your email to us,we 
> will sure cancled your email address from our email list.
> 
Nah ;)
This is kind of Spam Mail!

>   
> Gurantee your 100% absolutely safe ''Door to Door'' delivery!!!!!!
Front door or back door?
I like to have my deliveries delivered indoor.
Outdoor is cold!

> We supplying authentic branded stocklots incl shoes, handbags, clothes, 
> wallets, glasses, belts.We can produce for you under your authorized paper,or 
> source them from official authorized factory stocklots  markets. We supply 
> authentic cards and paperwork.
Should i be some kind of amazed now?


> Supply "Door to Door" delivery, and 100% Guarantee Customs Clear by EMS 
> Now!!!!!!!
> We will simply send,send,send...... and resend until you get them!!!!!!!
> All for free!!!!!!!!
Omg you send,send,send and don't stop? aww ;_;
Even if i don't want them? >_>

> Prices CIF in USD incl goods cost, shipping cost, and insurance already!!!!!!!
> We dropship goods to your cutomers directly from us!!!!!!! So what you need 
> to do is only find them and tell them what you can give them!!!!!!
> Accept Western Union/Moneygram/bank account, but don't accept paypal for now.
Haha yeah find me xD *hides*
Wut no paypal? SHAME ON YOU! xD

> 1.Place orders on our website;
Sorry my Packet doesn't fit in my monitor >_>
> 2.Use msn:[EMAIL PROTECTED]; or 
To send my package?
Uhm , i wonder if it fits into an email -_-
> 3.Wirte to [EMAIL PROTECTED] 
Isn't that the same as #2? :)
> Any way, let us know your payment info and your address with a phone call 
> number!!!!
"Anyway" man your english sucks a lot ;)

-- 
Smileys rule (cX.x)C --o(^_^o)
Dance for me! ^(^_^)o (o^_^)o o(^_^)^ o(^_^o)

--- End Message ---
--- Begin Message ---
On Sun, Mar 19, 2006 at 06:41:54PM +0000, Richard Davey wrote:
> On 19 Mar 2006, at 18:32, Leonard Burton wrote:
> 
> >I am putting together an site and will accept payments via Paypal's
> >IPN.  I have came across many classes for this so I am curious if
> >anyone has any recommendations?
> 
> Isn't there a full proper PayPal API now? IPN hasn't changed in ages,  
> but I don't think it is their preferred way of accessing PayPal any  
> more, and certainly isn't the most streamlined.

Yeah, they have their new Payment Pro system which has a gateway
API. I dont think they have any preference over the other.  

One of the biggest advantages with IPN is you dont have to worry
about handling credit card numbers and how you are securily
handling them.  But then again like you said it is a bit clunkly to
add to a payment system, and if paypal somehow fails you have to
jump through hoops to figure out what happened and what to do next.


Curt.
-- 
cat .signature: No such file or directory

--- End Message ---
--- Begin Message ---
Curt Zirzow wrote:


Isn't there a full proper PayPal API now? IPN hasn't changed in ages, but I don't think it is their preferred way of accessing PayPal any more, and certainly isn't the most streamlined.
You kidding? IPN support is ridiculously easy to develop. If you're interested, I've got a mini software sales system for WordPress.


Yeah, they have their new Payment Pro system which has a gateway
API. I dont think they have any preference over the other.
One of the biggest advantages with IPN is you dont have to worry
about handling credit card numbers and how you are securily
handling them.  But then again like you said it is a bit clunkly to
add to a payment system, and if paypal somehow fails you have to
jump through hoops to figure out what happened and what to do next.
Not really.  The state of a transaction can be easily verified.


Curt.

--- End Message ---
--- Begin Message ---
On 20 Mar 2006, at 16:26, Manuel Amador (Rudd-O) wrote:

Isn't there a full proper PayPal API now? IPN hasn't changed in ages, but I don't think it is their preferred way of accessing PayPal any more, and certainly isn't the most streamlined.

You kidding? IPN support is ridiculously easy to develop. If you're interested, I've got a mini software sales system for WordPress.

Easy, yes. That wasn't the point really though. Their true API offers you a truly site integrated experience, IPN does not.

Cheers,

Rich
--
http://www.corephp.co.uk
Zend Certified Engineer
PHP Development Services

--- End Message ---
--- Begin Message ---
On Mon, Mar 20, 2006 at 11:26:34AM -0500, Manuel Amador (Rudd-O) wrote:
> Curt Zirzow wrote:
> 
> >>
> >>Isn't there a full proper PayPal API now? IPN hasn't changed in ages,  
> ...
> 
> >
> >Yeah, they have their new Payment Pro system which has a gateway
> >API. I dont think they have any preference over the other.  
> >
> >One of the biggest advantages with IPN is you dont have to worry
> >about handling credit card numbers and how you are securily
> >handling them.  But then again like you said it is a bit clunkly to
> >add to a payment system, and if paypal somehow fails you have to
> >jump through hoops to figure out what happened and what to do next.
> > 
> >
> Not really.  The state of a transaction can be easily verified.

Considering the way a typical ipn transation works there are
several steps involved in the whole transaction that could be the
problem.

  1. You send user to paypal, with item and amount for item.
  2. paypal veryifies user and the amount the user is going to pay.
  3. paypal contacts your callback script that should validate the
     transaction.
  4. paypal provides a link to the user to return to your site with
     data related to the transaction.

There are several problems in which are hard to tracedown:
  - Network problems
    . Paypal is unreachable
    . Paypal can't resolve your callback script
    . Your site is unreachable when the user finishes with paypal.

  - Script problems
    . Paypal doesn't ever call your callback script
    . Your callback script has a logic error/parse error, so you
      can't verify the transaction but yet paypal still transfers 
      the funds.
    . Paypal changes their API to post data to their system
    . Paypal doesn't post transaction related data back to your
      script.

  - User problems
    . User modifies a price for a product that is being posted to
      paypal, instead of paying $100.00 they change the value to
      $1.00.
    . Any Network problem or Script problem causes the user to get
      frustrated with your system.
    . User never clicks the 'Return to site' button so you never
      really know if they've completed the transaction or their
      browser crashed somewhere.


If you use a gateway to process funds within your script, it is
much easier to catch these points of failures.  Since this system
can keep track exactly at what point something failed it can 
gracefully respond to the the user of the status.


Curt.
-- 
cat .signature: No such file or directory

--- End Message ---
--- Begin Message --- I have a script that periodically sends an email that includes form post to a script, which is meant to do something with the posted data.

My problem is that apparently some PHP security measure is not permitting the externally posted data to be access via $_POST. I assume this is due to cross-site scripting issues, but in this case, I want to do just that. Any ideas?

...Rene

--- End Message ---

Reply via email to