}
 // TODO: switch transation language based on user so each user
 // gets message in their selected language.
 for ($i = 0; $i < count($partlogin); $i++) {
     // Log the deletion
     activity_log($id, $login, $partlogin[$i], $LOG_DELETE, "");
     $do_send = get_pref_setting($partlogin[$i], "EMAIL_EVENT_DELETED");
     user_load_variables($partlogin[$i], "temp");
     if ($partlogin[$i] != $login && $do_send == "Y" && strlen($tempemail) && $send_email != "N") {
         $msg = translate("Hello") . ", " . $tempfullname . ".\n\n" . translate("An appointment has been canceled for you by") . " " . $login_fullname . ". " . translate("The subject was") . " \"" . $name . "\"\n\n";
         if (strlen($login_email)) {
             $extra_hdrs = "From: {$login_email}\nX-Mailer: " . translate($application_name);
         } else {
             $extra_hdrs = "From: {$email_fallback_from}\nX-Mailer: " . translate($application_name);
         }
         mail($tempemail, translate($application_name) . " " . translate("Notification") . ": " . $name, html_to_8bits($msg), $extra_hdrs);
     }
 }
 // Instead of deleting from the database... mark it as deleted
 // by setting the status for each participant to "D" (instead
 // of "A"/Accepted, "W"/Waiting-on-approval or "R"/Rejected)
 if ($override_repeat) {
     dbi_query("INSERT INTO webcal_entry_repeats_not ( cal_id, cal_date ) " . "VALUES ( {$id}, {$date} )");
     // Should we log this to the activity log???
 } else {
     // If it's a repeating event, delete any event exceptions
     // that were entered.
     if ($event_repeats) {
         $res = dbi_query("SELECT cal_id FROM webcal_entry " . "WHERE cal_group_id = {$id}");
         if ($res) {
             $ex_events = array();
                     $msg .= translate("An appointment has been updated by");
                 }
                 $msg .= " " . $login_fullname . ". " . translate("The subject is") . " \"" . $name . "\"\n\n" . translate("The description is") . " \"" . $description . "\"\n" . translate("Date") . ": " . date_to_str($fmtdate) . "\n" . (empty($hour) && empty($minute) ? "" : translate("Time") . ": " . display_time($hour * 10000 + $minute * 100) . "\n") . translate("Please look on") . " " . translate($application_name) . ".";
                 // add URL to event, if we can figure it out
                 /*
                 if ( ! empty ( $server_url ) ) {
                   $url = $server_url .  "view_entry.php?id=" .  $id;
                   $msg .= "\n\n" . $url;
                 }
                 */
                 if (strlen($from)) {
                     $extra_hdrs = "From: {$from}\r\nX-Mailer: " . translate($application_name);
                 } else {
                     $extra_hdrs = "X-Mailer: " . translate($application_name);
                 }
                 mail($ext_emails[$i], translate($application_name) . " " . translate("Notification") . ": " . $name, utf8_decode(html_to_8bits($msg)), $extra_hdrs);
             }
         }
     }
 }
 // add site extras
 for ($i = 0; $i < count($site_extras) && empty($error); $i++) {
     $sql = "";
     $extra_name = $site_extras[$i][0];
     $extra_type = $site_extras[$i][2];
     $extra_arg1 = $site_extras[$i][3];
     $extra_arg2 = $site_extras[$i][4];
     $value = ${$extra_name};
     //echo "Looking for $extra_name... value = " . $value . " ... type = " .
     // $extra_type . "<br />\n";
     if (strlen(${$extra_name}) || $extra_type == $EXTRA_DATE) {