d >= 8) { $g_val = floor($interval->d / 7); $g_txt = ($g_val == 1) ? 'week' : 'weeks'; $l_val = $interval->d % 7; $l_txt = ($l_val == 1) ? 'day' : 'days'; } elseif ($interval->d >= 1) { $g_val = $interval->d; $g_txt = ($g_val == 1) ? 'day' : 'days'; $l_val = $interval->h; $l_txt = ($l_val == 1) ? 'hour' : 'hours'; } elseif ($interval->h >= 1) { $g_val = $interval->h; $g_txt = ($g_val == 1) ? 'hour' : 'hours'; $l_val = $interval->i; $l_txt = ($l_val == 1) ? 'minute' : 'minutes'; } else { $g_val = $interval->i; $g_txt = ($g_val == 1) ? 'minute' : 'minutes'; $l_val = $interval->s; $l_txt = ($l_val == 1) ? 'second' : 'seconds'; } return "$g_val $g_txt" . (($l_val > 0) ? ", $l_val $l_txt" : ''); } function colorify_time($image, $start, $end) { $now = time(); $y = (1 - ($now-$start->format('U'))/($end->format('U')-$start->format('U')))*255; return imagecolorallocate($image, 128, 0, $y/2); } $start = new DateTime('@'.$start); $deadline = new DateTime('@'.$deadline); $voting_ends = new DateTime('@'.$voting_ends); $now = new DateTime('now'); if ($voting_ends < $now) { $time_text = 'Voting is closed!'; $time_color = imagecolorallocate($image, 0, 64, 64); } elseif ($deadline < $now) { $time_text = 'Voting ends in '.textify_time(date_diff($now, $voting_ends)); $time_color = colorify_time($image, $deadline, $voting_ends); } elseif ($start < $now) { $time_text = 'Deadline in '.textify_time(date_diff($now, $deadline)); $time_color = colorify_time($image, $start, $deadline); } else { $time_text = 'Round starts in '.textify_time(date_diff($now, $start)); $time_color = imagecolorallocate($image, 0, 96, 48); } $name_box = imagettfbbox(12, 0, $name_font, $name); $name_width = $name_box[4] - $name_box[6]; $name_height = $name_box[1] - $name_box[7]; $name_left = $window_left; $name_bottom = $window_top + $name_height; $time_box = imagettfbbox(8, 0, $time_font, $time_text); $time_width = $time_box[4] - $time_box[6]; $time_height = $time_box[1] - $time_box[7]; $time_left = $window_left; $time_bottom = $window_top + $name_height + $time_height + 3; imagettftext($image, 12, 0, $name_left, $name_bottom, $name_color, $name_font, $name); imagettftext($image, 7, 0, $time_left, $time_bottom, $time_color, $time_font, $time_text); #echo "$time_text\n"; imagepng($image); imagedestroy($image); ?>