Página 2 de 4
Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 18:13
por Holmes
robra, não sei se fiz corretamente, olha a imagem da mudança dos colchetes:
bom, fiz isto e agora o erro mudou de linha, veja:
Código: Selecionar todos
Parse error: syntax error, unexpected $end in /home/extre674/public_html/chakra-linux/wiki/inc/utf8.php on line 1629
vlw fwi, Holmes
Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 19:28
por robra
Caramba... depois de toda esta aula didática...

...pensei que resolveria.
Anexe o
utf8.php atual, lembrando que não precisa compactá-lo, basta apenas renomeá-lo para
utf8.zip ou
utf8.rar.

Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 22:10
por Holmes
robra, envio o arquivo
utf8.rar
sem aquelas modificações que você indicou. obrigado!
vlw fwi, Holmes
Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 22:57
por robra
O arquivo sem as alterações não adianta porque a nova mensagem de erro apareceu depois das alterações feitas.
Mas tudo bem... eu faço as alterações e vejo qual é o problema.
1- Refaça as alterações.
2- Vá ao final da página do arquivo e clique na string
?>.
3- Acompanhe a linha vermelha vertical, no canto esquerdo da página e ela vai lhe conduzir até a linha
270 if(!function_exists('utf8_strtolower')){, que está com o mesmo problema de fechamento do colchete
{, do final da linha.
Vá nas linhas
286 e 287 e faça o mesmo procedimento realizado nas linhas
305 e 306.
4- Repita o procedimento do item 2.
5- Acompanhe a linha vermelha vertical, no canto esquerdo da página e ela vai lhe conduzir até a linha
81 if(!function_exists('utf8_strlen')){, que está com o mesmo problema de fechamento do colchete
{, do final da linha.
Vá nas linhas
96 e 97 e faça o mesmo procedimento realizado nas linhas
305 e 306.
6- Repita o procedimento do item 2.
7- Acompanhe a linha vermelha vertical, no canto esquerdo da página e se ela vai lhe conduzir até a string
<?php, então está correto.
Salve o arquivo e faça upload para a respetiva pasta.
Abraço.

Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 23:29
por Holmes
robra, fiz e a linha ficou inteira vermelha, mas surgiu outro erro:
Código: Selecionar todos
Warning: require_once(phpBB3/common.php) [function.require-once]: failed to open stream: No such file or directory in /home/extre674/public_html/chakra-linux/wiki/inc/auth/phpbb3.class.php on line 33
Fatal error: require_once() [function.require]: Failed opening required 'phpBB3/common.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/extre674/public_html/chakra-linux/wiki/inc/auth/phpbb3.class.php on line 33
o que pode ser agora?
vlw fwi, Holmes
Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 23:32
por robra
Tem que abrir o arquivo pra ver o que tem na linha 33.
Pode ser o mesmo problema de fechamento de strings.
Abraço.

Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 23:33
por Holmes
tem isto na linha 33
fechamento tudo ok, a linha inteira está vermelha!
vlw fwi, Holmes
Re: Integração phpBB com DokuWiki
Enviado: 20 Abr 2012, 23:59
por robra
Eita... tá complicando a coisa.
Tô indo na dedução.
Você tem algum diretório chamado
/phpBB3 ?
Ao que parece, ele está tentando chamar o
common.php no diretório
/phpBB3 e não está encontrando nem o arquivo e nem o diretório.
Tenta alterando a linha
require_once($phpbb_root_path.'common.'.$phpEx); para
require_once($phpbb_root_path . 'common.' . $phpEx);
Parece ser a mesma coisa mas não é. A 2ª linha tem espaços entre os pontos.
Além disso, veja se há alguma configuração em algum dos arquivos que você tem de informar o endereço do Fórum porque a mensagem de erro informa
Failed opening required 'phpBB3/common.php', ou seja,
falha em abrir o phpBB3/common.php quando deveria tentar abrir em
forum/common.php.
Abraço.

Re: Integração phpBB com DokuWiki
Enviado: 21 Abr 2012, 00:01
por Holmes
na pasta wiki não tem a pasta phpBB3!
o conteúdo do arquivo phpbb3.class.php é esse:
Código: Selecionar todos
<?php
/**
* phpBB3 authentication backend
*
* Uses external Trust mechanism to check against phpBB's
* user cookie. phpBB's PHPBB_ROOT_PATH must be defined correctly.
*
* @author Markus Henn <brezelman@yahoo.de>
*/
define('IN_PHPBB', true);
global $phpbb_root_path;
global $db;
global $cache;
global $phpEx;
global $user;
global $config;
global $conf;
global $dbhost;
global $dbport;
global $dbname;
global $dbuser;
global $dbpasswd;
global $table_prefix;
global $phpbb_auth;
$phpEx = substr(strrchr(__FILE__, '.'), 1);
if(strpos($_SERVER['PHP_SELF'], "/lib/plugins/") !== false) { $phpbb_root_path = '../../../'.$phpbb_root_path; }
if(strpos($_SERVER['PHP_SELF'], "/lib/exe/") !== false) { $phpbb_root_path = '../../'.$phpbb_root_path; }
require_once(DOKU_INC.'inc/auth/mysql.class.php');
require($phpbb_root_path.'config.'.$phpEx);
//config is loaded in common file, but $dbpasswd is unset there, too, so we have to reload it
require($phpbb_root_path.'config.'.$phpEx);
$user->session_begin();
//$auth will be used by DokuWiki, so copy phpBB's $auth to another variable
$phpbb_auth = $auth;
$phpbb_auth->acl($user->data);
class auth_phpbb3 extends auth_mysql
{
function auth_phpbb3()
{
$this->cando['external'] = true;
$this->cando['logoff'] = true;
global $conf;
// get global vars from phpBB config
global $dbhost;
global $dbport;
global $dbname;
global $dbuser;
global $dbpasswd;
global $table_prefix;
// set group config vars
$conf['defaultgroup'] = 'REGISTERED';
$conf['superuser'] = '@ADMINISTRATORS';
$conf['manager'] = '@GLOBAL_MODERATORS';
// now set up the mysql config strings
$conf['auth']['mysql']['server'] = $dbhost.':'.$dbport;
$conf['auth']['mysql']['user'] = $dbuser;
$conf['auth']['mysql']['password'] = $dbpasswd;
$conf['auth']['mysql']['database'] = $dbname;
//unset $db* variables, so noone can hack them
unset($dbpasswd);
unset($dbuser);
unset($dbhost);
unset($dbport);
unset($dbname);
$conf['auth']['mysql']['TablesToLock']= array("{$table_prefix}users", "{$table_prefix}users AS u",
"{$table_prefix}groups", "{$table_prefix}groups AS g",
"{$table_prefix}user_group", "{$table_prefix}user_group AS ug");
$conf['auth']['mysql']['checkPass'] = "SELECT user_password AS pass
FROM {$table_prefix}users
WHERE username='%{user}'";
$conf['auth']['mysql']['getUserInfo'] = "SELECT user_password AS pass, username AS name, user_email AS mail
FROM {$table_prefix}users
WHERE username='%{user}'";
$conf['auth']['mysql']['getGroups'] = "SELECT group_name as `group`
FROM {$table_prefix}groups g, {$table_prefix}users u, {$table_prefix}user_group ug
WHERE u.user_id = ug.user_id
AND g.group_id = ug.group_id
AND u.username='%{user}'";
$conf['auth']['mysql']['getUsers'] = "SELECT DISTINCT username AS user
FROM {$table_prefix}users AS u
LEFT JOIN {$table_prefix}user_group AS ug ON u.user_id=ug.user_id
LEFT JOIN {$table_prefix}groups AS g ON ug.group_id=g.group_id";
$conf['auth']['mysql']['FilterLogin'] = "username LIKE '%{user}'";
$conf['auth']['mysql']['FilterName'] = "username LIKE '%{name}'";
$conf['auth']['mysql']['FilterEmail'] = "user_email LIKE '%{email}'";
$conf['auth']['mysql']['FilterGroup'] = "group_name LIKE '%{group}'";
$conf['auth']['mysql']['SortOrder'] = "ORDER BY username";
$conf['auth']['mysql']['getUserID'] = "SELECT user_id AS id
FROM {$table_prefix}users
WHERE username='%{user}'";
$conf['auth']['mysql']['getGroupID'] = "SELECT group_id AS id
FROM {$table_prefix}groups
WHERE group_name='%{group}'";
/* $conf['auth']['mysql']['addUser'] = "INSERT INTO {$table_prefix}users
(username, user_password, user_email)
VALUES ('%{user}', '%{pass}', '%{email}')";
$conf['auth']['mysql']['addGroup'] = "INSERT INTO {$table_prefix}groups (group_name)
VALUES ('%{group}')";
$conf['auth']['mysql']['addUserGroup']= "INSERT INTO {$table_prefix}user_group (user_id, group_id)
VALUES ('%{uid}', '%{gid}')";
$conf['auth']['mysql']['updateUser'] = "UPDATE {$table_prefix}users SET";
$conf['auth']['mysql']['UpdateLogin'] = "username='%{user}'";
$conf['auth']['mysql']['UpdatePass'] = "user_password='%{pass}'";
$conf['auth']['mysql']['UpdateEmail'] = "user_email='%{email}'";
//$conf['auth']['mysql']['UpdateName'] = $conf['auth']['mysql']['UpdateLogin'];
$conf['auth']['mysql']['UpdateTarget']= "WHERE user_id=%{uid}";
$conf['auth']['mysql']['delGroup'] = "DELETE FROM {$table_prefix}groups
WHERE group_id='%{gid}'";
$conf['auth']['mysql']['delUser'] = "DELETE FROM {$table_prefix}users
WHERE user_id='%{uid}'";
$conf['auth']['mysql']['delUserRefs'] = "DELETE FROM {$table_prefix}user_group
WHERE user_id='%{uid}'";
$conf['auth']['mysql']['delUserGroup']= "DELETE FROM {$table_prefix}user_group
WHERE user_id='%{uid}'
AND group_id='%{gid}'";
*/
// call mysql constructor
$this->auth_mysql();
}
function trustExternal($username, $password, $sticky = false)
{
global $USERINFO;
global $conf;
global $user;
global $phpbb_auth;
$sticky ? $sticky = true : $sticky = false; // sanity check
// someone used the login form
if(!empty($username)) {
// run phpBB's login function
define('IN_LOGIN', true);
$login = $phpbb_auth->login($username, $password, $sticky);
if($login['status'] != LOGIN_SUCCESS) { return false; }
}
if(!$user->data['is_registered']) { return false; }
$USERINFO['name'] = $user->data['username'];
$USERINFO['mail'] = $user->data['user_email'];
if($this->_openDB()) {
$USERINFO['grps'] = $this->_getGroups($USERINFO['name']);
}
$_SERVER['REMOTE_USER'] = $user->data['username'];
$_SESSION[DOKU_COOKIE]['auth']['user'] = $user->data['username'];
$_SESSION[DOKU_COOKIE]['auth']['pass'] = $user->data['user_password'];
$_SESSION[DOKU_COOKIE]['auth']['info'] = $USERINFO;
return true;
}
function logoff()
{
global $user;
$user->session_kill();
}
}
?>
vlw fwi, Holmes
Re: Integração phpBB com DokuWiki
Enviado: 21 Abr 2012, 00:24
por robra
Além disso, veja se há alguma configuração em algum dos arquivos que você tem de informar o endereço do Fórum porque a mensagem de erro informa Failed opening required 'phpBB3/common.php', ou seja, falha em abrir o phpBB3/common.php quando deveria tentar abrir em forum/common.php.
Você leu isso ?
Como diz o Datena: "Pô veio... me ajuda aí, ô !!"
A mensagem de erro tá informando que não encontrou o diretório
/phpBB3.
Em qual arquivo da integração que você informa o diretório ?
Olha lá na página que você cita em sua primeira mensagem.
Set configuration variables
=Angua= =Rincewind=
The last thing we have to do is: enable it! The file conf/local.protected.php is the best location to do so, because DokuWiki doesn't touch this file. If the file doesn't exist, you have to create it. Add these lines:
local.protected.php
Código: Selecionar todos
<?php
/*
* phpBB3
*/
define('IN_PHPBB', true);
$phpbb_root_path = 'phpBB3/';
$conf['authtype'] = 'phpbb3';
?>
$phpbb_root_path has to be the relative path to phpBB from the DokuWiki directory, e.g. if phpBB is installed on the same level as DokuWiki, e.g. DokuWiki in var/user/dokuwiki and phpBB in var/user/forum/, $php_root_path has to be set to ../forum/.
I did this, but it wouldn't authenticate me. I tried pasting it in local.php, and it worked just fine. Is there a step missing?
Abraço.
