Don't look on 1 line, look on whole block. If you rewrite it properly you get.
if(!isset($alert['pk_i_id']) || !isset($alert['s_email'])) {
continue;
}
$user = array();
// Find user record
if($alert['fk_i_user_id'] > 0) {
$user = $mUser->findByPrimaryKey($alert['fk_i_user_id']);
} else {
$user = $mUser->findByEmail($alert['s_email']);
}
// User not found
if($user === false || !isset($user['pk_i_id'])) {
$user = array(
's_name' => $alert['s_email'],
's_email' => $alert['s_email']
);
}
// Only trigger alert to non-banned users
if(osc_is_email_banned($user['s_email']) !== false) {
osc_run_hook('hook_' . $internal_name, $user, $ads, $alert, $items, $totalItems);
AlertsStats::newInstance()->increase(date('Y-m-d'));
}
Means you use user record email & name if exists, otherwise use alert data.