как уже сказали, алгоритм должен быть несложным
проблема одна - видеть нормально события,
то есть тот виджет по событиям, что есть сейчас, видимо плох
есть такое предложение (тут ещё и разделы сайта повыше расположены):
В данном варианте тулбар с событиями выстраивается над всеми записями,
которые расположены в том порядке, в котором и публиковались (чтобы не устраивать путаницы)
В текущем окне тулбара события прошедшие прячутся слева за кликом по <<, а будущие за >>
вместо этих << >> кстати можно повесить два псевдо-выпадающие списка (про прошлые события и про будущие)
который содержал бы в себе отсортированные имена записей - первым по списку располагается то имя, которое ближе к текущим событиям
Вариант когда для текущих событий не будет хватать окна на 4 события, нужно еще продумывать