public function convertData() { $ver = $this->estimateVersion(); if ($ver > $this->getVersion()) { $this->setVersion($ver); } for (;;) { $bits = $this->createBitStream(); if ($bits < 0) { return -1; } $ver = QRspec::getMinimumVersion((int) (($bits + 7) / 8), $this->level); if ($ver < 0) { throw new Exception('WRONG VERSION'); return -1; } else { if ($ver > $this->getVersion()) { $this->setVersion($ver); } else { break; } } } return 0; }