I'm trying to log admin activity and generating the crud via helper, it's working great but there's one problem.
When it's logging the data after the user just *updating* one row, it spawning like 4-6 insert AND update log data to the log table.
Can anyone help me in this case?
Here is my code in the helper.
function render_event($table_name)
{
$CI = & get_instance();
$crud = new grocery_CRUD();
$crud->set_table($table_name);
if ($CI->session->userdata('privileges') > 2) {
$crud->unset_add();
$crud->unset_print();
$crud->unset_export();
$crud->unset_edit();
$crud->unset_delete();
} elseif ($CI->session->userdata('privileges') > 1) {
$crud->unset_delete();
$crud->callback_after_insert(log_execution('insert', $table_name));
$crud->callback_after_update(log_execution('update', $table_name));
} else {
$crud->callback_after_insert(log_execution('insert', $table_name));
$crud->callback_after_update(log_execution('update', $table_name));
}
return $crud->render();
}
and the log_execution() in the same helper file
function log_execution($exec, $table_name)
{
$CI = & get_instance();
$log_data = array(
'uid' => $CI->session->userdata('uid'),
'username' => $CI->session->userdata('username'),
'execution' => $exec,
'table_name' => $table_name,
'date_execution' => date('Y-m-d H:i:s')
);
$CI->db->insert('operations_logs', $log_data);
}
