enum e_EventRefillTime
{
ERT_WEEKDAY,
ERT_HOURS,
ERT_MINUITES
}
new
EventRefillTime[][e_EventRefillTime] =
{
{0, 18, 00} // Каждый понедельник в 18:00
};
new
year, month, day,
weekday;
weekday = GetDayOfWeek(year, month, day); // Получили день недели
new
cur_event,
cur_day_left = 7,
tmp_day_left;
// Получаем первый ивент, который состоится и сколько дней до него осталось
for (new i = 0; i < sizeof EventRefillTime; ++i)
{
tmp_day_left = EventRefillTime[i][ERT_WEEKDAY] - weekday;
tmp_day_left = tmp_day_left < 0 ? tmp_day_left : -(tmp_day_left);
if (tmp_day_left < cur_day_left)
{
cur_day_left = tmp_day_left;
cur_event = i;
}
}
// Теперь к сегодняшней дате, и времени ивента прибавим сколько дней осталось
mysql_format(mysql, FormatData_512, sizeof FormatData_512, "\
SELECT \
(DATE_ADD(\"%d-%d-%d %02d:%02d:00\", INTERVAL %d DAY)) AS event_date",
year, month, day,
EventRefillTime[i][ERT_HOURS],
EventRefillTime[i][ERT_MINUITES],
cur_day_left
);
new
Cache:cache_id = mysql_query(mysql, FormatData_512, true),
event_date[19 + 1];
cache_get_value_name(0, "event_date", event_date);
cache_delete(cache_id);