Запрос интеграции ElfChat в SMF

Автор netoya, 02 декабря 2008, 14:16:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

netoya

Добрый день, прошу прощения если не в тот раздел, но очень хотелось бы сделать интеграцию ElfChat http://__elfet.ru/elfchat/
Так как сам не силен в программировании, попросил друга сделать это, он выдал такую версию файла для интеграции с SMF
elfchat.php
<?php
define
'ELFCHAT_PATH'  "./chat/" ); //  /home/mysite/www/forum/chat/
define'ELFCHAT_LOCATION'"chat/"); //  http://mysite/forum/chat/
define'YOUR_CHARSET'"UTF-8"); // 

$phpbb_root_path './';
include(
$phpbb_root_path 'SSI.php');


include_once(
ELFCHAT_PATH."kernel/elfchat.php");
if ( 
$context['user']['is_logged'] )
{
Elfchat::Session()->start();
if(!Elfchat::Session()->logined())
{
Elfchat::Login(
$context['user']['id'],
Elfchat::Session()->IPDetect(),
iconv(YOUR_CHARSET"UTF-8"$context['user']['username']),
iconv(YOUR_CHARSET"UTF-8"$context['user']['username'])
);
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
else
{
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
}
else
{
Header("Location: ".ELFCHAT_LOCATION."index.php");
}

?>

но к сожалению не работает :(
Правда в админке включив гостевой вход, я увидел в сообщениях бота, что таки один раз я как-то авторизовался, и выбило меня по тайм ауту только когда вошел под гостем.
К сожалению производя манипуляции тестовым юзером добиться опять того же, чтобы бот написал, что тестовый авторизован не получилось.

netoya

Появилась интеграция от автора чата, поставил ее себе на 1.1.8, все работает, но в логах ошибок просто сыпятся подряд четыре ошибки:

2: array_unshift() [<a href='function.array-unshift'>function.array-unshift</a>]: The first argument should be an array
/www/vhosts/host/html/forum/Sources/Load.php
1364

8: Use of undefined constant WIRELESS - assumed 'WIRELESS'
/www/vhosts/host/html/forum/Sources/Load.php
1376

8: Use of undefined constant WIRELESS_PROTOCOL - assumed 'WIRELESS_PROTOCOL'
/www/vhosts/host/html/forum/Sources/Load.php
1378

2: call_user_func() [<a href='function.call-user-func'>function.call-user-func</a>]: First argument is expected to be a valid callback
Файл: /www/vhosts/host/html/forum/elfchat.php
Строка: 70



Load.php
c 1360 по 1382

1360
	
// Set the top level linktree up.
1361
	
array_unshift($context['linktree'], array(
1362
	
	
'url' => &$scripturl,
1363
	
	
'name' => &$context['forum_name']
1364
	
));
1365
1366
	
$txt = array();
1367
	
$simpleActions = array(
1368
	
	
'findmember',
1369
	
	
'helpadmin',
1370
	
	
'printpage',
1371
	
	
'quotefast',
1372
	
	
'spellcheck',
1373
	
);
1374
1375
	
// Wireless mode?  Load up the wireless stuff.
1376
	
if (
WIRELESS)
1377
	
{
1378
	
	
$context['template_layers'] = array(WIRELESS_PROTOCOL);
1379
	
	
loadTemplate('Wireless');
1380
	
	
loadLanguage('Wireless');
1381
	
	
loadLanguage('index');
1382
	
}



elfchat.php

69 
// What function shall we execute? (done like this for memory's sake.)
70 call_user_func(smf_main());


как победить эти ошибки?

Tohin

под 1.1.8 работает без ошибок

elfchat.php

<?php
/***********************************************************************/


define'ELFCHAT_PATH'  "chat/" ); // example: /home/mysite/www/forum/chat/
define'ELFCHAT_LOCATION'"chat/"); // example: http://mysite/forum/chat/


/***********************************************************************/



$forum_version 'SMF 1.1.8';

// Get everything started up...
define('SMF'1);
@
set_magic_quotes_runtime(0);
error_reporting(E_ALL);
$time_start microtime();

// Make sure some things simply do not exist.
foreach (array('db_character_set') as $variable)
if (isset($GLOBALS[$variable]))
unset($GLOBALS[$variable]);

// Load the settings...
require_once(dirname(__FILE__) . '/Settings.php');

// And important includes.
require_once($sourcedir '/QueryString.php');
require_once(
$sourcedir '/Subs.php');
require_once(
$sourcedir '/Errors.php');
require_once(
$sourcedir '/Load.php');
require_once(
$sourcedir '/Security.php');

if (!
defined('WIRELESS'))
define('WIRELESS', isset($_REQUEST['wap']) || isset($_REQUEST['wap2']) || isset($_REQUEST['imode']));

// Some settings and headers are different for wireless protocols.
if (WIRELESS)
{
define('WIRELESS_PROTOCOL', isset($_REQUEST['wap']) ? 'wap' : (isset($_REQUEST['wap2']) ? 'wap2' : (isset($_REQUEST['imode']) ? 'imode' '')));

// Some cellphones can't handle output compression...
$modSettings['enableCompressedOutput'] = '0';
// !!! Do we want these hard coded?
$modSettings['defaultMaxMessages'] = 5;
$modSettings['defaultMaxTopics'] = 9;

// Wireless protocol header.
if (WIRELESS_PROTOCOL == 'wap')
header('Content-Type: text/vnd.wap.wml');
}

// Using an old version of PHP?
if (@version_compare(PHP_VERSION'4.2.3') != 1)
require_once($sourcedir '/Subs-Compat.php');

// If $maintenance is set specifically to 2, then we're upgrading or something.
if (!empty($maintenance) && $maintenance == 2)
db_fatal_error();

// Connect to the MySQL database.
if (empty($db_persist))
$db_connection = @mysql_connect($db_server$db_user$db_passwd);
else
$db_connection = @mysql_pconnect($db_server$db_user$db_passwd);

// Show an error if the connection couldn't be made.
if (!$db_connection || !@mysql_select_db($db_name$db_connection))
db_fatal_error();

// Load the settings from the settings table, and perform operations like optimizing.
reloadSettings();
// Clean the request variables, add slashes, etc.
cleanRequest();


// Register an error handler.
set_error_handler('error_handler');

// Start the session. (assuming it hasn't already been.)
loadSession();

// What function shall we execute? (done like this for memory's sake.)
call_user_func('smf_main_1');


// The main controlling function.
function smf_main_1()
{
global $modSettings$settings$user_info$board$topic$maintenance$sourcedir;

// Load the user's cookie (or set as guest) and load their settings.
loadUserSettings();

// Load the current board's information.
loadBoard();

// Load the current theme.  (note that ?theme=1 will also work, may be used for guest theming.)
loadTheme();

// Check if the user should be disallowed access.
is_not_banned();

}

require_once(
ELFCHAT_PATH."kernel/elfchat.php");
if ( !
$context['user']['is_guest'] )
{
Elfchat::Session()->start();
if(!Elfchat::Session()->logined())
{
Elfchat::Login(
$context['user']['id'],
Elfchat::Session()->IPDetect(),
iconv($context['character_set'], "UTF-8"$context['user']['name'])
);
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
else
{
Header("Location: ".ELFCHAT_LOCATION."chat.php");
}
}
else
{
Header("Location: ".ELFCHAT_LOCATION."index.php");
}

?>

Bugo

Для тех, у кого не получается установить этот чат вручную => ElfChat Integration

Avdenago

Цитата: Bugo от 26 февраля 2010, 23:29:23
Для тех, у кого не получается установить этот чат вручную => ElfChat Integration

Спасибо, как раз вчера обратил внимание на вашу поделку. Как-то писал самим разрабам Елфчата, чтобы допилили интеграцию. А то она как-бы есть, но все равно надо вручную указывать многие вещи, хотя по логике все и так известно, что могло бы сделать интеграцию автоматической.

Так что вам спасибо, попробую ваш мод в ближайшее время.

dron

Цитата: Bugo от 26 февраля 2010, 23:29:23Для тех, у кого не получается установить этот чат вручную => ElfChat Integration
Где скачать этот чат?
Мой Форум Охота и рыбалка на движке XenForo,
Вот сам Форум http://ohotarybalka24.ru/

0daliska

#6
https://github.com/elfet/chat
На старая версия уже не актуальна. Посмотрите лучше сразу версии других чатов для смф
http://dragomano.ru/category/game-chat
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only