Lo unico que no pude conseguir es que se pueda loguear a mi foro desde otra pagina web.
La idea es poner en mi otra pagina web (ajena al foro y ajena al servidor) una caja de logueo y que el usuario pueda iniciar sesion y que al hacerlo, se muestren los datos del mismo. Hasta ahora estuve probando y probando, y no me salio. Trate de usar el MOD API y no me funciono. Trate de crear un API yo mismo usando CURL y tampoco me funciono.
Aca dejo el codigo del API que cree yo:
api/user.php:
Código: Seleccionar todo
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : '../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
function permiso($cod) {
if($cod=="1234") {
$p=true;
}
else {
$p=false;
}
return $p;
}
$user_api = new user();
$auth_api = new auth();
$user_api->session_begin();
$auth_api->acl($user_api->data);
$user->setup();
header("Content-type: text/xml\n\n");
echo "<?xml version='1.0'?>";
echo "<respuesta estado=\"ok\">";
echo "<is_log>" . (($user_api->data['is_registered']) ? "si" : "no") . "</is_log>";
echo "<id_user>" . $user_api->data['user_id'] . "</id_user>";
echo "<nombre_user>" . $user_api->data['username'] . "</nombre_user>";
echo "<id_user_c>" . $_COOKIE['phpbb3_pbfvj_u'] . "</id_user_c>";
echo "</respuesta>";
?>
Código: Seleccionar todo
<?php
// definimos nuestras variables POST
$post_vals = array(
'api_key' => '1234',
);
foreach($post_vals as $key => $value) {
$peticion .= $key.'='.urlencode($value).'&';
}
$peticion = rtrim($peticion, '&');
$ch = curl_init('http://localhost/foro/api/user.php');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $peticion);
$respuesta = curl_exec($ch);
curl_close ($ch);
echo $respuesta."</br>";
$xml = simplexml_load_string($respuesta);
$api_is_log = $xml->is_log;
$api_username = $xml->nombre_user;
$api_user_id = $xml->id_user;
$api_id_c = $xml->id_user_c;
?>
me muestra los datas de anonimo, como si no estuviera conectado.
Alguien sabe como solucionarlo?
A alguien se le ocurre una mejor idea?
Alguien pudo hacer esto con su foro?
Les agradezco desde ya.
Acá los datos del foro:
URL: http://www.panaforum.com.ar
Versión phpBB: phpBB3 (3.0.6)
MODs Instalados: Flags, Portal
Plantilla(s) usada(s): Propia (Basada en Prosilver_SE)
Servidor: Linux, de pago
Actualización desde otra versión: NO
Conversión desde otro sistema de foros: NO
Saludos y gracias!