Перейти к контенту

Календарные события под шапкой на главной


Рекомендуемые сообщения

Решил сделать, чтобы модераторы могли добавлять глобальные оповещения - пусть вводят через календарь.

Скриншот: 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] Автоматически скрывать, если события отсутствуют?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.