|
|
@ -15,8 +15,8 @@ $config = json_decode( |
|
|
|
) |
|
|
|
) |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// Init session code |
|
|
|
// Init session |
|
|
|
$code = null; |
|
|
|
$session = []; |
|
|
|
|
|
|
|
|
|
|
|
// Init server |
|
|
|
// Init server |
|
|
|
$server = new \Yggverse\Nps\Server( |
|
|
|
$server = new \Yggverse\Nps\Server( |
|
|
@ -33,48 +33,44 @@ $server->setWelcome( |
|
|
|
): ?string |
|
|
|
): ?string |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $config; |
|
|
|
global $config; |
|
|
|
global $code; |
|
|
|
global $session; |
|
|
|
|
|
|
|
|
|
|
|
// Build captcha on enabled |
|
|
|
// Init session |
|
|
|
if ($config->nps->captcha->enabled) |
|
|
|
$session[$connect] = |
|
|
|
{ |
|
|
|
[ |
|
|
|
|
|
|
|
'time' => time(), |
|
|
|
|
|
|
|
'code' => null |
|
|
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Build captcha |
|
|
|
$captcha = new \Gregwar\Captcha\CaptchaBuilder( |
|
|
|
$captcha = new \Gregwar\Captcha\CaptchaBuilder( |
|
|
|
null, |
|
|
|
null, |
|
|
|
new \Gregwar\Captcha\PhraseBuilder( |
|
|
|
new \Gregwar\Captcha\PhraseBuilder( |
|
|
|
$config->nps->captcha->length, |
|
|
|
$config->nps->session->captcha->length, |
|
|
|
$config->nps->captcha->chars |
|
|
|
$config->nps->session->captcha->chars |
|
|
|
) |
|
|
|
) |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
$captcha->setBackgroundColor( |
|
|
|
$captcha->setBackgroundColor( |
|
|
|
$config->nps->captcha->background->r, |
|
|
|
$config->nps->session->captcha->background->r, |
|
|
|
$config->nps->captcha->background->g, |
|
|
|
$config->nps->session->captcha->background->g, |
|
|
|
$config->nps->captcha->background->b |
|
|
|
$config->nps->session->captcha->background->b |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
$captcha->build( |
|
|
|
$captcha->build( |
|
|
|
$config->nps->captcha->dimensions->width, |
|
|
|
$config->nps->session->captcha->dimensions->width, |
|
|
|
$config->nps->captcha->dimensions->height |
|
|
|
$config->nps->session->captcha->dimensions->height |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// Set captcha value to the session code |
|
|
|
// Set captcha value to the session code |
|
|
|
$code = $captcha->getPhrase(); |
|
|
|
$session[$connect]['captcha'] = $captcha->getPhrase(); |
|
|
|
|
|
|
|
|
|
|
|
// Create ASCII confirmation code |
|
|
|
// Create ASCII confirmation code |
|
|
|
$image = new \Ixnode\PhpCliImage\CliImage( |
|
|
|
$image = new \Ixnode\PhpCliImage\CliImage( |
|
|
|
$captcha->get(), |
|
|
|
$captcha->get(), |
|
|
|
$config->nps->captcha->ascii->width |
|
|
|
$config->nps->session->captcha->ascii->width |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
$confirmation = PHP_EOL . $image->getAsciiString() . PHP_EOL; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
$confirmation = null; |
|
|
|
|
|
|
|
$code = true; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Debug request on enabled |
|
|
|
// Debug request on enabled |
|
|
|
if ($config->nps->action->welcome->debug->enabled) |
|
|
|
if ($config->nps->action->welcome->debug->enabled) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -97,7 +93,7 @@ $server->setWelcome( |
|
|
|
(string) date('c'), |
|
|
|
(string) date('c'), |
|
|
|
(string) parse_url($url, PHP_URL_HOST), |
|
|
|
(string) parse_url($url, PHP_URL_HOST), |
|
|
|
(string) parse_url($url, PHP_URL_PORT), |
|
|
|
(string) parse_url($url, PHP_URL_PORT), |
|
|
|
(string) is_null($code) ? '[off]' : $code |
|
|
|
(string) $session[$connect]['captcha'] |
|
|
|
], |
|
|
|
], |
|
|
|
$config->nps->action->welcome->debug->template |
|
|
|
$config->nps->action->welcome->debug->template |
|
|
|
) . PHP_EOL |
|
|
|
) . PHP_EOL |
|
|
@ -108,7 +104,7 @@ $server->setWelcome( |
|
|
|
implode( |
|
|
|
implode( |
|
|
|
PHP_EOL, |
|
|
|
PHP_EOL, |
|
|
|
$config->nps->action->welcome->message |
|
|
|
$config->nps->action->welcome->message |
|
|
|
) . PHP_EOL . $confirmation |
|
|
|
) . PHP_EOL . $image->getAsciiString() . PHP_EOL |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
); |
|
|
@ -121,7 +117,7 @@ $server->setPending( |
|
|
|
): ?string |
|
|
|
): ?string |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $config; |
|
|
|
global $config; |
|
|
|
global $code; |
|
|
|
global $session; |
|
|
|
|
|
|
|
|
|
|
|
// Filter request |
|
|
|
// Filter request |
|
|
|
$request = trim( |
|
|
|
$request = trim( |
|
|
@ -152,14 +148,14 @@ $server->setPending( |
|
|
|
(string) parse_url($url, PHP_URL_HOST), |
|
|
|
(string) parse_url($url, PHP_URL_HOST), |
|
|
|
(string) parse_url($url, PHP_URL_PORT), |
|
|
|
(string) parse_url($url, PHP_URL_PORT), |
|
|
|
(string) $request, |
|
|
|
(string) $request, |
|
|
|
(string) is_null($code) ? '[off]' : $code |
|
|
|
(string) $session[$connect]['captcha'] |
|
|
|
], |
|
|
|
], |
|
|
|
$config->nps->action->pending->debug->template |
|
|
|
$config->nps->action->pending->debug->template |
|
|
|
) . PHP_EOL |
|
|
|
) . PHP_EOL |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return is_null($code) || $code == $request ? implode(PHP_EOL, $config->nps->action->pending->message->success) . PHP_EOL |
|
|
|
return $session[$connect]['captcha'] == $request ? implode(PHP_EOL, $config->nps->action->pending->message->success) . PHP_EOL |
|
|
|
: implode(PHP_EOL, $config->nps->action->pending->message->failure) . PHP_EOL; |
|
|
|
: implode(PHP_EOL, $config->nps->action->pending->message->failure) . PHP_EOL; |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
); |
|
|
@ -174,13 +170,18 @@ $server->setHandler( |
|
|
|
): ?string |
|
|
|
): ?string |
|
|
|
{ |
|
|
|
{ |
|
|
|
global $config; |
|
|
|
global $config; |
|
|
|
global $code; |
|
|
|
global $session; |
|
|
|
|
|
|
|
|
|
|
|
// Filter request |
|
|
|
// Filter request |
|
|
|
$request = trim( |
|
|
|
$request = trim( |
|
|
|
$request |
|
|
|
$request |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Filter content |
|
|
|
|
|
|
|
$content = trim( |
|
|
|
|
|
|
|
$content |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// @TODO save content in blockchain with kevacoin-php |
|
|
|
// @TODO save content in blockchain with kevacoin-php |
|
|
|
|
|
|
|
|
|
|
|
// Debug request on enabled |
|
|
|
// Debug request on enabled |
|
|
@ -209,16 +210,16 @@ $server->setHandler( |
|
|
|
(string) parse_url($url, PHP_URL_HOST), |
|
|
|
(string) parse_url($url, PHP_URL_HOST), |
|
|
|
(string) parse_url($url, PHP_URL_PORT), |
|
|
|
(string) parse_url($url, PHP_URL_PORT), |
|
|
|
(string) str_replace('%', '%%', $request), |
|
|
|
(string) str_replace('%', '%%', $request), |
|
|
|
(string) is_null($code) ? '[off]' : $code, |
|
|
|
(string) $session[$connect]['captcha'], |
|
|
|
(string) mb_strlen($content), |
|
|
|
(string) mb_strlen($content), |
|
|
|
(string) $content, |
|
|
|
(string) PHP_EOL . $content, |
|
|
|
], |
|
|
|
], |
|
|
|
$config->nps->action->handler->debug->template |
|
|
|
$config->nps->action->handler->debug->template |
|
|
|
) . PHP_EOL |
|
|
|
) . PHP_EOL |
|
|
|
); |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return is_null($code) || $code == $request ? implode(PHP_EOL, $config->nps->action->handler->message->success) . PHP_EOL |
|
|
|
return $session[$connect]['captcha'] == $request ? implode(PHP_EOL, $config->nps->action->handler->message->success) . PHP_EOL |
|
|
|
: implode(PHP_EOL, $config->nps->action->handler->message->failure) . PHP_EOL; |
|
|
|
: implode(PHP_EOL, $config->nps->action->handler->message->failure) . PHP_EOL; |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
); |
|
|
|