При наведении мышки появляется окно!

Sat

PROnets
LV
0
 
Два вопроса:

1.У вас если навести на статьи или на рейтинг и ещё некоторые рекламки,появляется окошко с описанием,как такое сделать?

2.Можно ли с помощью такого же окошка сделать,чтоб когда наводишь мышку на аватар,появлялась инфа о пользователе?
 
<div align="center"><!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b>Всплывающие подсказки onMouseOver</b><!--sizec--></span><!--/sizec--><!--colorc--></span><!--/colorc--></div>
Для начала скачайте скрипт wz_tooltip.js Скачать скрипт можно с <a href="http://www.walterzorn.com/" target="_blank">оффициального сайта разработчика</a>.
<a href="http://www.walterzorn.com/scripts/wz_tooltip.zip" target="_blank">Download wz_tooltip.js</a>
Распакуйте архив и загрузите файл скрипта wz_tooltip.js на сервер в дирректорию <b>style_images/<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Ваш скин<!--colorc--></span><!--/colorc-->/folder_js_skin/</b>
Именно в этой дирректории желательно хранить все подключаемыe JavaScript скрипты, так как при экспорте вашего скина, все JavaScript в этой дирректории будут так-же экспортированы и не будут утеряны в случае архивации вашего экспортированного скина. При дальнейшей установки (импорте) вашего скина на другом форуме, все JavaScript так же распакуются.
Для удобства работы (экспериментов), откройте два окна браузера:
Одно окно с основным форумом, где мы будем просматривать результат операций, другое окно Панель Администратора, где мы будем выполнять изменения.
Итак, что-бы не было расхождений с описанием ниже, экспериментировать будем в "Классическом стиле IPB (синем)". Для этого создайте стиль "Test" из родительского "Классического стиля IPB"

Заходим в панель Администратора:
<b>Админцентр > ВНЕШНИЙ ВИД > Опции (в строке "Стили") > Создать новый стиль</b>
Введите название стиля <b>Test</b> и нажмите "Создать".
Сделайте стиль "Test" стилем по умолчанию, а так же выберите этот стиль "Test" на форуме (слева внизу, в форме выбора стиля).
<b>Админцентр > ВНЕШНИЙ ВИД > Опции (в строке стиля Test) > Изменить HTML шаблоны > skin_global (глобальные шаблоны) > global_board_header</b>
Найдите строчку:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/ips_menu_html.js'></script><!--c2--></div><!--ec2-->
Добавьте ниже:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/wz_tooltip.js'></script><!--c2--></div><!--ec2-->
Найдите далее:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->alt='IPB'<!--c2--></div><!--ec2-->
Замените на:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->onMouseOver="Tip('{$this->ipsclass->vars['board_name']}', TITLE, 'Тестовая панель', CLOSEBTN, true, STICKY, true, WIDTH, 300)"<!--c2--></div><!--ec2-->
Сохраните шаблон и проверьте работает ли скрипт? Для этого обновите страницу форума и наведите мышкой на логотип форума (слева вверху). Должна выскочить всплывающая подсказка "Invision Power Board".
Если скрипт успешно установлен и работает, займемся подгонкой его цветовой палитры под общий стиль форума.

Откройте файл JavaScript <b>style_images/<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Ваш скин<!--colorc--></span><!--/colorc-->/folder_js_skin/wz_tooltip.js</b>
Найдите строчку<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->var config = new Object();<!--c2--></div><!--ec2-->
Все что находится выше этой строчки с начала файла - это комментарии, их можно удалить, а можно оставить без изменения (лично я удалил).
Далее (чуть ниже) найдите строчку<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->config. Above<!--c2--></div><!--ec2-->
С этой строчки начинаются глобальные настройки скрипта по умолчанию, то есть цвет текста, бекграунд, время появления всплывающей подсказки, время затухания и.т.д и.т.п
После каждой переменной комментарий на Английском, но совсем не трудно догадаться за что отвечает каждый из параметров по названию самих переменных. Весь массив глобальных настроек по умолчанию длится до строчки<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->config. Width<!--c2--></div><!--ec2-->
Именно в этих настройках, задайте значения цветовой палитры всплывающих окошек и текста сообщений, бекграунд и.т.д...
Например для Классического стиля IPB я установил такие значения:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->config. Above&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false
config. BgColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= '#E4EAF2'
config. BgImg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= ''
config. BorderColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= '#000'
config. BorderStyle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 'solid'
config. BorderWidth&nbsp;&nbsp;&nbsp;&nbsp;= 1
config. CenterMouse&nbsp;&nbsp;&nbsp;&nbsp;= false
config. ClickClose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false
config. CloseBtn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false
config. CloseBtnColors&nbsp;&nbsp;&nbsp;&nbsp;= ['transparent', 'transparent', 'transparent', 'transparent']
config. CloseBtnText&nbsp;&nbsp;&nbsp;&nbsp;= '<img src="' + ipb_var_image_url + '/close.png" alt="" border="0" align="absmiddle" style="padding:5px">'
config. CopyContent&nbsp;&nbsp;&nbsp;&nbsp;= true
config. Delay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 50
config. Duration&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 0
config. FadeIn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 300
config. FadeOut&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 300
config. FadeInterval&nbsp;&nbsp;&nbsp;&nbsp;= 30
config. Fix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= null
config. FollowMouse&nbsp;&nbsp;&nbsp;&nbsp;= true
config. FontColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= '#000'
config. FontFace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 'Verdana, Tahoma, Arial, Sans-Serif, Georgia, Courier, Times New Roman, Serif'
config. FontSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= '10px'
config. FontWeight&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 'normal'
config. Left&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false
config. OffsetX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 14
config. OffsetY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 8
config. Opacity&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 90
config. Padding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 5
config. Shadow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true
config. ShadowColor&nbsp;&nbsp;&nbsp;&nbsp;= '#777'
config. ShadowWidth&nbsp;&nbsp;&nbsp;&nbsp;= 3
config. Sticky&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false
config. TextAlign&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 'left'
config. Title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= ''
config. TitleAlign&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 'left'
config. TitleBgColor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 'url(' + ipb_var_image_url + '/tile_cat.gif)'
config. TitleFontColor&nbsp;&nbsp;&nbsp;&nbsp;= '#FFF'
config. TitleFontFace&nbsp;&nbsp;&nbsp;&nbsp;= ''
config. TitleFontSize&nbsp;&nbsp;&nbsp;&nbsp;= '11px'
config. Width&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 0<!--c2--></div><!--ec2-->
На этом настройку JavaScript можно считать законченной. Помните о том, что любой из глобальных параметров можно менять, прописывая теги прямо в строке шаблонов. Описание всех тегов этого скрипта можно посмотреть на <a href="http://www.walterzorn.com/" target="_blank">оффициальном сайте разработчика</a>.
Далее приступим к вставке самих тегов в шаблоны стиля "Test" IPB.

Как вы наверное уже догадались, вызов всплывающего окна выполняется функцией Javascript <b>Tip();</b>
Например на наведение мышки <b>onMouseOver="Tip()"</b>, на клик мышкой <b>onClick="Tip()"</b>, а так же эту функцию можно вызывать непосредственным запуском при загрузке страницы (без условия), например прописав в каком либо из шаблонов простую комманду запуска Javascript<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript">Tip('Мое всплывающее окно', STICKY, true)</script><!--c2--></div><!--ec2-->
В этом случае функции Tip() обязательно нужно передать тег <b>STICKY, true</b> (залипание всплывающего окна). Если залипание всплывающего окна не указать, то окно не появится, так как оно сразу же закроется, не успев открыться (это распространяется только на те случаи, когда вы используете скрипт в качестве вывода всплывающих окон без условия наведения мыши). Такие окна непосредственного вызова, требуются не часто, на них можно не сосредотачиваться, но все же иногда эта полезность может пригодиться для вывода каких либо сообщений от форума или для вывода рекламы на какой либо страничке.
В этом случае, если вы будете выводить всплывающие окна непосредственно (без условий мыши) на странице, то вам потребуется вспомогательные плагины к этому скрипту, для выравнивания всплывающего окна по центру страницы, независимо от размеров открытого окна браузера, а так же выравнивание при скролинге сраницы вверх и вниз, всплывающее окно может все время находиться в центре. Для этого загрузите в дирректорю <b>style_images/<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->Ваш скин<!--colorc--></span><!--/colorc-->/folder_js_skin/</b> файлы tip_centerwindow.js и tip_followscroll.js из распакованного архива wz_tooltip.zip, а так же подключите их в глобальном шаблоне global_board_header как и сам скрипт wz_tooltip.js (см. в самом начале).
<b>Админцентр > ВНЕШНИЙ ВИД > Опции (в строке стиля Test) > Изменить HTML шаблоны > skin_global (глобальные шаблоны) > global_board_header</b>
Найдите строчку:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/wz_tooltip.js'></script><!--c2--></div><!--ec2-->
Добавьте ниже:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/tip_centerwindow.js'></script>
<script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/tip_followscroll.js'></script><!--c2--></div><!--ec2-->
Скачать дополнительный плагин Balloon Tooltip можно так-же с <a href="http://www.walterzorn.com/" target="_blank">оффициального сайта разработчика</a>.
<a href="http://www.walterzorn.com/scripts/tip_balloon.zip" target="_blank">Download Balloon Tooltip</a>
Но его пока трогать не будем.
Проверим как работают теги выравнивания всплывающего окна по центру, выполним следующие действия:
<b>Админцентр > ВНЕШНИЙ ВИД > Опции (в строке стиля Test) > Изменить общий шаблон форума</b>
Найдите строчку:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--></body><!--c2--></div><!--ec2-->
Добавьте выше:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript">
//<![CDATA[
Tip('<img src="http://www.dissans.com.ua/1119.jpg">', TITLE, 'Реклама на сайте', CLOSEBTN, true, STICKY, true, CENTERWINDOW, true, CENTERALWAYS, true, FOLLOWSCROLL, true, DURATION, 10000, FADEOUT, 1000)
//]]>
</script><!--c2--></div><!--ec2-->
Сохраните шаблон.
После обновления страницы форума, должно появиться маленькое окошечко в центре экрана с изображением автомобиля, которое будет находиться в центре страницы независимо от скролинга (полосы прокрутки) страницы вверх и вниз.
Итак если у вас все работает, верните все изменения в шаблонах в исходное состояние, оставив только подключение скриптов в шаблоне global_board_header в строчках:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/wz_tooltip.js'></script>
<script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/tip_centerwindow.js'></script>
<script type="text/javascript" src='{$this->ipsclass->vars['img_url']}/folder_js_skin/tip_followscroll.js'></script><!--c2--></div><!--ec2-->
 
Итак вернемся к выпадающей подсказке, при наведении мышкой на активных пользователей в статистике.
Имена активных пользователей и HTML сущьности ссылок в панели статистики формируются в файле func_boardstats.php, поэтому изменения придется делать именно в нем, но все же создадим дополнительный шаблон в группе skin_boards (главная страница) в котором будем рисовать нужную нам рамку в HTML.
Создайте новый шаблон:<ul><li><b>Панель администратора > ВНЕШНИЙ ВИД > Опции (в строке "Test") > Изменить HTML шаблоны > skin_boards (главная страница)</b></li><li>Нажмите <b>Добавить шаблон</b></li><li>Введите в поле "Название шаблона": <b>splash_user_row</b></li><li>Введите в поле "Входящие переменные": <b>$data</b></li><li>Нажмите <b>Продолжить...</b></li><li>Вставьте шаблон:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><div style='float:left'><b>{$data['members_display_name']}</b><br>{$data['avatar']}<br>{$data['member_rank_img']}<br>{$data['member_number']}<br>{$data['member_group']} {$data['title']}<br>{$data['member_joined']}<br>{$data['member_location']}Пол: {$data['_pp_gender_text']}<br>{$data['member_posts']}</div><div style='float:right; margin-left:5px; border:1px solid #000'><img src='{$data['pp_main_photo']}'></div><!--c2--></div><!--ec2--></li><li>Нажмите <b>Сохранить шаблон</b></li></ul>Теперь визуальную структуру HTML всплывающего окна, вы сможете корректировать на свой вкус именно в этом шаблоне, запомните где он находится:
<b>Панель администратора > ВНЕШНИЙ ВИД > Опции (в строке "Test") > Изменить HTML шаблоны > skin_boards (главная страница) > splash_user_row </b>

Теперь займемся файлом func_boardstats.php
Данные для формирования ссылки, читаются из таблицы БД, но их в данном случае недостаточно, так как в формировании ссылки учавствуют только Имя пользователя, время его последней активности, ID пользователя и группа пользователя. Этих данных недостаточно, поэтому изменим SQL запрос и получим все данные которые нам требуются:
Аватар пользователя:
Название группы пользователя:
E-mail пользователя:
Дату регистрации пользователя:
Количество сообщений пользователя:
Местожительства пользователя: (если указанно)
Дату рождения пользователя: (если указанно)
Время и дату последнего сообщения:
Время и дату последнего визита:
Время последней активности на сайте:
Количество просмотров профиля:
Фото пользователя и другую всякую хрень...
Откройте файл <b>sources/lib/func_boardstats.php</b><ul><li>Найдите и удалите участок кода:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->if ( $this->ipsclass->member['id'] )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$rows = array( $ar_time.'.'.md5(microtime()) => array( 'id'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; => 0,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'login_type'&nbsp;&nbsp; => substr($this->ipsclass->member['login_anonymous'],0, 1),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'running_time' => $ar_time,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'member_id'&nbsp;&nbsp;&nbsp;&nbsp;=> $this->ipsclass->member['id'],
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'member_name'&nbsp;&nbsp;=> $this->ipsclass->member['members_display_name'],
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'member_group' => $this->ipsclass->member['mgroup'] ) );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<!--c2--></div><!--ec2-->
</li><li>Найдите участок кода: (он будет сразу после удаленного участка выше)<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$this->ipsclass->DB->simple_construct( array( 'select' => 'id, member_id, member_name, login_type, running_time, member_group',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'from'&nbsp;&nbsp; => 'sessions',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'where'&nbsp;&nbsp;=> "running_time > $time",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//'order'&nbsp;&nbsp;=> "running_time DESC" // Sort in PHP to avoid filesort in SQL
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<!--c2--></div><!--ec2-->
</li><li>Замените следующим кодом:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$this->ipsclass->DB->simple_construct(array(&nbsp;&nbsp;&nbsp;&nbsp;'select' => 'm1.id, m1.member_id, m1.member_name, m1.login_type, m1.running_time, m1.member_group',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'from'&nbsp;&nbsp; => array('sessions' => 'm1'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'where'&nbsp;&nbsp;=> "m1.running_time > $time",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'add_join' => array(0 => array(&nbsp;&nbsp;&nbsp;&nbsp;'select' => 'm2.id, m2.email, m2.hide_email, m2.joined, m2.posts, m2.title, m2.last_post, m2.view_avs, m2.bday_day, m2.bday_month, m2.bday_year, m2.last_visit, m2.last_activity, m2.members_display_name, m2.members_profile_views',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'from'&nbsp;&nbsp; => array( 'members' => 'm2' ),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'where'&nbsp;&nbsp;=> 'm2.id=m1.member_id',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'type'&nbsp;&nbsp; => 'left'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 => array(&nbsp;&nbsp;&nbsp;&nbsp;'select' => 'm3.aim_name, m3.icq_number, m3.website, m3.yahoo, m3.msnname, m3.location, m3.avatar_location, m3.avatar_size, m3.avatar_type',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'from'&nbsp;&nbsp; => array( 'member_extra' => 'm3' ),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'where'&nbsp;&nbsp;=> 'm3.id=m1.member_id',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'type'&nbsp;&nbsp; => 'left'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2 => array(&nbsp;&nbsp;&nbsp;&nbsp;'select' => 'm4.pp_main_photo, m4.pp_thumb_photo, m4.pp_gender',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'from'&nbsp;&nbsp; => array( 'profile_portal ' => 'm4' ),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'where'&nbsp;&nbsp;=> 'm4.pp_member_id=m1.member_id',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'type'&nbsp;&nbsp; => 'left'))));<!--c2--></div><!--ec2-->
</li><li>Найдите далее:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->foreach ( $rows as $result )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$last_date = $this->ipsclass->get_time( $result['running_time'] );<!--c2--></div><!--ec2-->
</li><li>Замените на:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->foreach ( $rows as $result )
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$last_date = $this->ipsclass->get_time( $result['running_time'] );
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (!is_array($this->ipsclass->cache['ranks'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->cache['ranks'] = array();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->DB->simple_construct(array('select' => 'id, title, pips, posts', 'from' => 'titles', 'order' => "posts DESC"));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->DB->simple_exec();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while ($i = $this->ipsclass->DB->fetch_row()) $this->ipsclass->cache['ranks'][$i['id']] = array('TITLE' => $i['title'], 'PIPS'&nbsp;&nbsp;=> $i['pips'], 'POSTS' => $i['posts']);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->update_cache(array('name' => 'ranks', 'array' => 1, 'deletefirst' => 1));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this->ipsclass->load_template('skin_topic');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$member = $this->ipsclass->parse_member($result);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$output = $this->ipsclass->compiled_templates['skin_boards']->splash_user_row($member);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (is_array($this->ipsclass->skin['_macros'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($this->ipsclass->skin['_macros'] as $row) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($row['macro_value'] != "") $output = str_replace( "<{".$row['macro_value']."}>", $row['macro_replace'], $output);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$output = str_replace("'", "\'", $output);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$output = str_replace("\"", "\'", $output);<!--c2--></div><!--ec2-->
</li><li>Найдите далее:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$active['NAMES'] .= "<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}' title='$last_date'>{$result['member_name']}</a>*{$this->sep_char} \n";<!--c2--></div><!--ec2-->
</li><li>Замените на:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$active['NAMES'] .= "<a href='{$this->ipsclass->base_url}showuser={$member['member_id']}' onMouseOver=\"Tip('".$output."')\">{$result['member_name']}</a>{$this->sep_char} \n";<!--c2--></div><!--ec2-->
</li><li>Найдите далее:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$active['NAMES'] .= "<a href='{$this->ipsclass->base_url}showuser={$result['member_id']}' title='$last_date'>{$result['member_name']}</a>*{$this->sep_char} \n";<!--c2--></div><!--ec2-->
</li><li>Замените на:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->$active['NAMES'] .= "<a href='{$this->ipsclass->base_url}showuser={$member['member_id']}' onMouseOver=\"Tip('".$output."')\">{$result['member_name']}</a>{$this->sep_char} \n";<!--c2--></div><!--ec2-->
</li><li>Сохраните файл sources/lib/func_boardstats.php</li></ul>Теперь обновите страницу форума и наведите мышкой на любого активного пользователя в панели статистики (внизу форума). Если у вы внимательно читали описание и правильно выполнили все изменения, то у вас должно появиться всплывающее окошко с аватаром, фото и некоторыми другими данными пользователя.

Вот так выглядят такие всплывающие окна:
<div align="center">
You must be registered for see images attach
</div>
 
И ещё что бы картинка отображалась я воспользовался кодом BGIMG и попытался настроить размер WIDTH и PADDING,но ни чё не получмлось,как можно изображение сделать нормально отображаемым?
You must be registered for see images attach

<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->onmouseover="Tip('', BGIMG, 'http://url/testforum/2.jpg', WIDTH, 200, PADDING, 100)<!--c2--></div><!--ec2-->
 
Да не нужно картинку в Background пихать, нужно писать простые HTML сущности в текст функции Tip();<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><a href="#" onMouseOver="Tip('<img src=\'Адресс картинки\'>')">Картинка</a><!--c2--></div><!--ec2-->
Только очень важно соблюдать синтаксис внутри функции Tip();
Текст функции заключается в апострофы и выглядит так:<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->Tip('Мой текст');<!--c2--></div><!--ec2-->
Но если вместо текста вы введете HTML тег картинки, то перед всеми апострофами HTML тега картинки необходимо поставить слеши "\"
 
Сверху