diff --git a/includes/model/Shifts_model.php b/includes/model/Shifts_model.php index 43ff0c91..11309e11 100644 --- a/includes/model/Shifts_model.php +++ b/includes/model/Shifts_model.php @@ -39,13 +39,13 @@ function Shift_update($shift) { * Update a shift by its external id. */ function Shift_update_by_psid($shift) { - return sql_query("UPDATE `Shifts` SET - `start`=" . sql_escape($shift['start']) . ", - `end`=" . sql_escape($shift['end']) . ", - `RID`=" . sql_escape($shift['RID']) . ", - `name`=" . sql_null($shift['name']) . ", - `URL`=" . sql_null($shift['URL']) . " - WHERE `PSID`=" . sql_escape($shift['PSID'])); + $shift_source = sql_select("SELECT `SID` FROM `Shifts` WHERE `PSID`=" . $shift['PSID']); + if ($shift_source === false) + return false; + if (count($shift_source) == 0) + return null; + $shift['SID'] = $shift_source['SID']; + return Shift_update($shift); } /**