MuxaHuKyC Опубликовано 29 Сентября 2003 Жалоба Поделиться Опубликовано 29 Сентября 2003 Как известно, в форуме есть календарь. Достаточно продвинутый. И можно сделать так что бы в него могли добавлять события и другие пользователи.Но он показывает, на главной страничке конференции, только именинников. А как бы сделать так, что бы там показывались и другие события. Подскажите, пожалуйста. PS: 1.2 PSS: Извините, что в форуме модификаций написал то же самое. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 WildCat Опубликовано 29 Сентября 2003 Жалоба Поделиться Опубликовано 29 Сентября 2003 Погоди, дни рождения - это понятно, они и так покажутся, автоматом. Входишь в календарь - Добавить событие (слева внизу) и пиши что хочешь Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 29 Сентября 2003 Жалоба Поделиться Опубликовано 29 Сентября 2003 MuxaHuKyC Зайди в админке в System Settings -> Calendar/Birthday и отметь там Show forthcoming events? - будут тебе все события. Там вообще все настройки календаря. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MuxaHuKyC Опубликовано 30 Сентября 2003 Автор Жалоба Поделиться Опубликовано 30 Сентября 2003 theIggs О. То, что надо. Думаю ещё события сверху (перед списком форумов) зафигачить - вообще здорово будет...Пошёл менять... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MuxaHuKyC Опубликовано 30 Сентября 2003 Автор Жалоба Поделиться Опубликовано 30 Сентября 2003 Эх. Что-то я не смог такое сделать. Как бы сделать что бы именинники показывались внизу под списком форумов, а события над списком форумов?Подскажите, пожалуйста, если не трудно... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 theIggs Опубликовано 1 Октября 2003 Жалоба Поделиться Опубликовано 1 Октября 2003 Так, что ли? Типа такого: 1. Открыть sources/Boards.php Найти и ВЫРЕЗАТЬ следующий кусок: //----------------------------------------------- // Are we viewing the calendar? //----------------------------------------------- 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; } //----------------------------------------- // Do we have permission to see the event? //----------------------------------------- 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 ); $stats_html .= $this->html->calendar_events( $event_string ); } else { if ( ! $ibforums->vars['autohide_calendar'] ) { $event_string = $ibforums->lang['no_calendar_events']; $stats_html .= $this->html->calendar_events( $event_string ); } } } Теперь найти: $this->sep_char = trim( $this->html->active_list_sep() ); И ниже добавить: //----------------------------------------------- // Are we viewing the calendar? //----------------------------------------------- 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; } //----------------------------------------- // Do we have permission to see the event? //----------------------------------------- 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 ); $this->output .= $this->html->calendar_events( $event_string ); } else { if ( ! $ibforums->vars['autohide_calendar'] ) { $event_string = $ibforums->lang['no_calendar_events']; $this->output .= $this->html->calendar_events( $event_string ); } } } 2. Открыть Skin/s*/skin_boards.php Найти: function calendar_events($events = "") { global $ibforums; return <<<EOF <tr> <td class='pformstrip' colspan='2'>{$ibforums->lang['calender_f_title']}</td> </tr> <tr> <td class='row2' width='5%' valign='middle'><{F_ACTIVE}></td> <td class='row4' width='95%'>$events</td> </tr> EOF; } Заменить на: function calendar_events($events = "") { global $ibforums; return <<<EOF <div class="tableborder"> <table cellpadding='4' cellspacing='1' border='0' width='100%'> <tr> <td class='pformstrip' colspan='2'>{$ibforums->lang['calender_f_title']}</td> </tr> <tr> <td class='row2' width='5%' valign='middle'><{F_ACTIVE}></td> <td class='row4' width='95%'>$events</td> </tr> </table> </div><br> EOF; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MuxaHuKyC Опубликовано 1 Октября 2003 Автор Жалоба Поделиться Опубликовано 1 Октября 2003 Во. Сам сделал: Добавить в Skin/s*/skin_boards.php function calendar_header() { global $ibforums; return <<<EOF <br /> <div class="tableborder"> <div class="maintitle">События</div> <table cellpadding='4' cellspacing='1' border='0' width='100%'> EOF; } function calendar_events_yes($events = "") { global $ibforums; return <<<EOF <tr> <td class='pformstrip' colspan='2'>{$ibforums->lang['calender_f_title']}</td> </tr> <tr> <td class='row2' width='5%' valign='middle'><img src=/forums/style_images/1/bf_new.gif></td> <td class='row4' width='95%'>$events</td> </tr> EOF; } function calendar_events_no($events = "") { global $ibforums; return <<<EOF <tr> <td class='pformstrip' colspan='2'>{$ibforums->lang['calender_f_title']}</td> </tr> <tr> <td class='row2' width='5%' valign='middle'><img src=/forums/style_images/1/bf_nonew.gif></td> <td class='row4' width='95%'>$events</td> </tr> EOF; } function calendar_footer() { global $ibforums; return <<<EOF </table> </div> <br> EOF; } Добавить в /sources/Boards.phpперед $this->process_all_cats(); //-- calendar events begin 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( 'd.m.Y', $event['unix_stamp']); $show_events[] = "<a href='{$ibforums->base_url}act=calendar&code=showevent&eventid={$event['eventid']}' title='$c_time'>".$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( '<br>', $show_events ); $stats_html .= $this->html->calendar_events_yes( $event_string ); } else { if ( ! $ibforums->vars['autohide_calendar'] ) { $event_string = $ibforums->lang['no_calendar_events']; $stats_html .= $this->html->calendar_events_no( $event_string ); } } if ($stats_html != "") { $this->output .= $this->html->calendar_header(); $this->output .= $stats_html; $this->output .= $this->html->calendar_footer(); } } //-- calendar events end Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 MuxaHuKyC Опубликовано 1 Октября 2003 Автор Жалоба Поделиться Опубликовано 1 Октября 2003 Кстати, напомните, где раздаются права тем, кто может в календарь события добавлять? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
MuxaHuKyC
Как известно, в форуме есть календарь. Достаточно продвинутый. И можно сделать так что бы в него могли добавлять события и другие пользователи.
Но он показывает, на главной страничке конференции, только именинников. А как бы сделать так, что бы там показывались и другие события.
Подскажите, пожалуйста.
PS: 1.2
PSS: Извините, что в форуме модификаций написал то же самое.
Ссылка на комментарий
Поделиться на других сайтах
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.