<?php
/*
* sync*gw SpamBot Bundle
*
* @copyright https://syncgw.com, 2013 - 2022
* @author Florian Daeumling, https://syncgw.com
* @license http://opensource.org/licenses/lgpl-3.0.html
*/
define('TL_MODE', 'FE');
define('TL_SCRIPT', 'SpamBot');
require $_SERVER["DOCUMENT_ROOT"].'/../system/initialize.php';
use Contao\Frontend;
class SpamBotCall extends Frontend {
/**
* Initialize the object (do not remove).
*/
public function __construct() {
parent::__construct();
if (!defined('BE_USER_LOGGED_IN'))
define('BE_USER_LOGGED_IN', FALSE);
if (!defined('FE_USER_LOGGED_IN'))
define('FE_USER_LOGGED_IN', FALSE);
}
/**
* Run the controller.
*
* @return string (SpamBot::Status, status message)
*/
public function run(): string {
$this->loadLanguageFile('default');
// class/file to call
$class = $_GET['Class'];
// function to call
$func = $_GET['Func'];
// module ID
$mod = $_GET['Mod'];
// extended information
$extinfo = $_GET['ExtInfo'];
// ip address
$ip = base64_decode($_GET['IP'], TRUE);
// mail address
$mail = base64_decode($_GET['Mail'], TRUE);
if (!$class)
return 'Not allowed';
// include our engine class
require_once TL_ROOT.'/vendor/syncgw/contao-spambot/src/Module/engines/'.$class.'.php';
$obj = new $class($mod);
list($stat, $msg) = $obj->check($func, $ip, $mail);
// append extended information?
if ($extinfo && $obj->ExtInfo)
$msg .= $obj->ExtInfo;
return serialize([$stat, $msg]);
}
}
$obj = new SpamBotCall();
echo $obj->run();
|