Пример #1
0
 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;
 }