Главная Форум Поиск Пользователи Регистрация Добрый день, Гость Вход


Главная


Форум torrenpier который уже живет
это сообщество владельцев форумов на phphBB2, торрент-трекеров на движках torrentpier и SVN всех версий.
Здесь можно найти решение своих проблем на своем сайта.
Здесь можно скачать полезные и нужные моды torrenpier, phpBB2 и svn.
Наш форум - это место для общения и обмена опытом между любителей движков, создателей модов на заказ и владельцев сайтов!
Мод Мини Чат на аякс / Mini Chat [ajax]
Страницы:  1, 2  След.  
Начать новую тему   Ответить на тему    Главная -> 1.xx -> Моды (full)
Автор Сообщение
adelka
Зарегистрирован: 2011-01-30
Сообщ.: 60
russia.gif
Сообщение 28-Мар-11 23:33 #1  
################################################################
## Название мода: Мини Чат на аякс / Mini Chat [ajax]
## Автор мода:Roman (vkuzne)
## Описание: это миничат который написанн на PHP и JavaScript , с использованием технологий Ajax для обмена данными,
## без необходимости перезагружать страницу.
## Используется база MySQL. Минимальная нагрузка на сервер (всё кешируется) поддержка смайлов ,
## всех ббкодов и прочие функции..
## Внешне похож на чат с анимешки
## Сложность: легко
## Время установки: 3 мин
################################################################
pic
Выполните SQL Запрос в БД
Код:
CREATE TABLE IF NOT EXISTS `bb_shout` (
  `shout_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `shout_username` varchar(25) CHARACTER SET cp1251 NOT NULL DEFAULT '',
  `shout_user_id` mediumint(8) NOT NULL DEFAULT '0',
  `shout_group_id` mediumint(8) NOT NULL DEFAULT '0',
  `shout_session_time` int(11) NOT NULL DEFAULT '0',
  `shout_ip` char(8) CHARACTER SET cp1251 NOT NULL DEFAULT '',
  `shout_text` varchar(1000) CHARACTER SET cp1251 NOT NULL,
  `shout_active` mediumint(8) NOT NULL DEFAULT '0',
  `shout_bbcode_uid` varchar(10) NOT NULL DEFAULT '',
  KEY `shout_id` (`shout_id`)
);


Откройте ajax.php

Найти


Код:
  case 'view_post':
    require(INC_DIR .'bbcode.'. PHP_EXT);
  break;


ПОСЛЕ ДОБАВЬТЕ
Код:

 case 'chat_message':
    require(INC_DIR .'functions_post.'. PHP_EXT);
    require(INC_DIR .'bbcode.'. PHP_EXT);
  break;

НАЙТИ

Код:
  'view_post'         => array('guest'),

ПОСЛЕ ДОБАВЬТЕ

Код:
    'chat_message'      => array('user'),

НАЙТИ ПОСЛЕДНЮЮ КОВЫЧКУ }

ПЕРЕД НЕЙ ДОБАВИТЬ

Код:

function chat_message()
  {
    global $db, $bb_cache, $userdata, $bb_cfg, $lang;
    $mode = (int) $this->request['mode'];
    $message = (string) $this->request['message'];
    $shoutbox_date = 'H:i:s';
    if($mode==1)
    {
      if(!$message) ajax_die($lang['shoutbox_err']);
      $bbcode_on = $bb_cfg['allow_bbcode'];
      $smilies_on = $bb_cfg['allow_smilies'];
      if(!IS_ADMIN)
      {
        $chk = $db->fetch_row('SELECT MAX(shout_session_time) AS last_post_time FROM bb_shout WHERE shout_user_id = '.$userdata['user_id']);
        if ( $chk['last_post_time'] > 0 && ( time() - $chk['last_post_time'] ) < $bb_cfg['flood_interval'] ) ajax_die($lang['Flood_Error']);
      }
      if (!empty($message))
      {
        $bbcode_uid = ( $bbcode_on ) ? make_bbcode_uid() : '';
        $html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
        $html_entities_replace = array('&amp;', '&lt;', '&gt;', '&quot;');
        $message = str_replace("\r", '', trim($message));
        $message = preg_replace("#\n{3,}#", "\n\n", $message);
        $message = preg_replace($html_entities_match, $html_entities_replace, $message);
        $message = stripslashes(prepare_message(addslashes(unprepare_message($message)), $bbcode_on, $smilies_on, $bbcode_uid));
        $message = bbencode_first_pass($message, $bbcode_uid);
        $message = bbencode_second_pass($message, $bbcode_uid);
        $message = make_clickable($message);
        $message = smilies_pass($message);
        $message = nl2br($message);
        $db->query('INSERT INTO bb_shout (shout_text, shout_session_time, shout_user_id, shout_ip, shout_username, shout_bbcode_uid) VALUES ("'.$db->escape($message).'", '.time().', '.$userdata['user_id'].', "'.USER_IP.'", "'.$db->escape($userdata['username']).'", "'.$bbcode_uid.'")');
        $bb_cache->rm('shout_data');
      }
    }
    if(!$shout_data = $bb_cache->get('shout_data'))
    {
      $shout_rows = $db->fetch_rowset("SELECT s.*, u.username, u.user_level, u.user_rank, u.user_avatar, u.user_avatar_type, u.user_allowavatar
        FROM bb_shout s, ".USERS_TABLE." u
        WHERE s.shout_user_id=u.user_id AND u.user_id = u.user_id
        ORDER BY s.shout_session_time DESC LIMIT 50");
      $i=0;
      $shout_data = '';
      foreach ($shout_rows AS $shout_row)
      {
        $row_class = !($i % 2) ? 'row1' : 'row2';
        $user_level =  $shout_row['user_level'];
        if($user_level == ADMIN) $username = '<span class="colorAdmin">'.$shout_row['username'].'</span>' ;
        else if($user_level == MOD) $username = '<span class="colorMod">'.$shout_row['username'].'</span>';
        else if($user_level == GROUP_MEMBER) $username = '<span class="colorGroup">'.$shout_row['username'].'</span>';
        else $username = '<span class="colorNick">'.$shout_row['username'].'</span>';

        $avatar_img = '';
        if ($shout_row['user_avatar_type'] && $shout_row['user_allowavatar'] )
        {
          switch($shout_row['user_avatar_type'] )
          {
            case USER_AVATAR_UPLOAD:
              $avatar_img = ( $bb_cfg['allow_avatar_upload'] ) ? '<img align="left" style="max-height:35px;max-width:35px;padding-right: 3px;" src="' . $bb_cfg['avatar_path'] . '/' . $shout_row['user_avatar'] . '" alt="" border="0" />' : '';
              break;
            case USER_AVATAR_REMOTE:
              $avatar_img = ( $bb_cfg['allow_avatar_remote'] ) ? '<img align="left" style="max-height:35px;max-width:35px;padding-right: 3px;" src="' . $shout_row['user_avatar'] . '" alt="" border="0" />' : '';
              break;
            case USER_AVATAR_GALLERY:
              $avatar_img = ( $bb_cfg['allow_avatar_local'] ) ? '<img align="left" style="max-height:35px;max-width:35px;padding-right: 3px;" src="' . $bb_cfg['avatar_gallery_path'] . '/' . $shout_row['user_avatar'] . '" alt="" border="0" />' : '';
              break;
          }
        }

        $shout = (!$shout_row['shout_active']) ? $shout_row['shout_text'] : $lang['Shout_censor'];
        //if ( $bb_cfg['allow_smilies'] != 0 ) $shout = smilies_pass($shout);
        $shout_new = bbencode_second_pass($shout, $shout_row['shout_bbcode_uid']);
        $shout = str_replace("\n", "\n<br />\n", $shout);
        $shout = ($user_level == ADMIN) ? '<span class="colorAdmin">'.$shout.'</span>' : $shout;

        $shout_data .= '<div id="shout_'.$shout_row['shout_id'].'" class="chat-comment '.$row_class.'"><div style="min-height: 32px;"><a href="http://unionpeer.org/profile.php?mode=viewprofile&u='.$shout_row['shout_user_id'].'" target="_blank">'.$avatar_img.'&nbsp;</a>&nbsp;<a class="bold" title="'.$lang['shoutbox_insert_name'].'" style="text-decoration: none;" href="javascript:add_nick(\'[b]'.addslashes($shout_row['shout_username']).'[/b],\')">'.$username.'</a><div class="small">'.create_date($shoutbox_date, $shout_row['shout_session_time'],3).'</div></div><div class="spacer_2"></div><span style="font-size: 11px;">'.$shout.'</span></div>';
        ++$i;
      }
      $bb_cache->set('shout_data', $shout_data);
    }
    $this->response['message'] = $shout_data;
  }

ОТКРОЙТЕ page_header.tpl
НАЙДИТЕ

Код:
<!-- IF SHOW_BT_USERDATA --><div id="user_ratio">

ПЕРЕД ДОБАВЬТЕ

Код:

<script type="text/javascript">
    ajax.chat_message = function(mode) {
      ajax.exec({
        action : 'chat_message',
        mode : mode,
        message : $('#message').val()
      });
    };
    ajax.callback.chat_message = function(data) {
      if(data.message)
      {
        $('#chat').show();
        $('#message').attr('value', '');
        $('#chat').html(data.message);
        initPostBBCode('#chat');
      }
    };
    function submit_click(e) {
      e = e || window.event;
      if (e.keyCode == 13 && e.ctrlKey) {
        submit_chat();
      };
    }
    function add_nick(text){
      $('#message').attr('value', $('#message').val() + text +' ');
      $('#message').focus();
    }
    $(document).ready(function(){ajax.chat_message(2);});
    setInterval(function(){ajax.chat_message(2);}, 30000);
  </script>
  <style type="text/css">
  #chat { overflow: auto; width: 200px; height: 300px; }
  .chat-comment {
    margin: 3px;
    padding: 4px;
    border: solid 1px #AED7FF;
    background-color: #F9FCFF;
  }
  textarea.chat_message {
    height: 40px; width: 200px;
    border-radius: 0px;
    -moz-border-radius: 0px;
    font-size: 11px;
  }
  .chat_btn {
    border: 1px solid #0080FF;
    padding: 2px;
    background-color: #F9FCFF;
    font-size: 10px;
    font-weight: bold;
  }
  .chat_btn:hover { color: #0080FF; }
  </style>

  <div class="category">
    <h3 class="cat_title">Мини чат</h3>
      <div class="cat_footer"></div>
      <div class="f_tbl_wrap pad_4 tCenter">
        <form name="post">
        <textarea onkeydown="submit_click(event)" id="message" class="chat_message"></textarea>
        <div class="floatR pad_4">
          <span onclick="ajax.chat_message(1); return false;" class="chat_btn">Отправить</span>
          <span onclick="$('#message').attr('value', ''); $('#message').focus();"  class="chat_btn">&nbsp;X&nbsp;</span>
          <span onclick="window.open('posting.php?mode=smilies', '_phpbbsmilies', 'height=540, resizable=yes, scrollbars=yes ,width=620'); return false;"  class="chat_btn">&nbsp;:)&nbsp;</span>
          <span onclick="ajax.chat_message(2); return false;"  class="chat_btn">Обновить</span>
        </div>
        <div class="clear"></div>
        <div class="spacer_2"></div>
        <div id="chat" class="tLeft hidden"></div>
        </form>
      </div>
    <div class="cat_footer"></div>
  </div>


ОТКРОЙТЕ index.php

НАЙДИТЕ


Код:
$page_cfg['load_tpl_vars'] = array(
  'post_icons',
);


ДОБАВЬТЕ ПОСЛЕ

Код:

  $page_cfg['include_bbcode_js'] = true;


ОТКРОЙТЕ main.css

НАЙДИТЕ


Код:
.none      { display: none; }



ДОБАВЬТЕ ПОСЛЕ


Код:
.hidden    { display: none; }


ОТКРОЙТЕ lang_russian.php

ДОБАВЬТЕ В КОНЕЦ

Код:
$lang['shoutbox_insert_name'] = 'Мини-Чат';
$lang['shoutbox_err'] = 'Нужно ввести сообщение';
Вернуться к началу
    
GaZz-BenziN
Зарегистрирован: 2010-11-04
Сообщ.: 204
russia.gif
Сообщение 29-Мар-11 10:36 #2  
Молодец! Выкладывай дальше моды! поновее которые :-)
Вернуться к началу
    
adelka
Зарегистрирован: 2011-01-30
Сообщ.: 60
russia.gif
Сообщение 29-Мар-11 13:29 #3  
GaZz-BenziN ок
Вернуться к началу
    
Admin
Администратор
Зарегистрирован: 2010-07-27
Сообщ.: 777
russia.gif
Сообщение 04-Апр-11 10:53 #4  
подошло на 261.единственное -поставили на движке по середине после лого с индивидуальным меню

переправить вот это
ОТКРОЙТЕ page_header.tpl
НАЙДИТЕ

<
Код:
!-- IF SHOW_BT_USERDATA --><div id="user_ratio">


ПЕРЕД ДОБАВЬТЕ

Код:
<script type="text/javascript">
    ajax.chat_message = function(mode) {
      ajax.exec({
        action : 'chat_message',
        mode : mode,
        message : $('#message').val()
      });
    };
    ajax.callback.chat_message = function(data) {
      if(data.message)
      {
        $('#chat').show();
        $('#message').attr('value', '');
        $('#chat').html(data.message);
        initPostBBCode('#chat');
      }
    };
    function submit_click(e) {
      e = e || window.event;
      if (e.keyCode == 13 && e.ctrlKey) {
        submit_chat();
      };
    }
    function add_nick(text){
      $('#message').attr('value', $('#message').val() + text +' ');
      $('#message').focus();
    }
    $(document).ready(function(){ajax.chat_message(2);});
    setInterval(function(){ajax.chat_message(2);}, 30000);
  </script>
  <style type="text/css">
  #chat { overflow: auto; width: 200px; height: 300px; }
  .chat-comment {
    margin: 3px;
    padding: 4px;
    border: solid 1px #AED7FF;
    background-color: #F9FCFF;
  }
  textarea.chat_message {
    height: 40px; width: 200px;
    border-radius: 0px;
    -moz-border-radius: 0px;
    font-size: 11px;
  }
  .chat_btn {
    border: 1px solid #0080FF;
    padding: 2px;
    background-color: #F9FCFF;
    font-size: 10px;
    font-weight: bold;
  }
  .chat_btn:hover { color: #0080FF; }
  </style>

  <div class="category">
    <h3 class="cat_title">Мини чат</h3>
      <div class="cat_footer"></div>
      <div class="f_tbl_wrap pad_4 tCenter">
        <form name="post">
        <textarea onkeydown="submit_click(event)" id="message" class="chat_message"></textarea>
        <div class="floatR pad_4">
          <span onclick="ajax.chat_message(1); return false;" class="chat_btn">Отправить</span>
          <span onclick="$('#message').attr('value', ''); $('#message').focus();"  class="chat_btn">&nbsp;X&nbsp;</span>
          <span onclick="window.open('posting.php?mode=smilies', '_phpbbsmilies', 'height=540, resizable=yes, scrollbars=yes ,width=620'); return false;"  class="chat_btn">&nbsp;:)&nbsp;</span>
          <span onclick="ajax.chat_message(2); return false;"  class="chat_btn">Обновить</span>
        </div>
        <div class="clear"></div>
        <div class="spacer_2"></div>
        <div id="chat" class="tLeft hidden"></div>
        </form>
      </div>
    <div class="cat_footer"></div>
  </div>
на вот это

открыть /templates/default/page_header.tpl

найти
Код:
<!-- IF SHOW_IMPORTANT_INFO -->
<!--important_info-->
<!--<div id="important_info">
important_info
</div>-->
<!--/important_info-->
<!-- ENDIF -->

</div>
<!--/page_header-->

<!--menus-->
и после этого кода ставим

Код:

<br/>
<script type="text/javascript">
    ajax.chat_message = function(mode) {
      ajax.exec({
        action : 'chat_message',
        mode : mode,
        message : $('#message').val()
      });
    };
    ajax.callback.chat_message = function(data) {
      if(data.message)
      {
        $('#chat').show();
        $('#message').attr('value', '');
        $('#chat').html(data.message);
        initPostBBCode('#chat');
      }
    };
    function submit_click(e) {
      e = e || window.event;
      if (e.keyCode == 13 && e.ctrlKey) {
        submit_chat();
      };
    }
    function add_nick(text){
      $('#message').attr('value', $('#message').val() + text +' ');
      $('#message').focus();
    }
    $(document).ready(function(){ajax.chat_message(2);});
    setInterval(function(){ajax.chat_message(2);}, 30000);
  </script>
  <style type="text/css">
  #chat { overflow: auto; width: 1200px; height: 300px; }
  .chat-comment {
    margin: 3px;
    padding: 4px;
    border: solid 1px #AED7FF;
    background-color: #F9FCFF;
  }
  textarea.chat_message {
    height: 20px; width: 800px;
    border-radius: 0px;
    -moz-border-radius: 0px;
    font-size: 11px;
   }
  .chat_btn {
    border: 1px solid #0080FF;
    padding: 2px;
    background-color: #F9FCFF;
    font-size: 10px;
    font-weight: bold;
  }
  .chat_btn:hover { color: #0080FF; }
  </style>

  <div class="category">
    <h3 class="cat_title"><center>Мини чат</center></h3>
      <div class="cat_footer"></div>
      <div class="f_tbl_wrap pad_4 tCenter"> <center>
        <form name="post">
        <textarea onkeydown="submit_click(event)" id="message" class="chat_message"></textarea>
        <div class="floatR pad_4">
          <span onclick="ajax.chat_message(1); return false;" class="chat_btn">Отправить</span>
          <span onclick="$('#message').attr('value', ''); $('#message').focus();"  class="chat_btn">&nbsp;X&nbsp;</span>
          <span onclick="window.open('posting.php?mode=smilies', '_phpbbsmilies', 'height=540, resizable=yes, scrollbars=yes ,width=620'); return false;"  class="chat_btn">&nbsp;:)&nbsp;</span>
          <span onclick="ajax.chat_message(2); return false;"  class="chat_btn">Обновить</span>
        </div>
        <div class="clear"></div>
        <div class="spacer_2"></div>
        <div id="chat" class="tLeft hidden"></div>
        </form> </center>
      </div>
    <div class="cat_footer"></div>
  </div>
скриншот


072.jpg
 Описание файла:  
 Размер файла:  44.82 KB
 Просмотров:  935 раз(а)

072.jpg

Вернуться к началу
    
** *Cibertro*N* **
Зарегистрирован: 2011-04-25
Сообщ.: 63
Откуда: Dushanbe
tajikistan.gif
Сообщение 14-Июл-11 08:41 #5  
в main.css нету этого кода что делать?
Код:
.none      { display: none; }
Вернуться к началу
    
Maf
Зарегистрирован: 2011-04-07
Сообщ.: 17
afghanistan.gif
Сообщение 14-Июл-11 13:59 #6  
Есть такое там, искать надо лучше
Вернуться к началу
    
** *Cibertro*N* **
Зарегистрирован: 2011-04-25
Сообщ.: 63
Откуда: Dushanbe
tajikistan.gif
Сообщение 14-Июл-11 21:32 #7  
Maf я те выложу ты мне поишеш емли ты такой FINDER -exper
?
Вернуться к началу
    
** *Cibertro*N* **
Зарегистрирован: 2011-04-25
Сообщ.: 63
Откуда: Dushanbe
tajikistan.gif
Сообщение 14-Июл-11 21:45 #8  
Maf я те выложу ты мне поишеш емли ты такой FINDER -exper
?

или ты свое выложи если не беспоуою, я посмотрю где он должын стоять и поколдую
думаю что он гдето тут должын стоять
Код:
  .subforums em { display: none; }
  .subforums + .moderators { margin-top: 0; }
  .dot-sf { color: #417998 !important; font-size: 11px; margin-right: 4px; }
  .new .dot-sf { color: #CA4200 !important; }
  .sf_title { white-space: normal; }
  .sf_icon { margin-right: 1px; }
  .sf_separator {}
  .sf_title a { text-decoration: none; }
Вернуться к началу
    
Damp1
Зарегистрирован: 2011-05-21
Сообщ.: 3
Сообщение 15-Июл-11 15:12 #9  
** *Cibertro*N* **
вставь в main.css в любое место :
.none { display: none; }
.hidden { display: none; }

у меня стоит в самом конце и всё работает
Вернуться к началу
    
** *Cibertro*N* **
Зарегистрирован: 2011-04-25
Сообщ.: 63
Откуда: Dushanbe
tajikistan.gif
Сообщение 15-Июл-11 16:35 #10  
Люди что я не так сделал?
pic
Нету половина чата и не отправляет сообшение.....
Вернуться к началу
    
Admin
Администратор
Зарегистрирован: 2010-07-27
Сообщ.: 777
russia.gif
Сообщение 15-Июл-11 19:22 #11  
права присвой файлам.777 или 755
и проверь все что делал!
Вернуться к началу
    
** *Cibertro*N* **
Зарегистрирован: 2011-04-25
Сообщ.: 63
Откуда: Dushanbe
tajikistan.gif
Сообщение 15-Июл-11 20:07 #12  
Admin Непомогло
up

_________________
http://cibertorrent.tj/
Вернуться к началу
    
Damp
Зарегистрирован: 2011-01-15
Сообщ.: 91
Сообщение 17-Июл-11 10:35 #13  
** *Cibertro*N* **
ошибки выводит какие-небудь?
Вернуться к началу
    
** *Cibertro*N* **
Зарегистрирован: 2011-04-25
Сообщ.: 63
Откуда: Dushanbe
tajikistan.gif
Сообщение 17-Июл-11 15:35 #14  
Damp Нет

_________________
http://cibertorrent.tj/
Вернуться к началу
    
Damp
Зарегистрирован: 2011-01-15
Сообщ.: 91
Сообщение 17-Июл-11 16:09 #15  
** *Cibertro*N* **
возможно проблема с кодировкой,это чисто моё мнение
Вернуться к началу
    
Заголовок новой темы
Форум для новой темы
 
Страница 1 из 2 Страницы:  1, 2  След.
Показать сообщения:   
Начать новую тему   Ответить на тему    Главная -> 1.xx -> Моды (full) Часовой пояс: GMT + 4

 

Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы
Все материалы сайта представлены только для ознакомления. При копировании материала ссылка на torrentpier-download.ru обязательна!

sitemap     карта форума | Статистика визитов поисковых ботов | Выдача в поисковиках



Powered by phpBB © 2001, 2011 phpBB Group
| ©2011-2024 - Воронеж |


Нравится