public static function deactivateListingBySID($listingSID, $deleteRecordFromActivePeriod = false) { if (SJB_DB::query('UPDATE `listings` SET `active` = 0 WHERE `sid` = ?n', $listingSID)) { if ($deleteRecordFromActivePeriod) { SJB_DB::query('DELETE FROM `listings_active_period` WHERE `listing_sid`=?n', $listingSID); } else { $numberOfDays = SJB_DB::query('SELECT `number_of_days` FROM `listings_active_period` WHERE `listing_sid` = ?n', $listingSID); $expirationDate = SJB_DB::query('SELECT `expiration_date`, `featured_expiration`, `priority_expiration` FROM `listings` WHERE `sid` = ?n', $listingSID); $expirationDate = array_pop($expirationDate); $featuredExpiration = !empty($expirationDate['featured_expiration']) ? $expirationDate['featured_expiration'] : date('Y-m-d'); $priorityExpiration = !empty($expirationDate['priority_expiration']) ? $expirationDate['priority_expiration'] : date('Y-m-d'); $expirationDate = $expirationDate['expiration_date']; if ($expirationDate) { if ($numberOfDays) { SJB_DB::query('UPDATE `listings_active_period` SET `number_of_days` = DATEDIFF(?s, NOW()), `featured_period` = DATEDIFF(?s, NOW()), `priority_period` = DATEDIFF(?s, NOW()) WHERE `listing_sid` = ?n', $expirationDate, $featuredExpiration, $priorityExpiration, $listingSID); } else { SJB_DB::query('INSERT INTO `listings_active_period` (`listing_sid`, `number_of_days`, `featured_period`, `priority_period`) VALUES (?n, DATEDIFF(?s, NOW()), DATEDIFF(?s, NOW()), DATEDIFF(?s, NOW()))', $listingSID, $expirationDate, $featuredExpiration, $priorityExpiration); } } SJB_ListingManager::deactivateListingKeywordsBySID($listingSID); } return true; } return false; }