diff --git a/Mage/Task/BuiltIn/Releases/List.php b/Mage/Task/BuiltIn/Releases/List.php index f2037bd..310a54b 100644 --- a/Mage/Task/BuiltIn/Releases/List.php +++ b/Mage/Task/BuiltIn/Releases/List.php @@ -51,11 +51,13 @@ class Mage_Task_BuiltIn_Releases_List if ($currentRelease == $release) { $isCurrent = ' <- current'; } + + $dateDiff = $this->_dateDiff($releaseDate); Mage_Console::output( 'Release: ' . $release . ' ' . '- Date: ' . $releaseDate . ' ' - . '- Index: ' . $releaseIndex . '' . $isCurrent, 2); + . '- Index: ' . $releaseIndex . '' . $dateDiff . $isCurrent, 2); } } @@ -67,5 +69,53 @@ class Mage_Task_BuiltIn_Releases_List return false; } } + + private function _dateDiff($releaseDate) + { + $textDiff = ''; + $releaseDate = new DateTime($releaseDate); + $now = new DateTime(); + $diff = $now->diff($releaseDate); + + if ($diff->format('%a') <= 7) { + if ($diff->format('%d') == 7) { + $textDiff = ' [a week ago] '; + + } else if ($diff->format('%d') > 0 && $diff->format('%d') < 7) { + $days = $diff->format('%d'); + if ($days <= 1) { + $textDiff = ' [one day ago] '; + } else { + $textDiff = ' [' . $days . ' days ago] '; + } + + } else if ($diff->format('%d') == 0 && $diff->format('%h') > 0) { + $hours = $diff->format('%h'); + if ($hours <= 1) { + $textDiff = ' [one hour ago] '; + } else { + $textDiff = ' [' . $hours . ' hours ago] '; + } + + } else if ($diff->format('%d') == 0 && $diff->format('%h') == 0) { + $minutes = $diff->format('%i'); + if ($minutes <= 1) { + $textDiff = ' [one minute ago] '; + } else { + $textDiff = ' [' . $minutes . ' minutes ago] '; + } + + } else if ($diff->format('%d') == 0 && $diff->format('%h') == 0 && $diff->format('%i') == 0) { + $seconds = $diff->format('%s'); + if ($seconds < 10) { + $textDiff = ' [just now!] '; + } else { + $textDiff = ' [' . $seconds . ' seconds ago] '; + } + } + } + + return $textDiff; + } } \ No newline at end of file