function emailOnShiftSwapDecided($connection, $request_id, $approved) { $decisionUpper = $approved == true ? "Approved" : "Declined"; $decision = $approved == true ? "approved" : "declined"; $request_id = mysql_real_escape_string($request_id); $query = 'select requests.approved_date as request_approved,requests.fulfill_user_id as filler_id,shifts.user_id as owner_id,shifts.name as shift_name,shifts.time_begin as shift_begin,shifts.time_end as shift_end ' . ' from requests left outer join shifts on requests.shift_id=shifts.id where requests.id="' . $request_id . '";'; $result = mysql_query($query); if ($result && mysql_num_rows($result) == 1) { $row = mysql_fetch_assoc($result); $owner_id = $row["owner_id"]; $filler_id = $row["filler_id"]; $shift_name = $row["shift_name"]; $request_approved = dateFromString($row["request_approved"]); $shift_begin = dateFromString($row["shift_begin"]); $shift_end = dateFromString($row["shift_end"]); $subject = 'BSFTH Swap ' . $decisionUpper; $body = 'The following Shift Swap has been ' . $decision . ' (at ' . getHumanFullDateFromDate($request_approved) . '): ' . $shift_name . ' : ' . getHumanDayFromDate($shift_begin) . ', ' . getHumanTimeOfDayFromDate($shift_begin) . ' - ' . getHumanTimeOfDayFromDate($shift_end); mysql_free_result($result); $query = 'select id,username,email from users where (id in ("' . $owner_id . '","' . $filler_id . '") and preference_email_shift_self="1") or preference_email_shift_other="1";'; $result = mysql_query($query); if ($result) { while ($row = mysql_fetch_assoc($result)) { $email = $row["email"]; if (isValidEmail($email)) { sendEmailBSFTH($email, $subject, $body); } } mysql_free_result($result); } else { //error_log("could not send users data on approve"); } mysql_free_result($result); } // notify owner of shift where preference_email_shift_self=1 // notify filler of request where preference_email_shift_self=1 // notify all users where preference_email_shift_other=1 //sendEmailBSFTH($email, $subject, $body); }
$startDate = decode_real_escape_string($_POST[$ACTION_TYPE_SHIFT_CREATE_START_DATE]); $endDate = decode_real_escape_string($_POST[$ACTION_TYPE_SHIFT_CREATE_END_DATE]); $repeating = decode_real_escape_string($_POST[$ACTION_TYPE_SHIFT_CREATE_REPEATING]); $shift_name = decode_real_escape_string($_POST[$ACTION_TYPE_SHIFT_CREATE_NAME]); $shift_name = substr($shift_name, 0, 32); logEventDB($connection, $TIME_ZONE_OFFSET, $ACTION_VALUE_IP_REMOTE, $ACTION_VALUE_IP_FORWARD, $user_id, $LOG_TYPE_SHIFT_CREATE_ATTEMPT, $startDate . "|" . $endDate . "|" . $shift_name . "|" . $repeating); if (!($startDate && $endDate && $repeating && $shift_name)) { echo '{ "status":"error", "message":"missing arguments" }'; } else { $children = computeDatePermutations($startDate, $endDate, $repeating); if ($children !== null) { $firstChildStartTime = ""; $len = count($children); if ($len > 0) { $startTime = dateFromString($startDate); $endTime = dateFromString($endDate); $userid = $ACTION_VALUE_USER_ID; $query = 'insert into shifts (created, parent_id, user_id, name, time_begin, time_end, algorithm) values (' . $TIME_NOW . ',"0","' . $userid . '","' . $shift_name . '","' . standardSQLDateFromSeconds($startTime) . '","' . standardSQLDateFromSeconds($endTime) . '","' . $repeating . '") ;'; // INSERT IT $result = mysql_query($query, $connection); if (!$result) { echo '{ "status":"error", "message":"error creating parent shift" }'; break; } // GET NEW PARENT ID $parent_id = intval(mysql_insert_id()); // FOR EACH CHILD, INSERT SHIFTS: for ($i = 0; $i < $len; ++$i) { $startTime = $children[$i][0]; $endTime = $children[$i][1]; if ($i == 0) {