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>"; ?>
Este es el codigo de consulta que pongo en mi otra pagina web para acceder al foro:
- 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; ?>
Basicamente lo que hace esto es conectar por CURL y mostrar los datos en XML: pero cuando hago la consulta, aunque este conectado al foro,
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!









Noticias