include all mailers

This commit is contained in:
Philip Häusler 2014-12-07 20:29:01 +01:00
parent f199c1f08a
commit 1f572918ff
3 changed files with 53 additions and 46 deletions

View File

@ -1,96 +1,90 @@
<?php <?php
function mail_shift_change($old_shift, $new_shift) { function mail_shift_change($old_shift, $new_shift) {
$users = ShiftEntries_by_shift($old_shift["SID"]); $users = ShiftEntries_by_shift($old_shift["SID"]);
$old_room = Room($old_shift["RID"]); $old_room = Room($old_shift["RID"]);
$new_room = Room($new_shift["RID"]); $new_room = Room($new_shift["RID"]);
$noticable_changes = false; $noticable_changes = false;
$message = _("A Shift you are registered on has changed:"); $message = _("A Shift you are registered on has changed:");
$message .="\n"; $message .= "\n";
if($old_shift["name"] != $new_shift["name"]) { if ($old_shift["name"] != $new_shift["name"]) {
$message .= sprintf(_("* Shift Name changed from %s to %s"), $old_shift["name"], $new_shift["name"]) . "\n"; $message .= sprintf(_("* Shift Name changed from %s to %s"), $old_shift["name"], $new_shift["name"]) . "\n";
$noticable_changes = true; $noticable_changes = true;
} }
if($old_shift["start"] != $new_shift["start"]) { if ($old_shift["start"] != $new_shift["start"]) {
$message .= sprintf(_("* Shift Start changed from %s to %s"),date("y-m-d H:i", $old_shift["start"]), date("y-m-d H:i", $new_shift["start"])) . "\n"; $message .= sprintf(_("* Shift Start changed from %s to %s"), date("y-m-d H:i", $old_shift["start"]), date("y-m-d H:i", $new_shift["start"])) . "\n";
$noticable_changes = true; $noticable_changes = true;
} }
if($old_shift["end"] != $new_shift["end"]) { if ($old_shift["end"] != $new_shift["end"]) {
$message .= sprintf(_("* Shift End changed from %s to %s"),date("y-m-d H:i", $old_shift["end"]), date("y-m-d H:i", $new_shift["end"])) . "\n"; $message .= sprintf(_("* Shift End changed from %s to %s"), date("y-m-d H:i", $old_shift["end"]), date("y-m-d H:i", $new_shift["end"])) . "\n";
$noticable_changes = true; $noticable_changes = true;
} }
if($old_shift["RID"] != $new_shift["RID"]) { if ($old_shift["RID"] != $new_shift["RID"]) {
$message .= sprintf(_("* Shift Location changed from %s to %s"), $old_room["Name"], $new_room["Name"]) . "\n"; $message .= sprintf(_("* Shift Location changed from %s to %s"), $old_room["Name"], $new_room["Name"]) . "\n";
$noticable_changes = true; $noticable_changes = true;
} }
if (!$noticable_changes) { if (! $noticable_changes) {
//There are no changes worth sending an E-Mail // There are no changes worth sending an E-Mail
return; return;
} }
$message .= "\n"; $message .= "\n";
$message .= _("The updated Shift:") . "\n"; $message .= _("The updated Shift:") . "\n";
$message .= $new_shift["name"] . "\n"; $message .= $new_shift["name"] . "\n";
$message .= date("y-m-d H:i", $new_shift["start"]) . " - " . date("H:i", $new_shift["end"]) . "\n"; $message .= date("y-m-d H:i", $new_shift["start"]) . " - " . date("H:i", $new_shift["end"]) . "\n";
$message .= $new_room["Name"] . "\n"; $message .= $new_room["Name"] . "\n";
foreach ($users as $user) { foreach ($users as $user)
if ($user["email_shiftinfo"]) { if ($user["email_shiftinfo"])
engelsystem_email_to_user($user, _("[Angelsystem] Your Shift has changed"), $message); engelsystem_email_to_user($user, '[engelsystem] ' . _("Your Shift has changed"), $message);
}
}
} }
function mail_shift_delete($shift) { function mail_shift_delete($shift) {
$users = ShiftEntries_by_shift($shift["SID"]); $users = ShiftEntries_by_shift($shift["SID"]);
$room = Room($shift["RID"]); $room = Room($shift["RID"]);
$message = _("A Shift you are registered on was deleted:") . "\n"; $message = _("A Shift you are registered on was deleted:") . "\n";
$message .= $shift["name"] . "\n"; $message .= $shift["name"] . "\n";
$message .= date("y-m-d H:i", $shift["start"]) . " - " . date("H:i", $shift["end"]) . "\n"; $message .= date("y-m-d H:i", $shift["start"]) . " - " . date("H:i", $shift["end"]) . "\n";
$message .= $room["Name"] . "\n"; $message .= $room["Name"] . "\n";
foreach ($users as $user) { foreach ($users as $user)
if ($user["email_shiftinfo"]) { if ($user["email_shiftinfo"])
engelsystem_email_to_user($user, _("[Angelsystem] Your Shift was deleted"), $message); engelsystem_email_to_user($user, '[engelsystem] ' . _("Your Shift was deleted"), $message);
}
}
} }
function mail_shift_assign($user, $shift) { function mail_shift_assign($user, $shift) {
if ($user["email_shiftinfo"]) { if ($user["email_shiftinfo"]) {
$room = Room($shift["RID"]); $room = Room($shift["RID"]);
$message = _("You have been assigned to a Shift:") . "\n"; $message = _("You have been assigned to a Shift:") . "\n";
$message .= $shift["name"] . "\n"; $message .= $shift["name"] . "\n";
$message .= date("y-m-d H:i", $shift["start"]) . " - " . date("H:i", $shift["end"]) . "\n"; $message .= date("y-m-d H:i", $shift["start"]) . " - " . date("H:i", $shift["end"]) . "\n";
$message .= $room["Name"] . "\n"; $message .= $room["Name"] . "\n";
engelsystem_email_to_user($user, _("[Angelsystem] Assigned to Shift"), $message); engelsystem_email_to_user($user, '[engelsystem] ' . _("Assigned to Shift"), $message);
} }
} }
function mail_shift_removed($user, $shift) { function mail_shift_removed($user, $shift) {
if ($user["email_shiftinfo"]) { if ($user["email_shiftinfo"]) {
$room = Room($shift["RID"]); $room = Room($shift["RID"]);
$message = _("You have been removed from a Shift:") . "\n"; $message = _("You have been removed from a Shift:") . "\n";
$message .= $shift["name"] . "\n"; $message .= $shift["name"] . "\n";
$message .= date("y-m-d H:i", $shift["start"]) . " - " . date("H:i", $shift["end"]) . "\n"; $message .= date("y-m-d H:i", $shift["start"]) . " - " . date("H:i", $shift["end"]) . "\n";
$message .= $room["Name"] . "\n"; $message .= $room["Name"] . "\n";
engelsystem_email_to_user($user, _("[Angelsystem] Assigned to Shift"), $message); engelsystem_email_to_user($user, '[engelsystem] ' . _("Removed from Shift"), $message);
} }
} }

View File

@ -22,9 +22,10 @@ function ShiftEntries_by_shift($shift_id) {
/** /**
* Create a new shift entry. * Create a new shift entry.
* *
* @param ShiftEntry $shift_entry * @param ShiftEntry $shift_entry
*/ */
function ShiftEntry_create($shift_entry) { function ShiftEntry_create($shift_entry) {
mail_shift_assign(User($shift_entry['UID']), Shift($shift_entry['SID']));
return sql_query("INSERT INTO `ShiftEntry` SET return sql_query("INSERT INTO `ShiftEntry` SET
`SID`=" . sql_escape($shift_entry['SID']) . ", `SID`=" . sql_escape($shift_entry['SID']) . ",
`TID`=" . sql_escape($shift_entry['TID']) . ", `TID`=" . sql_escape($shift_entry['TID']) . ",
@ -45,17 +46,31 @@ function ShiftEntry_update($shift_entry) {
WHERE `id`=" . sql_escape($shift_entry['id'])); WHERE `id`=" . sql_escape($shift_entry['id']));
} }
/**
* Get a shift entry.
*/
function ShiftEntry($shift_entry_id) {
$shift_entry = sql_select("SELECT * FROM `ShiftEntry` WHERE `id`=" . sql_escape($shift_entry_id));
if ($shift_entry === false)
return false;
if (count($shift_entry) == 0)
return null;
return $shift_entry[0];
}
/** /**
* Delete a shift entry. * Delete a shift entry.
*/ */
function ShiftEntry_delete($shift_entry_id) { function ShiftEntry_delete($shift_entry_id) {
$shift_entry = ShiftEntry($shift_entry_id);
mail_shift_removed(User($shift_entry['UID']), Shift($shift_entry['SID']));
return sql_query("DELETE FROM `ShiftEntry` WHERE `id`=" . sql_escape($shift_entry_id)); return sql_query("DELETE FROM `ShiftEntry` WHERE `id`=" . sql_escape($shift_entry_id));
} }
/** /**
* Returns next (or current) shifts of given user. * Returns next (or current) shifts of given user.
* *
* @param User $user * @param User $user
*/ */
function ShiftEntries_upcoming_for_user($user) { function ShiftEntries_upcoming_for_user($user) {
return sql_select(" return sql_select("
@ -71,8 +86,8 @@ function ShiftEntries_upcoming_for_user($user) {
/** /**
* Returns all shift entries in given shift for given angeltype. * Returns all shift entries in given shift for given angeltype.
* *
* @param int $shift_id * @param int $shift_id
* @param int $angeltype_id * @param int $angeltype_id
*/ */
function ShiftEntries_by_shift_and_angeltype($shift_id, $angeltype_id) { function ShiftEntries_by_shift_and_angeltype($shift_id, $angeltype_id) {
return sql_select(" return sql_select("

View File

@ -11,7 +11,6 @@ function Shift_delete_by_psid($shift_psid) {
* Delete a shift. * Delete a shift.
*/ */
function Shift_delete($shift_id) { function Shift_delete($shift_id) {
mail_shift_delete(Shift($shift_id)); mail_shift_delete(Shift($shift_id));
return sql_query("DELETE FROM `Shifts` WHERE `SID`=" . sql_escape($shift_id)); return sql_query("DELETE FROM `Shifts` WHERE `SID`=" . sql_escape($shift_id));
@ -21,7 +20,6 @@ function Shift_delete($shift_id) {
* Update a shift. * Update a shift.
*/ */
function Shift_update($shift) { function Shift_update($shift) {
$old_shift = Shift($shift['SID']); $old_shift = Shift($shift['SID']);
mail_shift_change(Shift($shift['SID']), $shift); mail_shift_change(Shift($shift['SID']), $shift);