View article - Ajax Chat su Portal XL Premod 3.0.x
Loading...
Welcome to Portal XL Italia. Click here to register
Author Subcribe to this author
User avatar
Lucky
Amministratore
Amministratore
 
Articles: 75
Joined: 11 Jan 2009, 21:14
Location: Bari
Sito Web: http://www.portalxl.eu
Search Articles

Bookmark options
Social bookmarks available:
Blogger Delicious Digg Facebook Friend Feed Google Linked In Live Mixx MySpace Netvibes Reddit Stumble Upon Technorati Twitter Wordpress
Rate this article

This article is currently rated at 3
0 votes have been cast.
Export Article
 

[Docs] Ajax Chat su Portal XL Premod 3.0.x

Article ID: 87
Written by: Lucky
Written on: 24 Aug 2011, 2:08
Article Description: Come ripristinare la vecchia Chat Ajax eliminata con la Portal XL Premod 3.0.9
External link to this article:
http://www.portalxl.eu/kb.php?a=87

Istruzioni:

Per l'installazione della chat eseguire semplicemente /chat/install.php

o in alternativa questa query in phpmyadmin:

Code: Select all
    DROP TABLE IF EXISTS ajax_chat_bans;
    CREATE TABLE ajax_chat_bans (
      userID int(11) NOT NULL,
      userName varchar(64) binary NOT NULL,
      `dateTime` datetime NOT NULL,
      ip varbinary(16) NOT NULL
    ) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

    DROP TABLE IF EXISTS ajax_chat_invitations;
    CREATE TABLE ajax_chat_invitations (
      userID int(11) NOT NULL,
      channel int(11) NOT NULL,
      `dateTime` datetime NOT NULL
    ) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

    DROP TABLE IF EXISTS ajax_chat_messages;
    CREATE TABLE ajax_chat_messages (
      id int(11) NOT NULL AUTO_INCREMENT,
      userID int(11) NOT NULL,
      userName varchar(64) binary NOT NULL,
      userRole int(1) NOT NULL,
      channel int(11) NOT NULL,
      `dateTime` datetime NOT NULL,
      ip varbinary(16) NOT NULL,
      `text` text,
      PRIMARY KEY (id)
    ) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

    DROP TABLE IF EXISTS ajax_chat_online;
    CREATE TABLE ajax_chat_online (
      userID int(11) NOT NULL,
      userName varchar(64) binary NOT NULL,
      userRole int(1) NOT NULL,
      channel int(11) NOT NULL,
      `dateTime` datetime NOT NULL,
      ip varbinary(16) NOT NULL
    ) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;



Modifiche manuali:


Apri includes/session.php

Cerca:
Code: Select all
$sql = 'DELETE FROM ' . SESSIONS_TABLE . "
         WHERE session_id = '" . $db->sql_escape($this->session_id) . "'
            AND session_user_id = " . (int) $this->data['user_id'];
      $db->sql_query($sql);


Aggiungi dopo:

Code: Select all
// ajax_chat-0.8.3_phpBB3
      // Removes the current user from the AJAX chat online list
      $sql2 = "DELETE FROM ajax_chat_online
         WHERE userID = " . (int) $this->data['user_id'];
      $db->sql_query($sql2);
// ajax_chat-0.8.3_phpBB3



Apri includes/functions.php

Cerca:

Code: Select all
      'U_FAQ'               => append_sid("{$phpbb_root_path}faq.$phpEx"),


Aggiungi sotto:

Code: Select all
// ajax_chat-0.8.3_phpBB3
      'SHOUTBOX'              => getShoutBoxContent(),
        'CHAT_LINK'             => append_sid("{$phpbb_root_path}chat/index.$phpEx"),
        'CHAT_LABEL'            => $user->lang['CHAT_LABEL'] .' ['.count(getChatOnlineUserIDs()).']',
        'CHAT_TITLE'            => $user->lang['CHAT_TITLE'] .' ['.htmlentities(implode(', ', getChatOnlineUsers()), ENT_QUOTES, 'UTF-8').']',
// ajax_chat-0.8.3_phpBB3


Cerca:

Code: Select all
            if (!isset($online_users['hidden_users'][$row['user_id']]) || $auth->acl_get('u_viewonline'))
            {
               $user_online_link = get_username_string(($row['user_type'] <> USER_IGNORE) ? 'full' : 'no_profile', $row['user_id'], $row['username'], $row['user_colour']);


Aggiungi sotto:

Code: Select all
// phpBB3 AJAX Chat
            if(in_array($row['user_id'], getChatOnlineUserIDs()))
            {
              $user_online_link = '<span title="* = '.strip_tags($row['username']).' is logged into the Chat">'.$user_online_link.'*</span>';
            }               
// phpBB3 AJAX Chat



Cerca:

Code: Select all
?>


Aggiungi prima:

Code: Select all
/**
* ajax_chat-0.8.3_phpBB3
*/
function getShoutBoxContent()
{
   global $phpEx, $phpbb_root_path;

   // Get the URL to the chat directory:
   if (!defined('AJAX_CHAT_URL'))
   {
      define('AJAX_CHAT_URL', $phpbb_root_path . 'chat/');
   }

   // Get the real path to the chat directory:
   if (!defined('AJAX_CHAT_PATH'))
   {
      if (empty($_SERVER['SCRIPT_FILENAME']))
      {
         $_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_URL'];
      }
      define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']) . '/chat') . '/');
   }

   // Validate the path to the chat:
   if (@is_file(AJAX_CHAT_PATH . 'lib/classes.' . $phpEx))
   {
      // Include Class libraries:
      require_once(AJAX_CHAT_PATH.'lib/classes.' . $phpEx);

      // Initialize the shoutbox:
      $ajaxChat = new CustomAJAXChatShoutBox();

      // Parse and return the shoutbox template content:
      return $ajaxChat->getShoutBoxContent();
   }

   return null;
}

function getChatInterface() {
    global $phpEx, $phpbb_root_path;
    static $ajaxChat;

    if (!$ajaxChat) {
        // URL to the chat directory:
        if (!defined('AJAX_CHAT_URL')) {
            define('AJAX_CHAT_URL', $phpbb_root_path . 'chat/');
        }

        // Path to the chat directory:
        if (!defined('AJAX_CHAT_PATH')) {
            if (empty($_SERVER['SCRIPT_FILENAME'])) {
                $_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].$_SERVER['SCRIPT_URL'];
            }
            define('AJAX_CHAT_PATH', realpath(dirname($_SERVER['SCRIPT_FILENAME']).'/chat').'/');
        }

        // Validate the path to the chat:
        if (@is_file(AJAX_CHAT_PATH.'lib/classes.'.$phpEx)) {
            // Include Class libraries:
            require_once(AJAX_CHAT_PATH.'lib/classes.'.$phpEx);

            // Initialize the chat interface:
            $ajaxChat = new CustomAJAXChatInterface();
        }
    }

    return $ajaxChat;
}

function getChatOnlineUsers() {
    $chatInterface = getChatInterface();
    if($chatInterface) {
        // Clean out any users who didn't log out properly by calling removeInactive()
        // Not necessary but a good idea. You can take out this line if you want.
        $chatInterface->removeInactive();
        // Now get the online users:
        return $chatInterface->getOnlineUsers();
    }
    else {
        return array();
    }
}

function getChatOnlineUserIDs() {
    return ($chatInterface = getChatInterface()) ? $chatInterface->getOnlineUserIDs() : array();
}


Apri language/it/common.php

Cerca:

Code: Select all
?>


Aggiungi prima:

Code: Select all
// phpBB AJAX Chat
$lang = array_merge($lang, array(
   'SHOUTBOX'      => 'Chat',
   'CHAT_LABEL'   => 'In Chat',
   'CHAT_TITLE'   => 'Online',
   'CHAT_WINDOW'   => 'Finestra chat',
));


Apri styles/[STYLE_NAME]/theme/stylesheet.css

Aggiungi alla fine del file:

Code: Select all
@import url("../../../chat/css/shoutbox.css");


Apri styles/prosilver/theme/buttons.css

Cerca:

Code: Select all
.sitehome, .icon-faq, .icon-members, .icon-home, .icon-ucp, .icon-register, .icon-logout,
.icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages,  .icon-search {


Sostituisci con:

Code: Select all
.sitehome, .icon-faq, .icon-members, .icon-home, .icon-ucp, .icon-register, .icon-logout,
.icon-bookmark, .icon-bump, .icon-subscribe, .icon-unsubscribe, .icon-pages, .icon-chat, .icon-search {


Apri styles/prosilver/theme/colours.css

Cerca:

Code: Select all
.icon-pages                  { background-image: url("{T_THEME_PATH}/images/icon_pages.gif"); }


Aggiungi sotto:

Code: Select all
.icon-chat                                            { background-image: url("{T_THEME_PATH}/images/icon_chat.png"); }


Apri styles/prosilver/templates/overall_header.html

cerca:

Code: Select all
<!-- IF S_SHOW_VIDEO --><li class="icon-video"><a href="{U_DMV_VIDEO}" title="{L_DMV_VIDEO}">{L_DMV_VIDEO}</a></li><!-- ENDIF -->


aggiungi prima:

Code: Select all
<li class="icon-chat"><a href=" javascript:void(0)" onClick="window.open('{CHAT_LINK}', 'standaloneflash','width=800,height=600'); return false;" rel="nofollow">{CHAT_LABEL}
<a rel="nofollow">


Altre configurazioni e guide sono disponibili su
http://sourceforge.net/apps/mediawiki/a ... ctionality

oppure su

http://ajax-chat.forkforge.net/Home_Page


CONFIGURAZIONE BLOCCO CHAT

Per configurare il blocco apri il file \template\portal\block\center_ajax_chat.html

Cerca:

Code: Select all
         win = window.open(mypage,nn,settings);
       }
    // ]]>
    </script>


Aggiungi ad esempio

Code: Select all
    <style type='text/css'>
    #ajaxChatContent #ajaxChatChatList {
       background-color: #212121;
       font-size: 1.2em;
       font-family: "Trebuchet MS", Verdana, Arial, sans-serif;
       color: #CCC;
       border: inset 2px #666;
       -moz-border-radius: 5px;
       -webkit-border-radius: 5px;
       height: 120px;
       overflow: auto;
    }

    #ajaxChatInputFieldContainer {
        margin: 10px 0px 10px 0px;
        width: 90%;
    }

    #ajaxChatInputFieldContainer #ajaxChatInputField {
       background-color: #212121;
       color: #CCC;
    }

    #ajaxChatContent .rowEven {
       background-color:#666;
    }
    #ajaxChatContent .rowOdd {
       background-color:#333;
    }
    </style>


Nota!
Hex-value dopo "background-color:" sarà il nuovo colore di sfondo della chat.
Hex-value dopo "border:" sarà il nuovo colore del bordo della finestra chat.
Hex-value dopo "color:" sarà il nuovo colore del font.

Alcune configurazioni sono disponibili in chat\lib\config.php

ad esempio:

Evitare il login agli anonimi

Apri il file chat\lib\config.php

Cerca:

Code: Select all
$config['allowGuestLogins'] = true;


Sostituisci con:

Code: Select all
$config['allowGuestLogins'] = false;


Scaricate il pacchetto allegato e inviatelo via ftp nella root principale del sito, il pacchetto non contiene i file relativi modificati relativi alle modifiche manuali.

24/08/2011 E' stata aggiunta una modifica al template della chat, postata tempo fa da Ninowebs, e un piccolo messaggio informativo "Gli anonimi non possono leggere i messaggi", utile se si imposta il blocco con visibilità a tutti! Sovrascrivete sul vostro server rispettando i percorsi tutto il contenuto.

Modifica per inserire il pulsante tira un dado anche nel blocco centrale del portale

Image
Se volete aggiungere anche nel blocco del portale il pulsante tira un dado basterà effettuare questa modifica:

Apri
root/chat/lib/template/shoutbox.html
Cerca
Code: Select all
<input type="button" id="submitButton" value="Invia" onclick="ajaxChat.sendMessage();" />

Aggiungi sotto
Code: Select all
<input type="button" id="submitButton" value="Getta un Dado" onclick="ajaxChat.insertMessageWrapper('/roll ');" />



Un altra piccola modica che permette di selezionare tre colori.

Aggiungi i pulsanti per il colore
verde rosso e blu
basta inserire sotto il codice del post sopra(cioè sotto a getta un dado)
Code: Select all
 <input type="button" id="submitButton" value="Testo Rosso" onclick="ajaxChat.insertMessageWrapper('[color=red]testo[/color]');" />
        <input type="button" id="submitButton" value="Testo Verde" onclick="ajaxChat.insertMessageWrapper('[color=green]testo[/color]');" />
        <input type="button" id="submitButton" value="Testo Blu" onclick="ajaxChat.insertMessageWrapper('[color=blue]testo[/color]');" />


Image

ajax_chat-0.8.3_phpBB3.rar
Modifica template
(458.46 KiB) Downloaded 83 times

Manage Attachments
ajax_chat-0.8.3_phpBB3.rar
ajax chat, flash chat
(457.9 KiB) Downloaded 66 times

La creazione, il mantenimento e gli aggiornamenti per il progetto Portal XL Italia richiedono molto tempo e fatica, aiutaci con una donazione, tutte le info qui. Hai visitato la nostra Web Agency? Se cerchi servizi professionali, siti in flash, ecommerce, hosting visita Myweb2.it!


Ti sono stato d'aiuto? Usa il tasto Image

Image


Image
© Portal XL Italia Group - www.portalxl.eu
This article was last edited by Lucky on 3 Dec 2011, 16:38
Comments

{ PERMANENT_LINK }by Lucky on 16 Sep 2011, 20:21

Ecco come leggere i Log della chat loggati da amministratore, tutte le info su Portal XL Italia Blog. :co11:
La creazione, il mantenimento e gli aggiornamenti per il progetto Portal XL Italia richiedono molto tempo e fatica, aiutaci con una donazione, tutte le info qui. Hai visitato la nostra Web Agency? Se cerchi servizi professionali, siti in flash, ecommerce, hosting visita Myweb2.it!


Ti sono stato d'aiuto? Usa il tasto Image

Image


Image
User avatar
Lucky
Amministratore
Amministratore
 
Articles: 75
Joined: 11 Jan 2009, 21:14
Location: Bari
Sito Web: http://www.portalxl.eu

{ PERMANENT_LINK }by Ricky on 27 Sep 2011, 16:30

Ottima guida, se non vi dispiace aggiungo un link che porta a questa pagina nella wiki http://ajax-chat.forkforge.net :co11:
User avatar
Ricky
Utente Junior
Utente Junior
 
Articles: 0
Joined: 11 Jan 2009, 21:14

{ PERMANENT_LINK }by Lucky on 6 Oct 2011, 15:45

Nel caso si verificasse questo errore:

Code: Select all
    [phpBB Debug] PHP Notice: in file /chat/lib/config.php on line 11: Constant AJAX_CHAT_CHATBOT already defined
    [phpBB Debug] PHP Notice: in file /chat/lib/config.php on line 12: Constant AJAX_CHAT_ADMIN already defined
    [phpBB Debug] PHP Notice: in file /chat/lib/config.php on line 13: Constant AJAX_CHAT_MODERATOR already defined
    [phpBB Debug] PHP Notice: in file /chat/lib/config.php on line 14: Constant AJAX_CHAT_USER already defined
    [phpBB Debug] PHP Notice: in file /chat/lib/config.php on line 15: Constant AJAX_CHAT_GUEST already defined


Aprite il file /chat/lib/config.php

Cercate:

Code: Select all
// Define AJAX Chat user roles:
define('AJAX_CHAT_CHATBOT',      4);
define('AJAX_CHAT_ADMIN',      3);
define('AJAX_CHAT_MODERATOR',   2);
define('AJAX_CHAT_USER',      1);
define('AJAX_CHAT_GUEST',      0);

// AJAX Chat config parameters:


Sostituite con:

Code: Select all
    // Define AJAX Chat user roles:
    if(!defined('AJAX_CHAT_CHATBOT')){
    define('AJAX_CHAT_CHATBOT', 4);}
    if (!defined('AJAX_CHAT_ADMIN')){
    define('AJAX_CHAT_ADMIN', 3);}
    if (!defined('AJAX_CHAT_MODERATOR')){
    define('AJAX_CHAT_MODERATOR', 2);}
    if (!defined('AJAX_CHAT_USER')){
    define('AJAX_CHAT_USER', 1);}
    if (!defined('AJAX_CHAT_GUEST')){
    define('AJAX_CHAT_GUEST', 0);}
    // AJAX Chat config parameters:
La creazione, il mantenimento e gli aggiornamenti per il progetto Portal XL Italia richiedono molto tempo e fatica, aiutaci con una donazione, tutte le info qui. Hai visitato la nostra Web Agency? Se cerchi servizi professionali, siti in flash, ecommerce, hosting visita Myweb2.it!


Ti sono stato d'aiuto? Usa il tasto Image

Image


Image
User avatar
Lucky
Amministratore
Amministratore
 
Articles: 75
Joined: 11 Jan 2009, 21:14
Location: Bari
Sito Web: http://www.portalxl.eu

{ PERMANENT_LINK }by blackaccio on 11 Oct 2011, 18:11

Gran bel post grazie, una domanda io uso sul portal il bolocco center shout dove
vanno messe le modifiche per aggiuhgere i tasti testo colorato e lancia il dado?
Ciao e grazie!!!!
User avatar
blackaccio
Principiante
Principiante
 
Articles: 0
Joined: 6 Apr 2009, 21:46
Location: Nord Est Italy

{ PERMANENT_LINK }by DDL2006 on 5 Apr 2012, 9:56

a me con google chrome mi da questo errore http://www.freeimagehosting.net/adpgm
User avatar
DDL2006
Nuovo Iscritto
Nuovo Iscritto
 
Articles: 0
Joined: 20 Mar 2012, 11:48

{ PERMANENT_LINK }by Lucky on 5 Apr 2012, 12:43

Su http://ajax-chat.forkforge.net/Home_Page trovi altre configurazioni e info sull'errore da te citato.
La creazione, il mantenimento e gli aggiornamenti per il progetto Portal XL Italia richiedono molto tempo e fatica, aiutaci con una donazione, tutte le info qui. Hai visitato la nostra Web Agency? Se cerchi servizi professionali, siti in flash, ecommerce, hosting visita Myweb2.it!


Ti sono stato d'aiuto? Usa il tasto Image

Image


Image
User avatar
Lucky
Amministratore
Amministratore
 
Articles: 75
Joined: 11 Jan 2009, 21:14
Location: Bari
Sito Web: http://www.portalxl.eu

Who is online

Registered users: Google [Bot], Portal XL [Bot], skywalker

cron