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 でこれ以上のコードを見つけることができませんでした。それを見つけるのを手伝ってください。