/** * Regra para ordenar eventos * - Por data * - Depois pré-inscrição * @param Evento $a * @param Evento $b * @return int */ function ordemDesc(Evento $a, Evento $b) { if ($a->preInscricao() && !$b->preInscricao()) { return -1; } if (!$a->preInscricao() && $b->preInscricao()) { return 1; } // Se pré-inscrição, por ultimo if (strtotime($a->data) == strtotime($b->data)) { return 1; } return strtotime($a->data) > strtotime($b->data) ? -1 : 1; }