function register_assignees_flag($assignees_flag = array(), $is_new_object = false) { $link = mysql_connect(DB_HOST, DB_USER, DB_PASS); mysql_select_db(DB_NAME); if (!$is_new_object) { $query = "delete from healingcrystals_assignments_flag_fyi_actionrequest where object_id='" . $this->getId() . "'"; mysql_query($query, $link); } $users = array(); foreach ($assignees_flag['flag_fyi'] as $user_id) { if (!array_key_exists((string) $user_id, $users)) { $users[(string) $user_id] = array('flag_fyi' => '0', 'flag_actionrequest' => '0', 'priority_actionrequest' => '0', 'flag_email' => '0'); } $users[(string) $user_id]['flag_fyi'] = '1'; } foreach ($assignees_flag['flag_actionrequest'] as $user_id) { if (!array_key_exists((string) $user_id, $users)) { $users[(string) $user_id] = array('flag_fyi' => '0', 'flag_actionrequest' => '0', 'priority_actionrequest' => '0', 'flag_email' => '0'); } $users[(string) $user_id]['flag_actionrequest'] = '1'; } foreach ($assignees_flag['priority_actionrequest'] as $entry) { $vals = explode('_', $entry); list($temp_user_id, $priority) = $vals; if (array_key_exists((string) $temp_user_id, $users) && $users[(string) $temp_user_id]['flag_actionrequest'] == '1') { $users[(string) $temp_user_id]['priority_actionrequest'] = $priority; } } foreach ($assignees_flag['flag_email'] as $user_id) { if (!array_key_exists((string) $user_id, $users)) { $users[(string) $user_id] = array('flag_fyi' => '0', 'flag_actionrequest' => '0', 'priority_actionrequest' => '0', 'flag_email' => '0'); } $users[(string) $user_id]['flag_email'] = '1'; } foreach ($users as $user_id => $flags) { $query = "insert into healingcrystals_assignments_flag_fyi_actionrequest (user_id, object_id, flag_fyi, flag_actionrequest, priority_actionrequest, email_flag) values ('" . $user_id . "', '" . $this->getId() . "', '" . $flags['flag_fyi'] . "', '" . $flags['flag_actionrequest'] . "', '" . $flags['priority_actionrequest'] . "', '" . $flags['flag_email'] . "')"; //mysql_query("insert into testing (date_added, content) values (now(), '" . mysql_real_escape_string($query) . "')"); mysql_query($query, $link); } //BOF:mod 20111011 #449 if ($is_new_object) { $query = "select user_id from healingcrystals_assignments_flag_fyi_actionrequest where object_id='" . $this->getId() . "' and email_flag='1'"; $result = mysql_query($query); $email_to = array(); if (mysql_num_rows($result)) { while ($entry = mysql_fetch_assoc($result)) { $email_to[] = new User($entry['user_id']); } } if (count($email_to)) { $owner_company = get_owner_company(); $project = $this->getProject(); // Prepare object type translations if (is_foreachable($languages)) { $object_type = array(); foreach ($languages as $language) { $object_type[$language->getLocale()] = $this->getVerboseType(false, $language); } // foreach } else { $object_type = $this->getVerboseType(); } // if $created_by_id = $this->getCreatedById(); $created_by = new User($created_by_id); $variables = array('details_body' => EmailTemplates::renderProjectObjectDetails($this, $languages), 'project_name' => $project->getName(), 'project_url' => $project->getOverviewUrl(), 'object_type' => $object_type, 'object_name' => $this->getName(), 'object_body' => $this->getFormattedBody(), 'object_url' => $this->getViewUrl(), 'owner_company_name' => $owner_company->getName(), 'created_by_name' => $created_by->getDisplayName(), 'created_by_url' => $created_by->getViewUrl()); if ($context === null) { $context = $this->getNotificationContext(); } // if ApplicationMailer::send($email_to, 'resources/task_assigned', $variables, $context); } } //EOF:mod 20111011 #449 mysql_close($link); }