Возможно, это может быть плагин, который вам нужен, sfDoctrineGuardLoginHistoryPlugin и позволяет расширять информацию, которую вы сохраняете.
Проверить наличие дополнительных плагинов here.
Взгляните на код плагина, вам просто нужно изменить следующий файл: PluginUserLoginHistoryTable.class.php
Добавить в функции writeLoginHistory
и createHistoryEntry
информацию, которую вы хотите:
writeLoginHistory(sfEvent $event) {
//... same code than in the plugin
//lets save module and action
if (!isset($request))
{
$sActionName = sfContext::getInstance()->getActionName();
$sModuleName = sfContext::getInstance()->getModuleName();
}
else
{
if (isset($request["module"]))
{
$sActionName = $request["action"];
$sModuleName = $request["module"];
}
}
//get values from the http bar URL
if (!isset($sModuleName))
{
$sFullURL = sfContext::getInstance()->getRouting()->getCurrentInternalUri();
///... strip action and module name from the above URL
}
}
Не забудьте передать эти значения для createHistoryEntry функции, а также для обновления этой функции с большим количеством входных значений, которые будут сохранены.
спасибо, это именно то, что я искал, я читал документы, но могу ли вы написать пример того, как сохранить 'module/action'? Я имею в виду, где или лучше, как мне получить эту часть. – Reynier
Отредактировано выше, чтобы сохранить действие и модуль, проверьте информацию о плагине для получения дополнительных изменений. – xtrm