/** * Create Code * * @return bool */ public function generateCode() { if ($this->invalid) { return false; } if ($this->mode === "bmp") { $this->config["num_chars"] = 4; $this->code = mt_rand(pow(10, $this->config["num_chars"] - 1), (int) str_pad("9", $this->config["num_chars"], "9")); } else { $raw_code = md5(uniqid(mt_rand(), 1)); if (!empty($this->config["skip_characters"])) { $valid_code = str_replace($this->config["skip_characters"], "", $raw_code); $this->code = substr($valid_code, 0, $this->config["num_chars"]); } else { $this->code = substr($raw_code, 0, $this->config["num_chars"]); } if (!$this->config["casesensitive"]) { $this->code = strtoupper($this->code); } } $this->captcha_handler->setCode($this->code); return true; }