ET-Chat

Тема в разделе "Чаты", создана пользователем *SaT*, 22 фев 2010.

  1. *SaT*

    *SaT*

    Регистр.:
    19 ноя 2008
    Сообщения:
    241
    Симпатии:
    24
    Скрипт чата ET-Chat бесплатный.
    Этот чат написан немцами но русский язык присутствует (В скрипте присутствует АНГЛ., РУССКИЙ и НЕМЕЦКИЙ).
    Чат очень гибкий, поддерживает шабланизатор, есть админка, фильтр слов, есть возможность создавать комнаты с паролем, для всех, для админов/модеров и только для админов.
    Нагрузка минимальная!
    Скрипт который я выложил можно так же скачать с офф. сайта (сайт немецкий:(http://www.sedesign.de/Онлайн-Демо:ЧаТ: http://satblog.pp.ru/chat/
    Права Админа в моём чате:
    Логин: DemoAdm
    Пароль: DemoAdm

    Права Модератора в моём чате:
    Логин: DemoMod
    Пароль: DemoModЧат был скачан с офф. сайта и поставлен мной.
    В Онлайн-Демо в админке отсутствует только Добавление, Редактирование и Удаление пользователей, т.к. есть не хорошие люди которые могут воспользоваться этой функцией для удаления админов которых я назначил :)
     

    Вложения:

    • et_chat_v306.zip
      Размер файла:
      868,1 КБ
      Просмотров:
      321
    myboris2005, 1019121, tester1991 и 2 другим нравится это.
  2. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    Да, из чата можно сделать очень даже толковый двиг.
    очень быстро работает, что самое главное в чатах.
    Мне очень понравилось. :ay:
     
  3. Cooles

    Cooles Создатель

    Регистр.:
    6 мар 2010
    Сообщения:
    29
    Симпатии:
    1
    А этот чат мона адаптировать в socialengine?
     
  4. tester1991

    tester1991 PHP МегаМозГ

    Регистр.:
    24 сен 2008
    Сообщения:
    740
    Симпатии:
    174
    ща чат на локалке протестирую попробую связать его с джумлой)
     
    Ruskai нравится это.
  5. tester1991

    tester1991 PHP МегаМозГ

    Регистр.:
    24 сен 2008
    Сообщения:
    740
    Симпатии:
    174
    порылся в чате,довольно интересная вещь пока написал простенькую интеграцию с джумлой дальше посмотрим щас пока оповещалку для форума постраюсь написать
     
    Ruskai нравится это.
  6. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    пожалуйста если не сложно вылаживай суда свои наработки....
     
  7. tester1991

    tester1991 PHP МегаМозГ

    Регистр.:
    24 сен 2008
    Сообщения:
    740
    Симпатии:
    174
    Мод случайная фраза при входе
    Открываем файл
    chat/class/RoomEntrance.class.php
    в конец файла
    перед
    Код:
    }
    добавляем
    Код:
    	function entmes($user,$usr)
    	{
    	
       	$vxod[0]="Перепрыгнув самого себя ~ входит к нам";
    	$vxod[1]="Пьяный в жопу  ~ залетает к нам";
    	$vxod[2]="Вырезав сердце у себя в груди ~ входит к нам";
    	$vxod[3]="Купив  букет роз ~ входит к нам";
    	$vxod[4]="~ Набегался в трусах и прибежал к нам";
    	$vxod[5]="Алкоголь до добра не доведет) встречаем ~ ";
    	$i=rand(0, 5);
    
    $phrase  = $vxod[$i];
    $healthy = "~";
    $yummy   = $user;
    
    $newphrase = str_replace($healthy, $yummy, $phrase);
    	
         return  $newphrase; 
    	
    	}
    ищем строчку в этом файле
    Код:
    new SysMessage($this->dbObj, "<b>".$_SESSION['etchat_'.$this->_prefix.'username']."</b> ".$this->_lang->eintritt[0]->tagData, 0, $an );
    и заменяем её
    на
    Код:
    $user1="<b>".$_SESSION['etchat_'.$this->_prefix.'username']."</b> ";
    		$usr=$_SESSION['etchat_'.$this->_prefix.'username'];
    		
    		new SysMessage($this->dbObj, $this->entmes($user1,$usr), 0, $an );
    собственно вот и все
    завтра будет мод геолокатор)
    сегодня уже работает осталось кое что подправить
    В близжайшее время планирую сделать
    1 Обязательню регистрацию
    2 Анкета пользователя
     
    Ruskai, *SaT* и RussКиЙ нравится это.
  8. RussКиЙ

    RussКиЙ

    Регистр.:
    23 сен 2009
    Сообщения:
    506
    Симпатии:
    59
    Далой вок, будем юзать теперь этот двиг, бесплатно, и без всяких кривостей, просто будем моды под него писать и все станет отлично, понравилась что чат не использует демона, но нужно проверить будет ли держать серв более 100 чатов....



    Вступаем в группу

    http://www.nulled.ws/group.php?groupid=275

    Пока группа открытая
     
  9. tester1991

    tester1991 PHP МегаМозГ

    Регистр.:
    24 сен 2008
    Сообщения:
    740
    Симпатии:
    174
    Мод геолокатор
    Разработчик Backdoor
    Домашняя страница http://back-door.ru
    Лицензия: бесплатно
    Специально для nulled.ws
    Собственно вот )
    в ридми все детально описано
    все должно работать
    http://depositfiles.com/files/fmugsk0tj
     
    *SaT* нравится это.
  10. tester1991

    tester1991 PHP МегаМозГ

    Регистр.:
    24 сен 2008
    Сообщения:
    740
    Симпатии:
    174
    выкладываю класс регистрации
    Reg.class.php
    PHP:
    <?php
    /**
     * Class Index, login page creator
     *
     * LICENSE: CREATIVE COMMONS PUBLIC LICENSE  "Namensnennung — Nicht-kommerziell 2.0"
     *
     * @copyright  2009 <SEDesign />
     * @license    http://creativecommons.org/licenses/by-nc/2.0/de/
     * @version    $3.0.6$
     * @link       http://www.sedesign.de/de_produkte_chat-v3.html
     * @since      File available since Alpha 1.0
     */
     
    class Reg extends DbConectionMaker
    {
        
    /**
        * LangXml Obj for login page
        * @var LangXml
        */
        
    public $lang;
        
        
    /**
        * Unix timestamp for login form. This serve as a test for bot blocking.
        * @var int
        */
        
    public $aktuell_date_u;
        
        
    /**
        * Constructor
        *
        * @uses ConnectDB::sqlSet()    
        * @uses ConnectDB::close()    
        * @return void
        */
        
    public function __construct (){
        
            
    // call parent Constructor from class DbConectionMaker
            
    parent::__construct();
                
            
    // starts session in index.php
            
    session_start();
            
            
    // Sets  cookie with Unix timestamp. This serve as a test for bot blocking.
            
    setcookie($this->_prefix."cookie_test"date('U'));
            
            
    // Sets charset and content-type for index.php
            
    header('content-type: text/html; charset=utf-8');
            
            
    // Set all Data from [prefix]_etchat_config Table to Session-Vars. So needs only to be run once on login page.
            
    $this->configTabData2Session();
            
            
    // something like cron-job to delete wasteful/old data from db
            
    $this->dbObj->sqlSet("delete FROM {$this->_prefix}etchat_messages where etchat_timestamp < ".(date('U')-($_SESSION['etchat_'.$this->_prefix.'loeschen_nach']*3600*24)));
            
    $this->dbObj->sqlSet("delete FROM {$this->_prefix}etchat_blacklist where etchat_blacklist_time < ".date('U'));
            
    $this->dbObj->sqlSet("delete FROM {$this->_prefix}etchat_kick_user where etchat_kicked_user_time < ".date('U'));

            
    // close db connection
            //$this->dbObj->close();
            
            // create new LangXml Object
            
    $langObj = new LangXml;
            
    $this->lang=$langObj->getLang()->index_php[0];
            
            
    $this->aktuell_date_u=date('U');
            
    $_SESSION[$this->_prefix.'set_check']=md5($this->aktuell_date_u);
                
    $op=$_POST['op'];
                
    $nick=$_POST['nick'];
                
    $gender=$_POST['gender'];
        
    $pass=$_POST["pass"];
            if ( (
    $op="reg")  and  ($nick!="") and ($pass!=""))
    {
            
    $this->registr_user($nick,$pass,$gender); 
            
            } 
        
            {
            
    // initialize index template
            
    $this->initTemplate();
            }
        

              
        }
        
        
    /**
        * Initializer for template
        *
        * @return void
        */
        
    private function initTemplate(){
            
    // Include Template
            
    include_once("styles/".$_SESSION['etchat_'.$this->_prefix.'style']."/reg.tpl.html");
        }
        function  
    registr_user($nick,$pass,$gender) {
        
    //$this->configTabData2Session();
        
    $otv=$this->dbObj->sqlSet("INSERT INTO {$this->_prefix}etchat_user ( etchat_username, etchat_usersex,etchat_userpw ) VALUES ( '".$nick."', '".$gender."','".md5($pass)."')");
        if (
    $otv!="")
        {
            include_once(
    "styles/".$_SESSION['etchat_'.$this->_prefix.'style']."/regall.tpl.html");
            } else 
            {
            
    $this->initTemplate();
            }






        }
        
    }
    reg.tpl.html
    PHP:
    <center><h2>Регистрация в чате</a></h2><br>

                        <
    form action="?reg"  method="POST">
                        <
    input type="hidden"  name="op" value="reg">
    Ник <input  type=text name="nick"> <br>
    Пароль <input type=text name="pass"><br>

      <
    select id="gender" name="gender" size="1">
      <
    option value="n">не играет роли</option>
      <
    option value="m">мужской</option>
      <
    option value="f">женский</option>
      </
    select>
      <
    br>
      <
    input type=submit value="Отправить" >
    </
    form>
                                 
                
                                        </
    center><br><br>
    regall.tpl.html
    PHP:
    <center><h2>Регистрация в чате</a></h2><br>

           
    Вы успешно зарегистрированны!
                                 
                
                                        </
    center>
    собственно файлы tpl кидаете в ваш диз
    в шаблоне указываете ссылку на регистрацию
    <a href="?reg">Регистрация</a>

    Добавлено через 41 минуту
    Мод Валюта
    за каждое сообщение юзверю начисляется определенное количество очков
    Заходим в phpmyadmin
    находим нашу БД где стоит et chat
    и выполняем запрос
    Код:
    ALTER TABLE `db1_etchat_user` ADD `etchat_user_point` INT( 200 ) DEFAULT '0' AFTER `etchat_usersex` ;
    Открываем
    /class/MessageInserter.class.php
    находим в нем строчку
    Код:
    $this->messageTransformer();
    и после неё вставляем
    Код:
    		 $point_add= $this->dbObj->sqlGet("select `etchat_user_point`  from  db1_etchat_user  where `etchat_user_id`=".$_SESSION['etchat_'.$this->_prefix.'user_id']);
    		 
    		  $point_add=(int)$point_add[0][0];
    		
    		   $point_add+=20;
    		   $this->dbObj->sqlSet("UPDATE `db1_etchat_user` SET `etchat_user_point` = '".$point_add."' WHERE `etchat_user_id` =".$_SESSION['etchat_'.$this->_prefix.'user_id']." LIMIT 1 ");
    по комманде /point показывает сколько у вас очков
    находим строчку
    Код:
    new SysMessage($this->dbObj, $_POST['message'],(int)$_POST['room'],(int)$_POST['privat']);
    		}
    
    вставляем
    Код:
      else if   ($_POST['message']=="/point")
    		{
    		 $point_add= $this->dbObj->sqlGet("select `etchat_user_point`  from  db1_etchat_user  where `etchat_user_id`=".$_SESSION['etchat_'.$this->_prefix.'user_id']);
    		  $point_add=(int)$point_add[0][0];
    		$text="У пользователя  ".$point_add." очков";
    		new SysMessage($this->dbObj, $text,(int)$_POST['room'],(int)$_POST['privat']);
    		}
    ну вот и все)

    ---------- Post added at 13:32 ---------- Previous post was at 11:56 ----------

    Вывод 10-ки самых общительных по комманде /top
    открываем файл
    /class/MessageInserter.class.php
    и перед строчкой
    Код:
    else if   ($_POST['message']=="/point")
    вставляем
    Код:
    	else if ($_POST['message']=="/top")
    		{
    		$mas="";
    		$i=0;
    	$point_add= $this->dbObj->sqlGet("SELECT etchat_username,etchat_user_point  FROM `db1_etchat_user` 
    ORDER BY `etchat_user_point` DESC 
    LIMIT 0 , 10");
    $j=0;
    $i=0;
    $text="10 Самых общительных";
    while($i!=9)
    {
    $text=$text."<br>".$point_add[$i][$j]." ".$point_add[$i][$j+1];
    $i++;
    }
    			
    		new SysMessage($this->dbObj, $text,(int)$_POST['room'],(int)$_POST['privat']);
    		}
     
    parks и *SaT* нравится это.