Beispiel #1
0
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);
}
Beispiel #2
0
 $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) {