Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何发送cmsmadesimple事件?_Php_Events_Cmsmadesimple - Fatal编程技术网

Php 如何发送cmsmadesimple事件?

Php 如何发送cmsmadesimple事件?,php,events,cmsmadesimple,Php,Events,Cmsmadesimple,需要有关cmsmadesimple事件的帮助。我正在尝试处理模块FrontEndUsers事件OnLogin。此模块在method.install.php:中启动此事件 $this->CreateEvent( 'OnLogin' ); 在我的Civicrm模块method.instal.php中,我注册了OnLogin处理程序: $this->AddEventHandler( 'FrontEndUsers', 'OnLogin' ); 那么,让我们开始吧。FrontEndUser

需要有关cmsmadesimple事件的帮助。我正在尝试处理模块FrontEndUsers事件OnLogin。此模块在method.install.php:
中启动此事件

$this->CreateEvent( 'OnLogin' );
在我的Civicrm模块method.instal.php中,我注册了OnLogin处理程序:

$this->AddEventHandler( 'FrontEndUsers', 'OnLogin' );
那么,让我们开始吧。FrontEndUser在action.do_login.php中发送此事件时使用:

$parms = array();
$parms['id'] = $this->LoggedInId();
$parms['username'] = $params['feu_input_username'];
$parms['ip'] = cge_utils::get_real_ip();
$this->SendEvent( 'OnLogin', $parms );
$this->_SendNotificationEmail('OnLogin',$parms);
我在CiviCRM模块中做过:

public function DoEvent($originator, $eventname, &$params)
{
    if ($originator == 'FrontEndUsers' && $eventname == 'OnLogin')
        var_dump($params);
        die("feulogin");
    }
}
当您进行前端登录时,脚本会按预期终止,但在尝试调试$params时,会对事件的发送方式感到困惑,因为甚至会注释掉:

//$this->SendEvent( 'OnLogin', $parms ); 
DoEvent()也处理事件(通过消息退出脚本)。


在发送OnLogin事件的FrontEndUsers中找不到更多代码,请帮助我查找。

我自己解决了这个问题。FrontEndUsers从模块/FrontEndUsers/lib/class.FrontEndUsersManipulator.php发送事件:

function Login( $username, $password, $groups = '', $md5pw = false, $force_logout =false)
{
$module->SendEvent('OnLogin',array('id'=>$uid,'username'=>$username,'ip'=>$ip));
}