Page 1 of 2

AJAX-Chat

Posted: 26. October 2012 18:34
by fbschroeder
Hallo,
Ich habe den Chat von dieser Seite installiert:
http://frug.github.com/AJAX-Chat/
Wie Binde ich den jetzt ins Portal ein?
Meine Seite:
http://Www.koistammtisch-sh.de
Mir würde ein Block reichen, der anzeigt, wer gerade im Chat ist.

Gruß
Schroedi

Re: AJAX-Chat

Posted: 26. October 2012 23:39
by cpg
Moin,

ich habe in der overall_header.html
da, wo auch
<a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}"><span>{L_FAQ}</span></a>
steht, folgendes eingefügt:
<a title="{CHAT_TITLE}" href="http://www.meinforum.de/phpBB3/chat/">{CHAT_LABEL}</a>

Einen Block habe ich dafür nicht genommen, sondern einfach nur den Link zum Chat.

Gruß
CPG

Re: AJAX-Chat

Posted: 27. October 2012 17:11
by fbschroeder
Hi,
danke für den Tipp.
Vielleicht habe ich mich falsch ausgedrückt. Einen Menüpunkt, der zum Chat führt, habe ich gemacht. War auch kein Problem.
Mit geht es jetzt darum, dass im Portal angezeigt wird (in einem kleinen Block), ob und wer sich aktuell im Chat befindet. Also quasi als Hinweis "Da ist jemand, da will ich auch hin".
Gruß
Schroedi

Re: AJAX-Chat

Posted: 27. October 2012 17:24
by Kirk
Hi
Du müsstest dir ein neues Modul erstellen, wie hier beschrieben: /knowledge/kb_show.php?id=58

Re: AJAX-Chat

Posted: 27. October 2012 21:29
by cpg
Moin,

bei mir wird in der eckigen Klammer angezeigt, wieviele Leute gerade im Chat sind - und wenn ich mit der Maus drüberfahre, sehe ich, wer...

Image

Gruß
CPG

Re: AJAX-Chat

Posted: 29. October 2012 12:26
by fbschroeder
cpg wrote:Moin,

bei mir wird in der eckigen Klammer angezeigt, wieviele Leute gerade im Chat sind - und wenn ich mit der Maus drüberfahre, sehe ich, wer...

Image

Gruß
CPG
Hi,
genau so wäre das eine tolle Lösung für mich. Ein Block muss nicht unbedingt sein.
Wie hast Du das genau gemacht? Habe es mal mit Deinem o.a. Befehl zu machen. Da tut sich bei mir leider gar nichts.
Gruß
Schroedi

Re: AJAX-Chat

Posted: 29. October 2012 16:24
by cpg
Moin,

hast du den Chat in der includes/function.php
eingebunden?

vor

Code: Select all


?>
das ist ganz am Ende

Code: Select all

function getChatInterface() {
           static $ajaxChat;

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

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

              // Validate the path to the chat:
              if(@is_file(AJAX_CHAT_PATH.'lib/classes.php')) {

                 // Include Class libraries:
                 require_once(AJAX_CHAT_PATH.'lib/classes.php');

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

           return $ajaxChat;
        }

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

        function getChatOnlineUserIDs() {
           return ($chatInterface = getChatInterface()) ? $chatInterface->getOnlineUserIDs() : 
}
und weiterhin auch in der includes/function.php:

Code: Select all

     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>';
                    }
einfügen vor

Code: Select all

 $online_userlist .= ($online_userlist != '') ? ', ' . $user_online_link : $user_online_link;
und

Code: Select all

  'CHAT_LINK'                  => append_sid("{$phpbb_root_path}chat/index.$phpEx"),
        'CHAT_LABEL'               => 'Chat ['.count(getChatOnlineUserIDs()).']',
        'CHAT_TITLE'               => 'Online: '.htmlentities(implode(', ', getChatOnlineUsers()), ENT_QUOTES, 'UTF-8'),
nach

Code: Select all

// The following assigns all _common_ variables that may be used at any point in a template.
    $template->assign_vars(array(
die Zeile für die overall_header.html hatte ich Dir schon genannt.



Gruß
CPG

Re: AJAX-Chat

Posted: 30. October 2012 09:46
by fbschroeder
Hallo,
ich habe diese Änderung an den Systemdateien nicht gemacht. Davon ist in der Installation-Anweisung auch nicht die Rede.
Habe das jetzt mal nachgeholt und das verursachte nur Fehlermeldungen. Daher habe ich das ganze wieder rüclgängig gemacht.
Gruß
Schroedi

Re: AJAX-Chat

Posted: 30. October 2012 09:55
by cpg
Moin,
das verursachte nur Fehlermeldungen
Weißt Du noch welche?

Bei mir läuft das problemlos und sollte auch bei Dir hinzubekommen sein.

Gruß
CPG

Re: AJAX-Chat

Posted: 11. February 2013 13:45
by Trilon

Code: Select all

<div style="font-size: 1.2em; margin-bottom: 20px;">{SHOUTBOX}</div>
<div id="ajaxChatCopyright"><a href="https://blueimp.net/ajax/">AJAX Chat</a> &copy; <a href="https://blueimp.net">blueimp.net</a></div>
In den footer gelegt...aber die Shoutbox wird unter dem Copyright angezeigt...

Wie oder was muss ich ändern

Re: AJAX-Chat

Posted: 11. February 2013 17:27
by Kirk
Hallo
Versuch doch mal diesen Code in einen eigenen Block zu tun,
achte darauf das du bei BBCode für den eigenen Block aktivieren auf nein stellst.

Re: AJAX-Chat

Posted: 11. February 2013 17:43
by Trilon
Kirk wrote:Hallo
Versuch doch mal diesen Code in einen eigenen Block zu tun,
achte darauf das du bei BBCode für den eigenen Block aktivieren auf nein stellst.
Schon mal cool...aber schau mal dies
Image

Re: AJAX-Chat

Posted: 11. February 2013 19:04
by Kirk
Dann müßtest du dir selbst ein Modul erstellen, wie das geht steht hier:
Bearbeiten einer Modul Datei

Re: AJAX-Chat

Posted: 11. February 2013 19:12
by Trilon
Ja ich weiss...aber nach der Anleitung die dort ist habe ich es schon versucht...wo bekomme ich denn her wie diese Datei heisst...

Code: Select all

<?php
/**
*
* @package Board3 Portal v2 - Shoutbox
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* @package Shoutbox
*/
class portal_shoutbox_module
{
	/**
	* Allowed columns: Just sum up your options (Exp: left + right = 10)
	* top		1
	* left		2
	* center	4
	* right		8
	* bottom	16
	*/
	public $columns = 4;

	/**
	* Default modulename
	*/
	public $name = 'SHOUTBOX';

	/**
	* Default module-image:
	* file must be in "{T_THEME_PATH}/images/portal/"
	*/
	public $image_src = 'modulename.png';

	/**
	* module-language file
	* file must be in "language/{$user->lang}/mods/portal/"
	*/
	public $language = '';
	
	/**
	* custom acp template
	* file must be in "adm/style/portal/"
	*/
	public $custom_acp_tpl = '';
	
	/**
	* hide module name in ACP configuration page
	*/
	public $hide_name = false;

	public function get_template_center($module_id)
	{
		global $config, $template;

		$template->assign_vars(array(
			'EXAMPLE'			=> $config['board3_configname_' . $module_id],
		));

		return 'modulename_center.html';
	}

	public function get_template_side($module_id)
	{
		global $config, $template;

		$template->assign_vars(array(
			'EXAMPLE'			=> $config['board3_configname2_' . $module_id],
		));

		return 'modulename_side.html';
	}

	public function get_template_acp($module_id)
	{
		return array(
			'title'	=> 'ACP_CONFIG_MODULENAME',
			'vars'	=> array(
				'legend1'								=> 'ACP_MODULENAME_CONFIGLEGEND',
				'board3_configname_' . $module_id	=> array('lang' => 'MODULENAME_CONFIGNAME',		'validate' => 'string',	'type' => 'text:10:200',	'explain' => false),
				'board3_configname2_' . $module_id	=> array('lang' => 'MODULENAME_CONFIGNAME2',	'validate' => 'int',	'type' => 'text:3:3',		'explain' => true),
			),
		);
	}

	/**
	* API functions
	*/
	public function install($module_id)
	{
		set_config('board3_configname_' . $module_id, 'Hello World!');
		set_config('board3_configname2_' . $module_id, 1337);
		return true;
	}

	public function uninstall($module_id)
	{
		global $db;

		$del_config = array(
			'board3_configname_' . $module_id,
			'board3_configname2_' . $module_id,
		);
		$sql = 'DELETE FROM ' . CONFIG_TABLE . '
			WHERE ' . $db->sql_in_set('config_name', $del_config);
		return $db->sql_query($sql);
	}
}

Re: AJAX-Chat

Posted: 12. February 2013 14:13
by Kirk
Ich hab zwar diesen Chat nicht aber probier das hier mal:

Erstelle eine Datei mit den Namen shoutbox.php mit folgenden Inhalt:

Code: Select all

<?php
/**
*
* @package - Board3portal v2 Shoutbox
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* @package Shoutbox
*/
class shoutbox_module
{
    /**
    * Allowed columns: Just sum up your options (Exp: left + right = 10)
    * top        1
    * left        2
    * center    4
    * right        8
    * bottom    16
    */
    public $columns = 21;

    /**
    * Default modulename
    */
    public $name = 'SHOUTBOX';

    /**
    * Default module-image:
    * file must be in "{T_THEME_PATH}/images/portal/"
    */
    public $image_src = '';

    /**
    * module-language file
    * file must be in "language/{$user->lang}/mods/portal/"
    */
    public $language = 'portal_shoutbox';
    
    /**
    * custom acp template
    * file must be in "adm/style/portal/"
    */
    public $custom_acp_tpl = '';
    
    /**
    * hide module name in ACP configuration page
    */
    public $hide_name = false;

    public function get_template_center($module_id)
    {
        global $config, $template, $user, $phpbb_root_path, $phpEx;
        
// Show all errors:
error_reporting(E_ALL);

// Path to the chat directory:
define('AJAX_CHAT_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');

// Include custom libraries and initialization code:
require(AJAX_CHAT_PATH.'lib/custom.php');

// Include Class libraries:
require(AJAX_CHAT_PATH.'lib/classes.php');

// Initialize the chat:
$ajaxChat = new CustomAJAXChat();


        return 'shoutbox.html';
    }

    public function get_template_acp($module_id)
    {
        return array(
            'title'    => 'PORTAL_SHOUTBOX',
            'vars'    => array(),
        );
    }

    /**
    * API functions
    */
    public function install($module_id)
    {
        return true;
    }

    public function uninstall($module_id)
    {
        return true;
    }
}
Diese Datei lädst du nach root/portal/modules

Erstelle eine Datei mit den Namen portal_shoutbox.php mit folgenden Inhalt:

Code: Select all

<?php
/**
*
* @package - Board3portal v2 Shoutbox
* @version 1.0.0
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

if (empty($lang) || !is_array($lang))
{
    $lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine

$lang = array_merge($lang, array(
    'PORTAL_SHOUTBOX'             => 'Shoutbox',

    
));
?>
Achte beim Abspeichern dieser Datei auf die richtige Kodierung UTF8 ohne BOM
Lade diese Datei nach root/language/de/mods/portal

Erstelle eine Datei mit den Namen shoutbox.html mit folgenden Inhalt:

Code: Select all

{$C_BLOCK_H_L}{$TITLE}{$C_BLOCK_H_R}
		<ul class="topiclist forums">
			<li>
				<dl> 
					<dd style="width: 100%; text-align: center; border-left:0px;">
					<table width="100%">
<div style="font-size: 1.2em; margin-bottom: 20px;">{SHOUTBOX}</div>
<div id="ajaxChatCopyright"><a href="https://blueimp.net/ajax/">AJAX Chat</a> &copy; <a href="https://blueimp.net">blueimp.net</a></div>
    					</table>
					</dd>
				</dl>
			</li>
		</ul>
{$C_BLOCK_F_L}{$C_BLOCK_F_R}
Lade diese nach root/styles/[stylename]/template/portal/modules
Anmerkung:
Diese html Datei ist für prosilver basierende Styles!