There are a few problems with the pure PHP code:

  1. GEOIP_ISP_EDITION is not defined.
  2. There are several cases where bit operators were used instead of logical operators (i.e. using | instead of ||, & instead of && -- though I think the errors are limited to the ORs). I don’t’ think it changes how the code works, however.