1

Topic: Подсчёт общего количества просмотров в плагине "pan_statistic"

Добрый день, хотел бы спросить, что нужно заменить в этой строке:
       

echo '<li style="list-style-type: none;"><span>'.$lang_pan_statistic['Views'].'<strong>'.$pan_stat_visits['views'].'</strong>

$matches[2]
Чтобы показывало просмотры не за сегодняшний день, а именно за все время.

Помощник форума GameMax

2

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Покажите весь код который в этом хуке

3 (edited by Pilot 2018.03.09 22:26)

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

<?php
if (!defined('FORUM')) die();

if (file_exists($ext_info['path'].'/lang/'.$forum_user['language'].'/'.$ext_info['id'].'.php'))
   require_once $ext_info['path'].'/lang/'.$forum_user['language'].'/'.$ext_info['id'].'.php';
else
   require_once $ext_info['path'].'/lang/English/'.$ext_info['id'].'.php';

if($forum_config['o_pan_statistic_footer'] == '1')
{
   $query = array(
      'SELECT'   => 'views, hosts',
      'FROM'      => 'pan_stat_visits',
      'ORDER BY'   => 'v_time DESC',
      'LIMIT'      => '1'
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $pan_stat_visits = $forum_db->fetch_assoc($result);

   $query = array(
      'SELECT'   => 'v_time, max_online, max_online_time',
      'FROM'      => 'pan_stat_visits',
      'ORDER BY'   => 'max_online DESC',
      'LIMIT'      => '1'
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $pan_stat_visits_max = $forum_db->fetch_assoc($result);
?>   
   
   <div id="brd-online" class="gen-content">
<?php
      echo '<li style="list-style-type: none;"><span>'.$lang_pan_statistic['Views'].'<strong>'.$pan_stat_visits['views'].'</strong>, '.$lang_pan_statistic['Users'].'<strong>'.$pan_stat_visits['hosts'].'</strong></span></li>';
   
   if($pan_stat_visits_max['max_online'] > 0)
   {
      echo '<li style="list-style-type: none;"><span>'.$lang_pan_statistic['Max visitors'].'<strong>'.$pan_stat_visits_max['max_online'].'</strong>, '.$lang_pan_statistic['fixed'].' '.gmdate('Y-m-d', $pan_stat_visits_max['v_time']).' '.$lang_pan_statistic['in'], gmdate('H:i', $pan_stat_visits_max['max_online_time']).'</span></li>';
   }

?>
   </div>
<?php

}   
Помощник форума GameMax

4 (edited by PunBB 2018.03.10 00:11)

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Вот по такому принципу:

   $query = array(
      'SELECT'   => 'views',
      'FROM'      => 'pan_stat_visits',
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $sum_visits = $forum_db->fetch_assoc($result);

$full_visit = 0;
foreach($sum_visits as $key => $val)
   $full_visit = $full_visit + $val['views'];

echo $full_visit;

5 (edited by Pilot 2018.03.09 23:05)

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Спасибо, но я не пойму как лучше сделать, заменить или вставить отдельно?
Если вам не лень может сами отредактируете? Просто я могу накосячить PunBB_INFO_ICQ/bigsmile

Вот этот файлик:
This content is available only to registered users.

При простом добавлении этого кода появляется ошибка в футере :

Warning: Illegal string offset 'views' in /home/u627982965/public_html/extensions/pan_statistic/hooks/in_info_end.php on line 29 $full_visit
Помощник форума GameMax

6

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Просто я написал со смартфона на скорую руку, чтобы передать саму суть

$matches[1]

Не забываем обновлять хуки после правки

7

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Обновил хуки, не помогло. Какие еще варианты?

Помощник форума GameMax

8

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

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

<?php
if (!defined('FORUM') ) die();

if (file_exists($ext_info['path'].'/lang/'.$forum_user['language'].'/'.$ext_info['id'].'.php'))
   require_once $ext_info['path'].'/lang/'.$forum_user['language'].'/'.$ext_info['id'].'.php';
else
   require_once $ext_info['path'].'/lang/English/'.$ext_info['id'].'.php';

if($forum_config['o_pan_statistic_footer'] == '1')
{
   $query = array(
      'SELECT'   => 'views, hosts',
      'FROM'      => 'pan_stat_visits',
      'ORDER BY'   => 'v_time DESC',
      'LIMIT'      => '1'
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $pan_stat_visits = $forum_db->fetch_assoc($result);
/*
   $query = array(
      'SELECT'   => 'v_time, max_online, max_online_time',
      'FROM'      => 'pan_stat_visits',
      'ORDER BY'   => 'max_online DESC',
      'LIMIT'      => '1'
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $pan_stat_visits_max = $forum_db->fetch_assoc($result);
   */
   
   $query = array(
      'SELECT'   => 'views',
      'FROM'      => 'pan_stat_visits',
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   
   $full_visit = 0;
   while ($rows = $forum_db->fetch_assoc($result))
      $full_visit = $full_visit + $rows['views'];
   

   
?>

   <div id="brd-pan-today" class="gen-content">
      <ul>
<?php

   echo '<li style="list-style-type: none;"><span><strong>'.$pan_stat_visits['views'].'</strong> '.pan_fw_nouns_after_num($pan_stat_visits['views'], $lang_pan_statistic['views_one'], $lang_pan_statistic['views_several'], $lang_pan_statistic['views_many']).', <strong>'.$pan_stat_visits['hosts'].'</strong> '.pan_fw_nouns_after_num($pan_stat_visits['hosts'], $lang_pan_statistic['users_one'], $lang_pan_statistic['users_several'], $lang_pan_statistic['users_many']).'</span></li>';
   
      echo '<li style="list-style-type: none;"><span>Всего просмотров: '. $full_visit.'</span></li>';
/*
   if($pan_stat_visits_max['max_online'] > 0)
   {
      echo '<li style="list-style-type: none;"><span>'.$lang_pan_statistic['Max visitors'].'<strong>'.$pan_stat_visits_max['max_online'].'</strong> '.pan_fw_nouns_after_num($pan_stat_visits_max['max_online'], $lang_pan_statistic['users_one'], $lang_pan_statistic['users_several'], $lang_pan_statistic['users_many']).'. '.format_time($pan_stat_visits_max['max_online_time']).'</span></li>';
   }
*/
?>
      </ul>
   </div>
<?php

}

Постарайтесь вникнуть и настроить стилизацию самомтоятельно

$matches[1]

Pilot wrote:

Обновил хуки, не помогло. Какие еще варианты?

да и кстати, хуки обновлять нужно только в том случае, если вы правили сам манифест

9 (edited by kisa 2018.03.10 00:35)

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

PunBB wrote:

я не могу написать за рулем, да еще и с телефона норм рабочий код, то был сам принцип.

PunBB_INFO_ICQ/thumbsup  PunBB_INFO_ICQ/bravo  PunBB_INFO_ICQ/rofl Сделал мой день PunBB_INFO_ICQ/bigsmile
Такие фразы, только  по тематике моего форума, в виде афоризмов у меня в сайдбаре висят  PunBB_INFO_ICQ/rofl

10

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Спасибо. Ну да я поправлял все под себя, так что хуки я не зря обновил)

Помощник форума GameMax

11 (edited by Pilot 2018.03.10 01:54)

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

Все работает, но уже не показывается надпись "Одновременно пребывающих ..., было...." Как это исправить? Даже если добавляю код этого сообщения, оно не высвечивается, что я пропустил?

Помощник форума GameMax

12

Re: Подсчёт общего количества просмотров в плагине "pan_statistic"

пробуй так, ковыряй последний блок по своему усмотрению

<?php
if (!defined('FORUM') ) die();

if (file_exists($ext_info['path'].'/lang/'.$forum_user['language'].'/'.$ext_info['id'].'.php'))
   require_once $ext_info['path'].'/lang/'.$forum_user['language'].'/'.$ext_info['id'].'.php';
else
   require_once $ext_info['path'].'/lang/English/'.$ext_info['id'].'.php';

if($forum_config['o_pan_statistic_footer'] == '1')
{
   $query = array(
      'SELECT'   => 'views, hosts',
      'FROM'      => 'pan_stat_visits',
      'ORDER BY'   => 'v_time DESC',
      'LIMIT'      => '1'
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $pan_stat_visits = $forum_db->fetch_assoc($result);



   $query = array(
      'SELECT'   => 'v_time, max_online, max_online_time',
      'FROM'      => 'pan_stat_visits',
      'ORDER BY'   => 'max_online DESC',
      'LIMIT'      => '1'
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   $pan_stat_visits_max = $forum_db->fetch_assoc($result);
   
   
   $query = array(
      'SELECT'   => 'views',
      'FROM'      => 'pan_stat_visits',
   );
   $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
   
   $full_visit = 0;
   while ($rows = $forum_db->fetch_assoc($result))
      $full_visit = $full_visit + $rows['views'];
   

   
?>

   <div id="brd-pan-today" class="gen-content">
      <ul>
<?php

   echo '<li style="list-style-type: none;"><span><strong>'.$pan_stat_visits['views'].'</strong> '.pan_fw_nouns_after_num($pan_stat_visits['views'], $lang_pan_statistic['views_one'], $lang_pan_statistic['views_several'], $lang_pan_statistic['views_many']).', <strong>'.$pan_stat_visits['hosts'].'</strong> '.pan_fw_nouns_after_num($pan_stat_visits['hosts'], $lang_pan_statistic['users_one'], $lang_pan_statistic['users_several'], $lang_pan_statistic['users_many']).'</span></li>';

   if($pan_stat_visits_max['max_online'] > 0)
   {
      echo '<li style="list-style-type: none;"><span>'.$lang_pan_statistic['Max visitors'].'<strong>'.$pan_stat_visits_max['max_online'].'</strong> '.pan_fw_nouns_after_num($pan_stat_visits_max['max_online'], $lang_pan_statistic['users_one'], $lang_pan_statistic['users_several'], $lang_pan_statistic['users_many']).'. '.format_time($pan_stat_visits_max['max_online_time']).'</span><span>Всего просмотров: '. $full_visit.'</span></li>';
   }

?>
      </ul>
   </div>
<?php

}