Hi
I write after_retrieve logic hook on detail view page.
In that logic hook I did some save transaction. I Problem in that this hook run multiple time after detail view page is load.
I echo the sql query and found that my query run 4 time.
can anybody tell me what is the problem
my code is below-
PHP Code:<?php
$hook_version = 1;
$hook_array = Array();
// position, file, function
$hook_array['after_retrieve'] = Array();
$hook_array['after_retrieve'][] = Array(1, 'updateNewFlag', 'custom/modules/Quotes/UpdateNewFlag.php', 'UpdateFlagLogicHook', 'updateNewFlag');
?>
PHP Code:<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
class UpdateFlagLogicHook {
function updateNewFlag(&$focus, $event, $arguments) {
global $current_user;
$query = "SELECT id FROM newFlag WHERE record_id = '{$focus->id}' and created_by_userID='{$current_user->id}' and module_name='Quotes'";
$result = $focus->db->query($query, true);
if($focus->db->getRowCount($result) != 0) { //record is alrady present mark it read i.e 0
$query = "UPDATE newFlag set read_status = 0,modified_user_id='{$current_user->id}' WHERE record_id = '{$focus->id}' and created_by_userID='{$current_user->id}' and module_name='Quotes'";
$result = $focus->db->query($query, true);
}//if
else
{//means new record mark as read for that user i.e 0
echo $query = "INSERT INTO newFlag (id,record_id,module_name,created_by_userID,modified_user_id,read_status,date_modify) VALUE(uuid(),'{$focus->id}','Quotes','{$focus->created_by}','{$current_user->id}','0',NOW())";
$result = $focus->db->query($query, true);
}
}//function
}//class
?>


LinkBack URL
About LinkBacks



Reply With Quote
Bookmarks