Strings in hexadecimal (e.g. 0xf4c3b00c) notation are no longer regarded as numeric strings, i.e. is_numeric() returns FALSE now.

(http://php.net/manual/en/function.is-numeric.php)

so the decoding from referal code to uid fails, due to the check in _referral_ref2uid().

It can be fixed without altering the intended functionality by changing the check to ctype_xdigit($ref) (http://php.net/manual/en/function.ctype-xdigit.php)

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

s.messaris created an issue. See original summary.

s.messaris’s picture

owenbush’s picture

I can confirm this is an issue with PHP7 and patch #2 worked for me.

3CWebDev’s picture

Patch #2 worked for me on PHP 7.0. Thanks!

royerd’s picture

Patch works for me. Without this, the referral link will not set the cookie.