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:

Imagem

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... Imagem ...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.

Imagem

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. Imagem

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. Imagem

Re: Integração phpBB com DokuWiki

Enviado: 20 Abr 2012, 23:33
por Holmes
tem isto na linha 33

Código: Selecionar todos

require_once($phpbb_root_path.'common.'.$phpEx);
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. Imagem

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. Imagem