FatCat Опубликовано 30 Марта 2007 Жалоба Поделиться Опубликовано 30 Марта 2007 Решил сделать, чтобы модераторы могли добавлять глобальные оповещения - пусть вводят через календарь.Скриншот: http://vesvalo.net/uploads/calendar_event.gif Boards.phpПосле кода: if ( ! $ibforums->vars['autohide_calendar'] ) { $event_string = $ibforums->lang['no_calendar_events']; $stats_html .= $this->html->calendar_events( $event_string ); } } }Добавил код: if ($ibforums->vars['show_calendar']) { if ($ibforums->vars['calendar_limit'] < 2) { $ibforums->vars['calendar_limit'] = 2; } $our_unix = time() + $std->get_time_offset(); $max_date = $our_unix + ($ibforums->vars['calendar_limit'] * 86400); $DB->query("SELECT eventid, title, read_perms, priv_event, userid, unix_stamp FROM ibf_calendar_events WHERE unix_stamp > $our_unix and unix_stamp < $max_date ORDER BY unix_stamp ASC"); $show_events = array(); while ($event = $DB->fetch_row()) { if ($event['priv_event'] == 1 and $ibforums->member['id'] != $event['userid']) { continue; } if ( $event['read_perms'] != '*' ) { if ( ! preg_match( "/(^|,)".$ibforums->member['mgroup']."(,|$)/", $event['read_perms'] ) ) { continue; } } $c_time = date( 'j-F-y', $event['unix_stamp']); $show_events[] = "<a href='{$ibforums->base_url}act=calendar&code=showevent&eventid={$event['eventid']}' title='$c_time'>".$event['title']."</a>"; } $ibforums->lang['calender_f_title'] = sprintf( $ibforums->lang['calender_f_title'], $ibforums->vars['calendar_limit'] ); if ( count($show_events) > 0 ) { $event_string = implode( $this->sep_char.' ', $show_events ); $data['calendar_top']= $this->html->calendar_events2( $event_string ); } else { if ( ! $ibforums->vars['autohide_calendar'] ) { $event_string = $ibforums->lang['no_calendar_events']; $data['calendar_top']= $this->html->calendar_events2( $event_string ); } } } Таким образом, у нас появилась функция calendar_events2 Вызов этой функции в скине {$data['calendar_top']} skin_boards.phpДобавляю функцию:function calendar_events2($events = "") { global $ibforums; return <<<EOF <table border="5" cellspacing="0" cellpadding="0" align="center"><tr> <td class='pformstrip'>{$ibforums->lang['calender_f_title']}<span>: </span>$events</td> </tr></table> <br /> EOF; } Теперь добавляю вызов в конец функций:function GuestPanel($data="") - для неавторизованных;function WelcomePanel($data="") - для авторизованных. В админке настраиваю:Отображать будущие события? Да[v] Автоматически скрывать, если события отсутствуют? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.