File "PhraseBuilder.php"
Full Path: /home/warrior1/public_html/wp-content/plugins/mailpoet/vendor-prefixed/gregwar/captcha/src/Gregwar/Captcha/PhraseBuilder.php
File size: 957 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace MailPoetVendor\Gregwar\Captcha;
if (!defined('ABSPATH')) exit;
class PhraseBuilder implements PhraseBuilderInterface
{
public $length;
public $charset;
public function __construct($length = 5, $charset = 'abcdefghijklmnpqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
$this->length = $length;
$this->charset = $charset;
}
public function build($length = null, $charset = null)
{
if ($length !== null) {
$this->length = $length;
}
if ($charset !== null) {
$this->charset = $charset;
}
$phrase = '';
$chars = \str_split($this->charset);
for ($i = 0; $i < $this->length; $i++) {
$phrase .= $chars[\array_rand($chars)];
}
return $phrase;
}
public function niceize($str)
{
return self::doNiceize($str);
}
public static function doNiceize($str)
{
return \strtr(\strtolower($str), '01', 'ol');
}
public static function comparePhrases($str1, $str2)
{
return self::doNiceize($str1) === self::doNiceize($str2);
}
}