我写了一个插件,可以执行每次用户访问螳螂错误跟踪器(第三方软件)。本质上,用户必须访问登陆页面并同意我的条款,然后才能访问任何应用程序,包括螳螂。问题是,我还使用他们的api (螳螂连接)向系统添加问题/附件。我的插件引起了一个问题,螳螂连接无法完成连接(它正在执行重定向功能)。
是否有一种方法可以使我的代码异常,从而使螳螂连接被忽略?
function hooks() {
return array(
'EVENT_PLUGIN_INIT' => 'runCheck',
);
}
//Main function which
function runCheck($p_event){
if (!$this->validSession())
$this->redirectUser();
}例如,我想做这样的事情:
if (!$this->validSession() && !mantisConnect())我只需要知道如何确定连接是否来自螳螂连接语句。螳螂连接是一个API调用。因此,可能有一个选项是检测用户是否在使用浏览器,而不是从脚本中调用,并且只在这种情况下执行重定向。上面的代码也是用PHP编写的。
或者,如果有人知道另一个事件钩子,我可以使用它,只有在加载螳螂页面时才会执行,这也可能解决我的问题。
发布于 2014-07-14 18:21:19
以防有人想知道。下面是我最后用来做这件事的代码。
function runCheck($p_event){
if (strpos($_SERVER['HTTP_USER_AGENT'], 'PHP-SOAP') !== false){ //check for mantis connect
if (!$this->validSession()){ //check if session is valid
$this->redirectUser();
}
}
}https://stackoverflow.com/questions/24740907
复制相似问题