Перейти до змісту
Домент ipb-board.ru продається.

Делаем чат в мобильном стиле

Рекомендовані відповіді

Опубліковано
  • Адміністратор

post-2-0-44714200-1449818767_thumb.png

Админ Панель-Внешний вид-Ваш стиль-skin_shoutbox
ajax_jscmd заменить все на:
 

Event.observe(window, 'load', function() {<if test="$data['type'] == 'mod-shout' && $data['id'] > 0">ipb.shoutbox.modOptsLoadShout({$data['id']});</if><if test="$data['type'] == 'mod-member' && $data['mid'] > 0">ipb.shoutbox.modOptsLoadMember({$data['mid']});</if><if test="$data['type'] == 'archive'">ipb.shoutbox.displayArchive();</if><if test="$data['type'] == 'myprefs'">ipb.shoutbox.myPrefsLoad();</if><if test="$data['type'] == 'edit-shout' && $data['id']">ipb.shoutbox.editShout({$data['id']});</if>});

announcement заменить все на:

<tr id='shoutbox-announcement-row' class='row2'<if test="$hide"> style='display:none;'</if>>  <td class='altrow' valign='middle'<if test="$global"> colspan='2'</if>>  <div id='shoutbox-announcement-text' class='message'>  {$this->settings['shoutbox_announcement']}  </div>  </td></tr>

archive заменить все на:

<h3>{$this->lang->words['sb_archive']}</h3>{parse template="popupInlineError" group="skin_shoutbox" params="archive"}<div id='beforeButtonClick' class='ipsBox_container'>  <table class='ipb_table'>  <tr>  <td valign='top' colspan='2'>  {$this->lang->words['sb_archive_welcome']}  </td>  <td style="vertical-align: top;">  <input type='button' id='shoutbox_archive_filters' value='{$this->lang->words['quick_filters']}' class='input_submit ipbmenu right' style='width:140px'/>  <ul class='ipbmenu_content' id='shoutbox_archive_filters_menucontent' style='width:138px'>  <li id='filter_mine' class='clickable'><a href="#">{$this->lang->words['my_shouts']}</a></li>  <li id='filter_today' class='clickable'><a href="#">{$this->lang->words['today_shouts']}</a></li>  <li id='filter_yesterday' class='clickable'><a href="#">{$this->lang->words['yesterday_shouts']}</a></li>  <li id='filter_month' class='clickable'><a href="#">{$this->lang->words['month_shouts']}</a></li>  <li id='filter_all' class='clickable'><a href="#">{$this->lang->words['all_shouts']}</a></li>  </ul>  </td>  </tr>  <tr class='row2'>  <td class='altrow' valign='top' colspan='3'>  <strong><span id='shoutbox-popup-status'></span></strong>  </td>  </tr>  <tr>  <td valign='middle' width='5%'>  <strong>{$this->lang->words['start']}:</strong>  </td>  <td valign='top' width='70%'>  <select class='input_text' id='filter_start_month'>{$d['s_months']}</select>  <select class='input_text' id='filter_start_day'>{$d['s_days']}</select>  <select class='input_text' id='filter_start_year'>{$d['s_years']}</select>  <select class='input_text' id='filter_start_hour'>{$d['s_hours']}</select>  <select class='input_text' id='filter_start_minute'>{$d['s_minutes']}</select>  <if test="ampmForStart:|:$this->settings['shoutbox_archive_clock'] == 'ampm'">  <select class='input_text' id='filter_start_meridiem'>{$d['s_meridiems']}</select>  </if>  </td>  <td valign='bottom' width='25%'>  <strong>{$this->lang->words['filter_by_names']}:</strong>  </td>  </tr>  <tr>  <td valign='middle'>  <strong>{$this->lang->words['end']}:</strong>  </td>  <td valign='top'>  <select class='input_text' id='filter_end_month'>{$d['e_months']}</select>  <select class='input_text' id='filter_end_day'>{$d['e_days']}</select>  <select class='input_text' id='filter_end_year'>{$d['e_years']}</select>  <select class='input_text' id='filter_end_hour'>{$d['e_hours']}</select>  <select class='input_text' id='filter_end_minute'>{$d['e_minutes']}</select>  <if test="ampmForEnd:|:$this->settings['shoutbox_archive_clock'] == 'ampm'">  <select class='input_text' id='filter_end_meridiem'>{$d['e_meridiems']}</select>  </if>  </td>  <td valign='top'>  <input class='input_text' type='text' id='filter_member_name' value='' />  </td>  </tr>  <tr>  <td colspan='3' style='padding:0;margin:0;'>  <p class='submit' width='100%'>  <input type='button' id='shoutbox-archive-filter-button' value='{$this->lang->words['filter']}' class='input_submit' />  </p>  </td>  </tr>  </table></div><div id='afterButtonClick' class='ipsBox_container' style='display:none;'>  <table class='ipb_table'>  <tr>  <td align='left'>  <div id='shoutbox-archive-pages-floater' class='right'>  <div id='shoutbox-archive-pages-data'>abc</div>  </div>  <a href='javascript:void(0);' id='backToFilters'>{$this->lang->words['back_to_filters']}</a><br />  <div id='shoutbox-popup-content' style='position:relative'>  <div id='shoutbox-archive-shouts-div' style='width:100%;height:{$d['height']}px;overflow:auto'>  <table id='shoutbox-archive-shouts'>  <tbody>  </tbody>  </table>  </div>  </div>  </td>  </tr>  </table></div><script type='text/javascript'>ipb.shoutbox.my_dname  = "{parse expression="str_replace( '"', '"', $this->memberData['members_display_name'] )"}";ipb.shoutbox.oldest_shout = "{$d['oldestShout']}";//$('shoutbox-archive-shouts-div').observe('scroll', ipb.shoutbox.archive_update_floaters );$('filter_member_name').observe('click', function() {  if( $('filter_member_name').value == "{parse expression="str_replace( '"', '"', $this->lang->words['member_name'] )"}" )  {  $('filter_member_name').value='';  }} );$('filter_member_name').observe('focus', function() {  ipb.shoutbox.popupUpdateStatus('filter_member_name_status');} );$('filter_member_name').observe('blur', function() {  ipb.shoutbox.popupUpdateStatus('sb_archive_loaded');} );</script>

archive_ajax заменить все на:

<script type='text/javascript'>ipb.shoutbox.shout_pages = {$d['pages']};ipb.shoutbox.archive_update_pager({$d['curpage']});</script>

archive_message заменить все на:
 

<div class='desc'>{$m}</div>

inactivePrompt заменить все на:

<table id='shoutbox-inactive-prompt' style='display:none;'>  <tr class='row1'>  <td class='altrow short' valign='middle'>  {parse expression="str_replace( "<#MINUTES#>", $this->registry->getClass('shoutboxLibrary')->inactivity_cutoff, $this->lang->words['inactive_text'] )"}  <br /><br />  <input type='button' value="{$this->lang->words['im_back']}" class='input_submit' onclick='ipb.shoutbox.processInactivePrompt();' />  </td>  </tr></table>

javascript заменить все на:

ipb.shoutbox.myMemberID  = parseInt({$this->memberData['member_id']});ipb.shoutbox.can_use  = parseInt({$this->memberData['g_shoutbox_use']});ipb.shoutbox.can_edit  = parseInt({$this->memberData['g_shoutbox_edit']});ipb.shoutbox.flood_limit  = parseInt({$this->settings['shoutbox_flood_limit']});ipb.shoutbox.bypass_flood  = parseInt({$this->memberData['g_shoutbox_bypass_flood']});ipb.shoutbox.can_access_acp  = parseInt({$this->memberData['g_access_cp']});ipb.shoutbox.view_archive  = <if test="$this->memberData['g_shoutbox_view_archive']">true<else />false</if>;ipb.shoutbox.enable_fade  = parseInt({$this->settings['shoutbox_shout_fade']});ipb.shoutbox.inactive_timeout = parseInt({$this->registry->getClass('shoutboxLibrary')->inactivity_cutoff});ipb.shoutbox.hide_refresh  = parseInt({$this->settings['shoutbox_autohide_refresh']});ipb.shoutbox.members_refresh  = $this->settings['shoutbox_members_viewing_refresh'] < 30 ? 30000 : parseInt({$this->settings['shoutbox_members_viewing_refresh']})*1000;ipb.shoutbox.shouts_refresh  = $this->settings['shoutbox_shouts_refresh'] < 30 ? 30000 : parseInt({$this->settings['shoutbox_shouts_refresh']})*1000;ipb.shoutbox.total_shouts  = parseInt({$this->registry->getClass('shoutboxLibrary')->shout_total});ipb.shoutbox.shout_order  = '{$this->registry->getClass('shoutboxLibrary')->shouts_order}';ipb.shoutbox.moderator  = {$this->registry->getClass('shoutboxLibrary')->moderator};<if test="$this->registry->getClass('shoutboxLibrary')->moderator">ipb.shoutbox.mod_perms  = { {$this->registry->getClass('shoutboxLibrary')->mod_perms_js} };</if>ipb.shoutbox.my_prefs  = { {$this->registry->getClass('shoutboxLibrary')->prefs_js} };ipb.shoutbox.img_disable  = parseInt({$this->settings['shoutbox_disable_refresh_image']});ipb.shoutbox.member_name  = '{$this->memberData['members_display_name']}';ipb.shoutbox.can_me_tag  = parseInt({$this->settings['shoutbox_me_tag']});

memberViewingName заменить все на:

<!--no <span class='name'>{$link}<if test="$this->registry->getClass('shoutboxLibrary')->moderator"> <a href='{parse url="app=shoutbox" seotitle="false" base="public"}#member{$id}' onclick='return ipb.shoutbox.modOptsLoadMember({$id})' title='{$this->lang->words['mmenu_load_mod_opts']}'><img src="{$this->settings['img_url']}/user_edit.png" alt="{$this->lang->words['macro__useredit']}" /></a></if></span>data in this master skin-->

mod_opts_content заменить все на:

<if test="substr( $action, 0, 4 ) != 'edit'">  <if test="$action == 'delete'">  {$this->lang->words['mod_opt_confirm_delete']}  </if>  <if test="$action == 'delete-all'">  {$this->lang->words['mod_opt_confirm_delete_all']}<br /><br />  <em>{$this->lang->words['mod_shouts_to_delete']}:   {$data['total']}</em>  </if>  <if test="$action == 'ban'">  {$this->lang->words['mod_opt_confirm_ban']}  </if>  <if test="$action == 'ban24'">  {$this->lang->words['mod_opt_confirm_ban']}  </if>  <if test="$action == 'ban48'">  {$this->lang->words['mod_opt_confirm_ban']}  </if>  <if test="$action == 'unban'">  {$this->lang->words['mod_opt_confirm_unban']}  </if>  <if test="$action == 'delmod'">  {$this->lang->words['mod_opt_confirm_delmod']}  </if>  <br /><br />  <div class="short">  <input type="button" id="confirm_option_yes" value="{$this->lang->words['yes']}" class="input_submit" />     <input type="button" id="confirm_option_no" value="{$this->lang->words['no']}" class="ipsButton_secondary" />  </div><else />  <if test="$action == 'editHistory'">  {$this->lang->words['mod_edit_history_text']}  <br /><br />  <table class="ipb_table">  <tr class="header">  <th style="width: 75%;">{$this->lang->words['member_name']}</th>  <th class="short" style="width: 25%;">{$this->lang->words['date']}</th>  </tr>  <foreach loop="$data as $edit">  <tr class="{$edit['class']}">  <td valign="top">  <a href="{parse url="showuser={$edit['member_id']}" base="public"}">{$edit['_name']}</a><br />  <span class="desc">{$this->lang->words['ip']}: <em>{$edit['ip']}</em></span>  </td>  <td class="short" valign="middle">{$edit['_date']}</td>  </tr>  </foreach>  </table>  <br />  <else />  <if test="$this->registry->getClass('shoutboxLibrary')->global_on">  <h3>{$this->lang->words['mod_opt_edit']}</h3>  {parse template="popupInlineError" group="skin_shoutbox" params="editShout"}  </if>  <div class="ipsPad">  {parse editor="shout_msg" content="$data[text]" options="array( 'height' => 100 )"}  <div class="short ipsPad">  <input type="button" id="mod_edit_shout_confirm" value="{$this->lang->words['mod_edit_shout']}" class="input_submit" />  <input type="button" id="mod_edit_shout_clear" value="{$this->lang->words['clear']}" class="ipsButton_secondary" />  <input type="button" id="mod_edit_shout_cancel" value="{$this->lang->words['cancel']}" class="ipsButton_secondary" />  </div>  </div>  </if></if>

no_mods заменить все на:

<div id='shoutbox-no-mods-message' class='message error short block_wrap'>{$this->lang->words['error_no_mods']}</div>

no_shouts заменить все на:

<div id='shoutbox-no-shouts-message' class='message error short block_wrap'>{$this->lang->words['error_no_shouts']}</div>

popupInlineError заменить все на:

<div id='shoutbox-inline-error-{$area}' class='message error block_wrap' style='display:none;'></div>

popupModerator заменить все на:

<h3>{$this->lang->words['mod_panel_title']}</h3><div class="ipsBox table_wrap">  <div class="ipsBox_container">  {parse template="popupInlineError" group="skin_shoutbox" params="moderator"}  <table class="ipb_table">  <tr>  <td valign='top' width='25%'>  <if test="$t == 'shout'">  <strong>{$this->lang->words['shout_number']} #{$d['s_id']}</strong><br />  <strong>{$this->lang->words['by']}</strong>: {$d['shouted_by']}  <else />  <strong>{$this->lang->words['member']}</strong>:  <br />  <a href='{parse url="showuser={$d['member_id']}" template="showuser" seotitle="{$d['members_seo_name']}" base="public"}' title='{$d['members_display_name']}'>{$d['_members_display_name']}</a>  </if>  </td>  <td valign='top' width='75%'>  {$this->lang->words['mod_opts_welcome']}  </td>  </tr>  <tr>  <td colspan='2'>  <span class='shoutbox_text'>{$d['s_message']}</span>  </td>  </tr>  <tr  class='row2'>  <td class='altrow' colspan='2'>  <strong id='shoutbox-popup-status'>{$this->lang->words['mod_opts_start_status']}</strong>  </td>  </tr>  <tr class='row2'>  <td id='shoutbox-popup-content' colspan='2'>  {$this->lang->words['mod_opts_start_content']}  </td>  </tr>  <tr>  <td colspan='2'>  <ul class="topic_buttons">  <if test="$m['m_edit_shouts'] && $t == 'shout'">  <li id='edit_shout' class='clickable'><img src="{$this->settings['img_url']}/comment_edit.png" alt="{$this->lang->words['macro__edit']}" /> {$this->lang->words['mod_opt_edit']}</li>  <li id='editHistory_shout' class='clickable'<if test="!is_array($d['s_edit_history']) || !count($d['s_edit_history'])"> style='display:none;'</if>>{parse replacement="display_name"} {$this->lang->words['mod_opt_edit_history']}</li>  </if>  <if test="( ($m['m_delete_shouts'] && $own) || $m['m_delete_shouts_user'] ) && $t == 'shout'">  <li id='delete_shout' class='clickable'><img src="{$this->settings['img_url']}/comment_delete.png" alt="{$this->lang->words['macro__delete']}" /> {$this->lang->words['mod_opt_delete']}</li>  </if>  <if test="($m['m_delete_shouts'] && $own) || $m['m_delete_shouts_user']">  <li id='deleteAll_shout' class='clickable'><img src="{$this->settings['img_url']}/comment_delete.png" alt="{$this->lang->words['macro__delete']}" /> {$this->lang->words['mod_opt_delete_all']}</li>  </if>  <if test="$d['member_id'] > 0 && $this->memberData['member_id'] != $d['member_id']">  <if test="$m['m_ban_members']">  <li id='ban_shout' class='clickable'<if test="$d['_cache']['shoutbox_banned']"> style='display:none;'</if>>{parse replacement="spammer_on"} {$this->lang->words['mod_opt_ban']}</li>  </if>  <if test="$m['m_ban_members']">  <li id='ban24_shout' class='clickable'<if test="$d['_cache']['shoutbox_banned']"> style='display:none;'</if>>{parse replacement="spammer_on"} {$this->lang->words['mod_opt_ban_24']}</li>  </if>  <if test="$m['m_ban_members']">  <li id='ban48_shout' class='clickable'<if test="$d['_cache']['shoutbox_banned']"> style='display:none;'</if>>{parse replacement="spammer_on"} {$this->lang->words['mod_opt_ban_48']}</li>  </if>  <if test="$m['m_unban_members']">  <li id='unban_shout' class='clickable'<if test="!$d['_cache']['shoutbox_banned']"> style='display:none;'</if>>{parse replacement="spammer_off"} {$this->lang->words['mod_opt_unban']}</li>  </if>  <if test="$m['m_remove_mods'] && $d['_is_a_mod'] && $d['member_id'] > 0">  <li id='removeMod_shout' class='clickable'><img src="{$this->settings['img_url']}/cross.png" title="{$this->lang->words['macro__deletedmsg']}" alt="*" /> {$this->lang->words['mod_opt_delmod']}</li>  </if>  </if>  </ul>  </td>  </tr>  </table>  </div></div><script type='text/javascript'><if test="$t == 'shout'">  ipb.shoutbox.mod_shout_id = parseInt({$d['s_id']});<else />  ipb.shoutbox.mod_member_id = parseInt({$d['member_id']});</if></script>

popupMyPrefs заменить все на:

<h3>{$this->lang->words['my_prefs_panel']}</h3><div class="ipsBox table_wrap">  <div class="ipsBox_container">  {parse template="popupInlineError" group="skin_shoutbox" params="myprefs"}  <table class="ipb_table">  <tr>  <td colspan="2">  {$this->lang->words['my_prefs_welcome']}  </td>  </tr>  <tr class="row2">  <td class="altrow" colspan="2">  <strong id="shoutbox-popup-status">{$this->lang->words['my_prefs_loaded']}</strong>  </td>  </tr>  <tr>  <td style="width: 50%;" class="short">  <strong>{$this->lang->words['my_prefs_gsb']}</strong>  <br />  <if test="$d['global_shoutbox']">  <label for="my_prefs_gsb_y">{$this->lang->words['yes']}</label> <input type="radio" class="input_radio" name="my_prefs_gsb" value="1" id="my_prefs_gsb_y" {$d['gsb_y']}/> <input type="radio" class="input_radio" name="my_prefs_gsb" value="0" id="my_prefs_gsb_n" {$d['gsb_n']}/> <label for="my_prefs_gsb_n">{$this->lang->words['no']}</label>  <else />  <span class="shoutbox_disabled">{$this->lang->words['global_shoutbox_off']}</span>  <input type="hidden" name="my_prefs_gsb" value="<if test="$d['gsb_y'] == 'checked'">1<else />0</if>" id="my_prefs_gsb_y" />  </if>  </td>  <td style="width: 50%;" class="short">  <strong>{$this->lang->words['my_prefs_ets']}</strong>  <br />  <label for="my_prefs_ets_y">{$this->lang->words['yes']}</label> <input type="radio" class="input_radio" name="my_prefs_ets" value="1" id="my_prefs_ets_y" {$d['ets_y']}/> <input type="radio" class="input_radio" name="my_prefs_ets" value="0" id="my_prefs_ets_n" {$d['ets_n']}/> <label for="my_prefs_ets_n">{$this->lang->words['no']}</label>  </td>  </tr>  <tr>  <td class="short">  <strong>{$this->lang->words['my_prefs_drb']}</strong>  <br />  <label for="my_prefs_drb_y">{$this->lang->words['yes']}</label> <input type="radio" class="input_radio" name="my_prefs_drb" value="1" id="my_prefs_drb_y" {$d['drb_y']}/> <input type="radio" class="input_radio" name="my_prefs_drb" value="0" id="my_prefs_drb_n" {$d['drb_n']}/> <label for="my_prefs_drb_n">{$this->lang->words['no']}</label>  </td>  <td class="short">  <strong>{$this->lang->words['my_prefs_eqc']}</strong>  <br />  <label for="my_prefs_eqc_y">{$this->lang->words['yes']}</label> <input type="radio" class="input_radio" name="my_prefs_eqc" value="1" id="my_prefs_eqc_y" {$d['eqc_y']}/> <input type="radio" class="input_radio" name="my_prefs_eqc" value="0" id="my_prefs_eqc_n" {$d['eqc_n']}/> <label for="my_prefs_eqc_n">{$this->lang->words['no']}</label>  </td>  </tr>  <tr>  <td class="short">  <strong>{$this->lang->words['my_prefs_sdo']}</strong>  <br />  <select name="my_prefs_sdo" id="my_prefs_sdo">  <option value=''<if test="$d['sdo'] == ''"> selected</if>>{$this->lang->words['default']}</option>  <option value='1'<if test="$d['sdo'] == '1'"> selected</if>>{$this->lang->words['olderNewer']}</option>  <option value='2'<if test="$d['sdo'] == '2'"> selected</if>>{$this->lang->words['newerOlder']}</option>  </select>  <br />  <span class='error'>{$this->lang->words['refreshMe']}</span>  </td>  <td class="short">  <strong>{$this->lang->words['my_prefs_snd']}</strong>  <br />  <label for="my_prefs_snd_y">{$this->lang->words['yes']}</label> <input type="radio" class="input_radio" name="my_prefs_snd" value="1" id="my_prefs_snd_y" {$d['snd_y']}/> <input type="radio" class="input_radio" name="my_prefs_snd" value="0" id="my_prefs_snd_n" {$d['snd_n']}/> <label for="my_prefs_snd_n">{$this->lang->words['no']}</label>  </td>  </tr>  <tr>  <td class="short" colspan="2">  <input type="button" id="myprefs_save" value="{$this->lang->words['save_prefs']}" class="input_submit" />  <input type="button" id="myprefs_restore" value="{$this->lang->words['restore_default']}" class="ipsButton_secondary" />  </td>  </tr>  </table>  </div></div>

popupMyPrefsUpdate заменить все на:

<script type='text/javascript'>ipb.shoutbox.my_prefs = { {$d['prefs']} };ipb.shoutbox.popupUpdateStatus("{$d['msg']}", true);ipb.shoutbox.updateJSPreferences();</script>

popupWrapper заменить все на:

<if test="jsBugPatch:|:$this->caches['app_cache']['core']['app_long_version'] < 32007">  <script type="text/javascript">  //<![CDATA[  inACP  = false;  ipb.vars['is_touch']  = <if test="istl:|:$this->registry->output->isLargeTouchDevice()">'large';<else /><if test="istm:|:$this->registry->output->isSmallTouchDevice()">'small';<else />false;</if></if>  ipb.vars['member_group']  = {parse expression="json_encode( array( 'g_mem_info' => $this->memberData['g_mem_info'] ) )"}  //]]>  </script></if><div id="content">  {$output}</div>

shout_row заменить все на:

<if test="$ajax==false"><tr class='row2' id='shout-{$d['_archive']}row-{$d['s_id']}'></if>  <if test="$this->settings['shoutbox_show_photos']"><td style='width: 1%; white-space: nowrap;'>{$d['photo']}</td></if>  <td style='width: 1%; white-space: nowrap;'>  <if test="showAtTag:|:$this->settings['shoutbox_at_tag']">  <a href="#" class="at_member" data-store="{$d['members_display_name']}" title="{$this->lang->words['insert_name']}">@</a>   </if>  <if test="$d['member_id']">  {IPSMember::makeProfileLink($d['_members_display_name'], $d['member_id'], $d['members_seo_name'])}  <else />  <abbr title="{$d['members_display_name']}">{$d['_members_display_name']}</abbr>  </if>  </td>  <if test="showColon:|:$this->settings['shoutbox_format_colon']"><td style='width: 1%; white-space: nowrap;'>:</td></if>  <td style='width: 48%;'>  <span class='right desc' title='{$d['_date']}'>({$d['s_date']})<if test="$can_edit || ($this->registry->getClass('shoutboxLibrary')->moderator && $this->registry->getClass('shoutboxLibrary')->checkModeratorPerm('edit_shouts', true))"> <a href='{parse url="app=shoutbox" seotitle="false" base="public"}#edit{$d['s_id']}' onclick='return ipb.shoutbox.editShout({$d['s_id']})' title='{$this->lang->words['mod_opt_edit']}'><img src="{$this->settings['img_url']}/comment_edit.png" alt="{$this->lang->words['macro__edit']}" /></a></if><if test="$this->registry->getClass('shoutboxLibrary')->moderator"> <a href='{parse url="app=shoutbox" seotitle="false" base="public"}#shout{$d['s_id']}' onclick='return ipb.shoutbox.modOptsLoadShout({$d['s_id']})' title='{$this->lang->words['mmenu_load_mod_opts']}'>{parse replacement="edit_folder"}</a></if><if test="!$this->registry->shoutboxLibrary->checkModeratorPerm('delete_shouts', true) && $this->memberData['g_shoutbox_delete_own'] && $d['member_id'] == $this->memberData['member_id']"> <a class="deleteMyShout" id="delete_{$d['s_id']}" href="#" title="{$this->lang->words['mod_opt_delete']}"><img src="{$this->settings['img_url']}/delete.png" alt="" /></a></if></span>  <if test="$d['_ignored'] == 1">  <span id='unhide_shout_{$d['s_id']}' class='desc'>{$this->lang->words['ignored_shouter']} <a href='#shout{$d['s_id']}' onclick='return ipb.shoutbox.showHiddenShout({$d['s_id']})' title='{$this->lang->words['ignored_shouter_view']}'>{$this->lang->words['ignored_shouter_view']}</a></span>  <span id='hidden_shout_{$d['s_id']}' class='shoutbox_text' style='display:none'>{$d['s_message']}</span>  <else />  <span class='shoutbox_text'>{$d['s_message']}</span>  </if>  </td><if test="$ajax==false"></tr></if>

shout_row_sidebar заменить все на:

<if test="$ajax==false"><tr class='row1' id='shout-{$d['_archive']}row-{$d['s_id']}'></if>  <td align='top' class='sidebar_shout'>  <div class='sidebar_shout_div'>  <if test="$this->settings['shoutbox_show_photos']">{$d['photo']} </if>  <if test="showAtTag:|:$this->settings['shoutbox_at_tag']">   <a href="#" class="at_member" data-store="{$d['members_display_name']}" title="{$this->lang->words['insert_name']}">@</a>   </if>  <if test="$d['member_id']">  {IPSMember::makeProfileLink($d['_members_display_name'], $d['member_id'], $d['members_seo_name'])}  <else />  <abbr title="{$d['members_display_name']}">{$d['_members_display_name']}</abbr>  </if> - <span class='desc' title='{$d['_date']}'>({$d['s_date']})<if test="$can_edit || ($this->registry->getClass('shoutboxLibrary')->moderator && $this->registry->getClass('shoutboxLibrary')->checkModeratorPerm('edit_shouts',true))"> <a href='{parse url="app=shoutbox" seotitle="false" base="public"}#edit{$d['s_id']}' onclick='return ipb.shoutbox.editShout({$d['s_id']})' title='{$this->lang->words['mod_opt_edit']}'><img src="{$this->settings['img_url']}/comment_edit.png" alt="{$this->lang->words['macro__edit']}" /></a></if><if test="$this->registry->getClass('shoutboxLibrary')->moderator"> <a href='{parse url="app=shoutbox" seotitle="false" base="public"}#shout{$d['s_id']}' onclick='return ipb.shoutbox.modOptsLoadShout({$d['s_id']})' title='{$this->lang->words['mmenu_load_mod_opts']}'>{parse replacement="edit_folder"}</a></if><if test="!$this->registry->shoutboxLibrary->checkModeratorPerm('delete_shouts', true) && $this->memberData['g_shoutbox_delete_own'] && $d['member_id'] == $this->memberData['member_id']"> <a class="deleteMyShout" id="delete_{$d['s_id']}" href="#" title="{$this->lang->words['mod_opt_delete']}"><img src="{$this->settings['img_url']}/delete.png" alt="" /></a></if></span>  </div>  <div style='padding: 5px;'>  <if test="$d['_ignored'] == 1">  <span id='unhide_shout_{$d['s_id']}' class='desc'>{$this->lang->words['ignored_shouter']} <a href='#shout{$d['s_id']}' onclick='return ipb.shoutbox.showHiddenShout({$d['s_id']})' title='{$this->lang->words['ignored_shouter_view']}'>{$this->lang->words['ignored_shouter_view']}</a></span>  <span id='hidden_shout_{$d['s_id']}' class='shoutbox_text' style='display:none'>{$d['s_message']}</span>  <else />  <span class='shoutbox_text'>{$d['s_message']}</span>  </if>  </div>  </td><if test="$ajax==false"></tr></if>

shoutbox заменить все на:

<!--- ShoutBoxJsLoader --->{parse template="editorLoadJs" group="editors" params="$data"}<h3 id='category_shoutbox' class='maintitle'>  {$this->settings['shoutbox_title']}  <if test="showPopupLink:|:$this->settings['shoutbox_popup'] && $this->request['do'] != 'popup'">  <a href="#" id="shoutbox-popup-button" title="{$this->lang->words['open_popup']}">  <img src="{$this->settings['img_url']}/shoutbox/popup.png" alt="{$this->lang->words['open_popup']}" />  </a>  </if></h3><div id='shoutbox-wrapper' class='ipsBox table_wrap'><div class='ipsBox_container'>  <table class='ipb_table shoutbox_table'>  <tr class='header'>  <th scope='col'>  <if test="$this->memberData['g_shoutbox_use'] && $this->memberData['g_shoutbox_view_archive']">  <div id='shoutbox-archive-link' class='right'>[ <a href='#' id='load-shoutbox-archive'>{$this->lang->words['archive']}</a> ]</div>  </if>  {$this->lang->words['latest_shouts']}  </th>  </tr>  {$data['announcement']}  <tr class='row1'>  <td id='shoutbox-shouts-td' valign='top' class='altrow'>  {$data['nomods']}  {$data['noshouts']}  <div id='shoutbox-shouts' style='height:{$data['shout_height']}px;overflow:auto;'>  <table id='shoutbox-shouts-table'>  <tbody>  {$data['shouts']}  </tbody>  </table>  </div>  <div id="shouts-resizer"></div>  {parse template="popupInlineError" group="skin_shoutbox" params="app"}  </td>  </tr>  <if test="$this->memberData['g_shoutbox_use']">  <tr class='row1'>  <td class='short' class='altrow'>  {parse editor="shout_msg" content="" options="array( 'height' => 100 )"}  </td>  </tr>  <tr class='row2'>  <td class='altrow short'>  <input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit'/>  <input type='button' id='shoutbox-clear-button' value='{$this->lang->words['clear']}' class='input_submit alt'/>  <input type='button' id='shoutbox-refresh-button' value='{$this->lang->words['refresh']}' class='input_submit alt'/>  <input type='button' id='shoutbox-myprefs-button' value='{$this->lang->words['my_prefs']}' class='input_submit alt'/>  </td>  </tr>  </if>  </table></div></div>{parse template="inactivePrompt" group="skin_shoutbox" params=""}<br /><div id='board_stats'>  <ul class='ipsType_small ipsList_inline'>  <li class='clear'>  <span id="shoutbox-total-shouts" class='value'>{$this->registry->getClass('shoutboxLibrary')->shout_total}</span>  {$this->lang->words['total_shouts']}  </li>  <if test="myShoutCount:|:$this->memberData['member_id']">  <li class='clear'>  <span class='value'>{$stats['my_shouts_num']}</span>  {$this->lang->words['my_shouts']}  </li>  </if>  <li class='clear'>  <span class='value'><if test="$stats['top_shouter_id']">{$stats['top_shouter_name']}{parse template="user_popup" group="global" params="$stats['top_shouter_id'], $stats['top_shouter_seo']"} ({$stats['top_shouts_num']})<else />--</if></span>  {$this->lang->words['top_shouter']}  </li>  <li class='clear'>  <span class='value'>{parse expression="count($this->caches['shoutbox_mods']['groups'])"}</span>  {$this->lang->words['total_mods_groups']}  </li>  <li class='clear'>  <span class='value'>{parse expression="count($this->caches['shoutbox_mods']['members'])"}</span>  {$this->lang->words['total_mods_members']}  </li>  </ul></div><div id='board_statistics' class='statistics clearfix'>  <h4 class='statistics_head'>  <div id='shoutbox-active-total' class='left'>{$stats['TOTAL']}</div> {$this->lang->words['active_users_text']} <span>{$this->lang->words['active_users']}</span><br />  <span class='desc'><span id='shoutbox-active-member'>{$stats['MEMBERS']}</span> {$this->lang->words['members']}, <if test="hideGuestCount:|:$this->caches['group_cache'][ $this->settings['guest_group'] ]['g_shoutbox_view']"><span id='shoutbox-active-guests'>{$stats['GUESTS']}</span> {$this->lang->words['guests']}, </if><span id='shoutbox-active-anon'>{$stats['ANON']}</span> {$this->lang->words['anon_users']}</span>  </h4>  <p id='shoutbox-active-names'>  <if test="count($stats['NAMES'])">  {parse expression="implode( ", ", $stats['NAMES'] )"}  </if>  </p></div><script type='text/javascript'>/* Setup global value */ipb.shoutbox.shoutboxGLOBAL = false;{$data['js']}{$data['langs']}if (ipb.textEditor.getEditor().CKEditor) { ipb.textEditor.getEditor().CKEditor.on('key', ipb.shoutbox.keypress_handler ); }</script>

shoutboxProfile здесь нечиво ненужно заменять.

shouts_ajax заменить на:

{$d['shouts']}<script type='text/javascript'>{$d['sound']}ipb.shoutbox.shouts_fade([{$d['ids']}]);</script>

Админ Панель-Внешний вид-Ваш стиль-skin_shoutbox_hooks
hookActiveUsers заменить все на:

<!--- ShoutBoxJsLoader ---><br /><h4 class='statistics_head'>  <div id='shoutbox-active-total' class='left<if test="$this->settings['shoutbox_active_ajax']"> ajax_update</if>'>{$stats['TOTAL']}</div> {$this->lang->words['active_users_text']} {$this->lang->words['on']} <a href="{parse url="app=shoutbox" seotitle="false" base="public"}" title='{$this->lang->words['view_main_shoutbox']}'>{$this->settings['shoutbox_title']}</a> <span>{$this->lang->words['active_users']}</span><br />  <span class='desc'><span id='shoutbox-active-member'>{$stats['MEMBERS']}</span> {$this->lang->words['members']}, <if test="hideGuestCount:|:$this->caches['group_cache'][ $this->settings['guest_group'] ]['g_shoutbox_view']"><span id='shoutbox-active-guests'>{$stats['GUESTS']}</span> {$this->lang->words['guests']}, </if><span id='shoutbox-active-anon'>{$stats['ANON']}</span> {$this->lang->words['anon_users']}</span></h2><p id='shoutbox-active-names'>  <if test="count($stats['NAMES'])">  {parse expression="implode( ", ", $stats['NAMES'] )"}  </if></p>

hookActiveUsersSidebar заменить на:

<!--- ShoutBoxJsLoader ---><div id='active_users' class='ipsSideBlock clearfix'>  <h3><a href="{parse url="app=shoutbox" seotitle="false" base="public"}" title='{$this->lang->words['view_main_shoutbox']}'>{$this->lang->words['sb_hook_active_users']} (<span id='shoutbox-active-total'<if test="$this->settings['shoutbox_active_ajax']"> class='ajax_update''</if>>{$stats['TOTAL']}</span>)</a></h3>  <div>  <span class='desc'><span id='shoutbox-active-member'>{$stats['MEMBERS']}</span> {$this->lang->words['members']}, <if test="hideGuestCount:|:$this->caches['group_cache'][ $this->settings['guest_group'] ]['g_shoutbox_view']"><span id='shoutbox-active-guests'>{$stats['GUESTS']}</span> {$this->lang->words['guests']}, </if><span id='shoutbox-active-anon'>{$stats['ANON']}</span> {$this->lang->words['anon_users']}</span>  <br /><br />  <p id='shoutbox-active-names'>  <if test="count($stats['NAMES'])">  {parse expression="implode( ", ", $stats['NAMES'] )"}  </if>  </p>  </div></div>

hookGlobalShoutbox заменить на:

<!--- ShoutBoxJsLoader ---><script type='text/javascript'>/* Setup some value */ipb.shoutbox.shoutboxGLOBAL = true;</script><if test="in_array( $this->settings['shoutbox_global_hook'], array( 'b' ) )"><br class="clear"/></if><div class='category_block block_wrap' id='category_shoutbox'>  <h3 class='maintitle'>  <a class='toggle right' href='#' title='{$this->lang->words['toggle_shoutbox']}'>{$this->lang->words['toggle_shoutbox']}</a>  <a href="{parse url="app=shoutbox" seotitle="false" base="public"}" title='{$this->lang->words['view_main_shoutbox']}'>{$this->settings['shoutbox_title']}</a>  <if test="showPopupLink:|:$this->settings['shoutbox_popup']"><a href="#" id="shoutbox-popup-button" title="{$this->lang->words['open_popup']}"><img src="{$this->settings['img_url']}/shoutbox/popup.png" alt="{$this->lang->words['open_popup']}" /></a></if>  </h3>  <div class='ipsBox table_wrap'><div class='ipsBox_container'>  <table class='ipb_table shoutbox_table'>  {$d['announcement']}  <if test="$this->settings['shoutbox_global_theme'] == 2">  <tr class='row1'>  <td valign='top' class='altrow' colspan='2'>  <div id='shoutbox-shouts' style='height:{$d['shout_height']}px;overflow:auto'>  {$d['noshouts']}  {parse template="inactivePrompt" group="skin_shoutbox" params=""}  <table id='shoutbox-shouts-table'>  <tbody>  {$d['shouts']}  </tbody>  </table>  </div>  <div id='shouts-global-resizer'></div>  {parse template="popupInlineError" group="skin_shoutbox" params="glb"}  </td>  </tr>  <if test="$this->memberData['g_shoutbox_use']">  <tr class='row1'>  <td class='altrow' valign='top' colspan='2'>  <input type='text' id='shoutbox-global-shout' size='40' class='input_text' />  <input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit' />    <if test="$this->settings['shoutbox_allow_smilies']"> <input type='button' id='shoutbox-smilies-button' value='{$this->lang->words['smilies']}' class='input_submit alt' data-clicklaunch="populateSmilies" data-scope="shoutbox" /></if>  </td>  </tr>  </if>  <else />  <tr class='row1'>  <td class='altrow' valign='top'<if test="$this->memberData['g_shoutbox_use']"> style='width:45%'<else /> colspan='2'</if>>  <div id='shoutbox-shouts' style='height:{$d['shout_height']}px;overflow:auto'>  {$d['noshouts']}  {parse template="inactivePrompt" group="skin_shoutbox" params=""}  <table id='shoutbox-shouts-table'>  <tbody>  {$d['shouts']}  </tbody>  </table>  </div>  <div id='shouts-global-resizer'></div>  {parse template="popupInlineError" group="skin_shoutbox" params="glb"}  </td>  <if test="$this->memberData['g_shoutbox_use']">  <td class='short row2 altrow' style='width:25%;min-width:250px;' valign='top'>  <textarea id='shoutbox-global-shout' style='width:42%;overflow:auto;' rows='3' cols='50' class='input_text'></textarea>  <br /><br />  <input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit' />  <input type='button' id='shoutbox-clear-button' value='{$this->lang->words['clear']}' class='input_submit alt' />  <input type='button' id='shoutbox-refresh-button' value='{$this->lang->words['refresh']}' class='input_submit alt' />  <br /><br />  <if test="$this->settings['shoutbox_allow_smilies']"> <input type='button' id='shoutbox-smilies-button' value='{$this->lang->words['smilies']}' class='input_submit alt' data-clicklaunch="populateSmilies" data-scope="shoutbox" /></if>  <if test="$this->settings['shoutbox_allow_bbcode']"> <input type='button' id='shoutbox-bbcode-button' value='{$this->lang->words['bbcode']}' class='input_submit alt' /></if>  <input type='button' id='shoutbox-myprefs-button' value='{$this->lang->words['my_prefs']}' class='input_submit alt' />  </td>  </if>  </tr>  </if>  </table>  </div></div></div><if test="in_array( $this->settings['shoutbox_global_hook'], array( 't', 'ct' ) )"><br class="clear"/></if><script type='text/javascript'>//<![CDATA[{$d['js']}//]]></script>

hookGlobalShoutboxEmoticons заменить все на:

<if test="showPagination:|:$total>count($emoticons)">  <h3 class="maintitle short">  <span class="pager"><if test="showPrevious:|:$prev!=-1"><a href="#" class="emoticonPager" id="page_{$prev}">«</a></if> </span>  {$this->lang->words['more']}  <span class="pager"> <if test="showNext:|:(count($emoticons)+(($next-1)*$this->settings['shoutbox_emos_perpage']))<$total"><a href="#" class="emoticonPager" id="page_{$next}">»</a></if></span>  </h3></if><table class="ipb_table">  {parse striping="shoutboxEmo" classes="row1,row2"}  <php>$count=0;</php>  <foreach loop="$emoticons as $emo">  <php>$count++;</php>  <if test="startRow:|:$count%$this->settings['shoutbox_emos_perrow']==1">  <tr class="{parse striping="shoutboxEmo"}">  </if>  <td class="short">  <a title="{$emo['image']}" onclick='ipb.shoutbox.emoticonOnclick("{$emo['text']}"); return false;' href="#">  <img alt="{$emo['image']}" src="{$this->settings['emoticons_url']}/{$emo['image']}" />  </a>  </td>  <if test="endRow:|:$count%$this->settings['shoutbox_emos_perrow']==0">  </tr>  </if>  </foreach>  <if test="cellCleanup:|:count($emoticons)%$this->settings['shoutbox_emos_perrow']>0">  <php>$extra = ""; for ( $i=count($emoticons)%$this->settings['shoutbox_emos_perrow']; $i<$this->settings['shoutbox_emos_perrow']; $i++ ) { $extra .= "<td> </td>"; }</php>  {$extra}  </tr>  </if></table>

hookGlobalShoutboxSidebar заменить все на:

<!--- ShoutBoxJsLoader ---><script type='text/javascript'>/* Setup some value */ipb.shoutbox.shoutboxGLOBAL = true;</script>{$d['emoticons']}<div id='shoutbox_sidebar' class='ipsSideBlock clearfix'>  <h3>  {$this->settings['shoutbox_title']}  <if test="showPopupLink:|:$this->settings['shoutbox_popup']"><a href="#" id="shoutbox-popup-button" title="{$this->lang->words['open_popup']}"><img src="{$this->settings['img_url']}/shoutbox/popup.png" alt="{$this->lang->words['open_popup']}" /></a></if></h3>  <ul class='hfeed block_list'>  <table class='ipb_table shoutbox_table'>  {$d['announcement']}  <tr class='row1'>  <td valign='top' class='altrow'>  <div id='shoutbox-shouts' style='height: {$d['shout_height']}px; overflow-x: hidden;'>  {$d['noshouts']}  {parse template="inactivePrompt" group="skin_shoutbox" params=""}  <table id='shoutbox-shouts-table'>  <tbody>  {$d['shouts']}  </tbody>  </table>  </div>  <img src='{$this->settings['img_url']}/spacer.gif' id='shouts-global-resizer' border='0' height='4px' alt='{$this->lang->words['resize_shouts_area']}' style='cursor:n-resize;width:100%;' />  {parse template="popupInlineError" group="skin_shoutbox" params="glb"}  <if test="$this->memberData['g_shoutbox_use']">  <br />  <input type='text' id='shoutbox-global-shout' style='width:95%;' class='input_text' /><br /><br />  <div class='short'>  <input type='button' id='shoutbox-submit-button' value='{$this->lang->words['shout']}' class='input_submit' />  <input type='button' id='shoutbox-clear-button' value='{$this->lang->words['clear']}' class='input_submit alt' />  <input type='button' id='shoutbox-refresh-button' value='{$this->lang->words['refresh']}' class='input_submit alt' />  </div><br />  <div class='short'>  <if test="$this->settings['shoutbox_allow_smilies']"> <input type='button' id='shoutbox-smilies-button' value='{$this->lang->words['smilies']}' class='input_submit alt' data-clicklaunch="populateSmilies" data-scope="shoutbox" /></if>  <if test="$this->settings['shoutbox_allow_bbcode']"> <input type='button' id='shoutbox-bbcode-button' value='{$this->lang->words['bbcode']}' class='input_submit alt' /></if>  <input type='button' id='shoutbox-myprefs-button' value='{$this->lang->words['my_prefs']}' class='input_submit alt' />  </div>  </if>  </td>  </tr>  </table>  </ul></div><script type='text/javascript'>{$d['js']}</script>

hookOnlineTab заменить все на:

<if test="hasSomeToShow:|:$count > 0">  <div id="shoutbox-tab-count-wrap"><span id="shoutbox-tab-count" class="ipsHasNotifications" style="display: none;">{$count}</span></div>  <script type="text/javascript">  document.observe("dom:loaded", function(){  var _thisHtml  = $('nav_app_shoutbox').innerHTML;  _thisHtml = _thisHtml.replace( /</a>/ig, '' ) + $('shoutbox-tab-count-wrap').innerHTML + "</a>";  $('nav_app_shoutbox').update( _thisHtml );  $('shoutbox-tab-count-wrap').remove();  $('shoutbox-tab-count').show();  });  </script></if>

hookVCard заменить все на:

<if test="hasSomeToShow:|:$member['shoutbox_shouts'] > 0">  <li>  <a href='{parse url="showuser={$member['member_id']}&tab=shoutbox" seotitle="{$member['members_seo_name']}" template="showuser" base="public"}'>  <img src="{$this->settings['img_url']}/shoutbox/shout.png" title="{$member['shoutbox_shouts']} {$this->lang->words['shouts']}" alt="{$member['shoutbox_shouts']} {$this->lang->words['shouts']}" /></a>  </a>  </li></if>

shoutboxJavascript заменить все на:

<script type='text/javascript' src='{$this->settings['js_base_url']}js/shoutbox.js'></script><if test="soundsOn:|:$this->settings['shoutbox_enable_sound']"><script type='text/javascript' src='{$this->settings['public_dir']}sounds/soundmanager2-nodebug-jsmin.js'></script><script type='text/javascript'>document.observe('dom:loaded', function() { soundManager.url = '{$this->settings['public_dir']}sounds/';soundManager.debugMode=false; });</script></if>

Админ Панель-Внешний вид-Ваш стиль-Добавить CSS-файл 
Названые: ipshoutbox
 

table.shoutbox_table tr td {   padding: 4px;}.shoutbox_disabled{   font-style: italic;   color: red;}.shoutbox_text{   word-wrap: break-word;}#shoutbox-smilies-button_menucontent table{   border: 1px solid #d5dde5;   border-collapse: separate;}#shoutbox-smilies-button_menucontent td{   width: 20%;}#shoutbox-smilies-button_menucontent span.pager{   width: 20px;   display: inline-block;}/* Sidebar hook */#shoutbox_sidebar table.ipb_table.shoutbox_table{   border-bottom: 0;   margin: -5px 0;}#shoutbox_sidebar table.ipb_table.shoutbox_table tr td{   padding: 4px;}.sidebar_shout{   padding: 0;   border-bottom: 1px solid #d5dde5;}.sidebar_shout_div{   padding: 5px;   border-bottom: 1px dashed #d5dde5;}#shoutbox-shouts-table{   border: 1px solid #d5dde5;}#shoutbox-shouts-table .row2 td{   border-bottom: 1px solid #d5dde5;   vertical-align: middle;}#shouts-global-resizer,#shouts-resizer{   background-color: #DBE2EC;   cursor:n-resize;   height:6px;}/* Tab count */#shoutbox-tab-count.ipsHasNotifications{   left: auto;   top: 0px;   right: -1px;   text-shadow: none !important;}

Для публікації повідомлень створіть обліковий запис або авторизуйтесь