ru.BIR.ru

Pahan-Hubbitus private forum
Текущее время: Вт окт 16, 2018 9:24 pm

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Хак "Нас сегодня посетили" для IPB
СообщениеДобавлено: Пн дек 24, 2007 7:26 pm 
Не в сети
Site Admin

Зарегистрирован: Ср сен 06, 2006 10:36 pm
Сообщения: 309
В дополнение к стандартным "ХХ посетителей за последние ХХ минут" добавляет блок "Всего нас сегодня посетило: ХХХ".

Пример можно посмотреть на http://forum.amurspb.ru (внизу)

Проверено на 2.1.7 и 2.3.3:

В файле sources/lib/fuc_boardstats.php после функции active_users() добавляем еще одну:

Код:
   /*-------------------------------------------------------------------------*/
   //+Hu Hubbitus (Pahan [at] hubbitus [dot] spb [dot] su) function below!
   // DISPLAY USERS OF THIS full DAY
   // Written by example of active_users() (see below)
   /*-------------------------------------------------------------------------*/
   
   function fullday_users(){
   $active = array(
      'NAMES'   => "",
   );

      //One preferences fo both "Active_users" and "Fullday_users"
      if ( $this->ipsclass->vars['show_active'] ){

      // Get the users from the DB
      $this->ipsclass->DB->simple_construct(
         array(
            'select'   => 'id, id as member_id, name as member_name, mgroup as member_group, last_activity',
            'from'   => 'members',
            'where'   => 'DATE_ADD(FROM_UNIXTIME(last_activity), INTERVAL 1 DAY) > NOW() AND DAY(FROM_UNIXTIME(last_activity)) = DAY(NOW())',
            'order'   => 'last_activity DESC'
            )
      );

      $this->ipsclass->DB->simple_exec();
         
      //-----------------------------------------
      // cache all printed members so we
      // don't double print them
      //-----------------------------------------
      $cached = array();

         while ( $result = $this->ipsclass->DB->fetch_row() ){
         $last_date = $this->ipsclass->get_time( $result['last_activity'] );

            if ( empty( $cached[ $result['member_id'] ] ) ){
            $cached[ $result['member_id'] ] = 1;

            //Colorize it
            $result['prefix'] = $this->ipsclass->cache['group_cache'][ $result['member_group'] ]['prefix'];
            $result['suffix'] = $this->ipsclass->cache['group_cache'][ $result['member_group'] ]['suffix'];


            $active['MEMBERS']++;
            $active['NAMES'] .= "<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}' title='$last_date'>{$result['prefix']}{$result['member_name']}{$result['suffix']}</a>{$this->sep_char} \n";
            }
         }
         
         $active['NAMES'] = preg_replace( "/".preg_quote($this->sep_char)."$/", "", trim($active['NAMES']) );

            #what if this template not exist in this skin?
            if (is_callable(array($this->ipsclass->compiled_templates['skin_boards'], 'activefulldayusers')))
            return $this->ipsclass->compiled_templates['skin_boards']->activefulldayusers($active);
            else return false;
      }
   }


В файле sources/action_public/boards.php

после
Код:
$stats_html .= $this->statfunc->active_users();

добавляем
Код:
          //+Hu Hubbitus Add a Fullday online users from time 00:00 of this day
          $stats_html .= $this->statfunc->fullday_users();

_________________
Если у Вас есть все что Вы хотите - значит Вы мало хотите!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: Вс мар 23, 2008 3:07 am 
Не в сети
Site Admin

Зарегистрирован: Ср сен 06, 2006 10:36 pm
Сообщения: 309
Добавиль в каждом стиле шаблон с именем activefulldayusers в разделе skin_boards (главная страница), входящей переменной: $active="" и содержимым:
Код:
<tr>
         <td class="formsubtitle" colspan="2">{$this->ipsclass->lang['active_users_fullday']}<b>{$active[MEMBERS]}</b></td>
      </tr>
      <tr>
         <td class="row1" width="1%"><{F_ACTIVE}></td>
         <td class="row2">{$active[NAMES]}</td>
      </tr>
      <!--IBF.WHOSCHATTING-->


Ну и последнее, добавить фруз в язык (cache/lang_cache/ru/lang_boards.php):
Код:
'active_users'                      =>    "посетителей за последние %s минут",

_________________
Если у Вас есть все что Вы хотите - значит Вы мало хотите!


Пожаловаться на это сообщение
Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.052s | 11 Queries | GZIP : On ]