Пример #1
0
 /**
  * Delete old cc list and add new email instead
  *
  * @param email: list of email addresses
  * @param comment: comment for these addresses
  *
  * @return boolean
  */
 function updateCC($email, $comment)
 {
     global $Language;
     $user_id = user_isloggedin() ? user_getid() : 100;
     $arr_email = util_split_emails($email);
     $date = time();
     $ok = true;
     $changed = false;
     if (!util_validateCCList($arr_email, $message)) {
         exit_error($Language->getText('tracker_index', 'cc_list_invalid'), $message);
     }
     //calculate old_values to put into artifact_history
     $old_value = $this->getCCEmails();
     $new_value = join(',', $arr_email);
     //look if there is really something to do or not
     list($deleted_values, $added_values) = util_double_diff_array(explode(",", $old_value), $arr_email);
     if (count($deleted_values) == 0 && count($added_values) == 0) {
         return true;
     }
     if (!$this->deleteAllCC()) {
         $GLOBALS['Response']->addFeedback('error', $Language->getText('tracker_common_artifact', 'prob_cc_list', $this->getID()));
         $ok = false;
     }
     reset($arr_email);
     while (list(, $cc) = each($arr_email)) {
         $changed = true;
         $res = $this->insertCC($cc, $user_id, $comment, $date);
         if (!$res) {
             $ok = false;
         }
     }
     if (!$ok) {
         $GLOBALS['Response']->addFeedback('error', $Language->getText('tracker_common_artifact', 'cc_add_fail'));
     } else {
         $this->addHistory('cc', $old_value, $new_value);
     }
     return $ok;
 }
Пример #2
0
/**
 * Return the emails normalized 
**/
function util_normalize_emails($adresses)
{
    $adresses = util_split_emails($adresses);
    list($host, $port) = explode(':', $GLOBALS['sys_default_domain']);
    foreach ($adresses as $key => $value) {
        if (trim($value) !== "") {
            $value = util_cleanup_emails($value);
            if (!validate_email($value)) {
                //Maybe it is a codendi username, we take his e-mail
                $result = user_get_result_set_from_unix($value);
                if ($result && db_numrows($result) > 0) {
                    $value = db_result($result, 0, "email");
                } else {
                    $value = $value . "@" . $host;
                }
            }
            $adresses[$key] = $value;
        }
    }
    return implode(',', $adresses);
}