function format_time($time, $now = null) { $now = is_null($now) ? time() : $now; $diff = $now - $time; if ($diff < 60) { // Less than a minute ago return 'Moments ago'; } elseif (minutes_ago($diff) == 1) { // A minute ago return 'A minute ago'; } elseif (minutes_ago($diff) < 60) { // A few minutes ago return minutes_ago($diff) . ' minutes ago'; } elseif (hours_ago($diff) == 1) { return 'An hour ago'; } elseif (hours_ago($diff) < 24) { return hours_ago($diff) . ' hours ago'; } elseif (days_ago($diff) == 1) { // A day ago return 'A day ago'; } elseif (days_ago($diff) < 7) { // A few days ago return days_ago($diff) . ' days ago'; } elseif (days_ago($diff) == 7) { // A week ago return 'A week ago'; } else { // Over a week old return date(config('clearboard.date_format'), $time); } }
function update_energy($_user_id) { $forester = $this->db->query('SELECT energy, max_energy, energize_at FROM forest_users WHERE user_id = ' . $_user_id . ' LIMIT 1')->row(); $energy = floor(minutes_ago(time(), $forester->energize_at) / 5); if ($energy > 0) { $this->db->update('forest_users', array('energize_at' => time()), array('user_id' => $_user_id)); } if ($forester->energy + $energy < $forester->max_energy) { $energy_amount = $forester->energy + $energy; } else { $energy_amount = $forester->max_energy; } $energy_amount = (int) $energy_amount; $this->db->update('forest_users', array('energy' => $energy_amount), array('user_id' => $_user_id)); }