Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

bbcode en una pagina personalizadas, dudas y consejos.Tema Solucionado

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado
Omega100
Asiduo/a
Mensajes: 140
Registrado: 17 Ene 2011, 15:07
Edad: 32

bbcode en una pagina personalizadas, dudas y consejos.

#1

Mensaje por Omega100 »

Bueno, una vez mas, vengo a pedir consejo y ayuda. Me fin es el siguiente:

Por un lado:
Me gustaría tener una pagina en la cual, genero un post, y este lo guardo en una tabla de la base de datos personalizada.

Por otro lado:
Cargar este post con los bbcode.

Todo esto con paginas personalizadas. Es algo parecido a esto: http://www.phpbb-es.com/foro/phpbb3-ava ... de#p196699
Solo que no necesito mas información que el código, ni usuarios, ni ninguna otra cosa, solo cargar el mensaje y traducir los bbcode a html.

¿Porque esto?
Bueno, uso Advanced BBCode Box 3, y tiene una gran variedad de utilidades, como vídeos, pestañas y otras cosas, que es muy fácil de usar para gente que no tenga la mas mínima idea de programación. Mi idea final es que los moderadores puedan "crear" paginas personalizadas con mensajes únicos, como por ejemplo un vídeo.
Ya tengo la pagina personalizada, en mi caso: viewanime.php y el html de esta y tengo en la base de datos la tabla creada donde selecciono la ID de lo que quiero mostrar y tal, pero el mensaje guardado obviamente, me lo representa como string completo es decir, no interpreta los bbcode como es lógicos.

Después de ver visto el mensaje de arriba, no se si me es mas fácil hacer una pagina donde sea siempre igual, o esto de representar un post.


He de decir, que son mis primeros pasos en php (tal vez aspiro muy alto para empezar... :S).

Si es muy complejo, representaría simplemente lo mismo siempre de manera estática con el html, cargando el código sin los bbcode que eso ya aprendí a hacerlo en otra consulta que he echo recientemente.

Lo que si necesitaría crear es un formulario que me inserte la linea en la base de datos, ya que esto se hacerlo pero manualmente.

No tengo muy claras las ideas, ¿que me aconsejan hacer? y si pueden orientarme un poco.. lo agradecería mucho.


De antemanos como siempre, muchas gracias por la dedicación y el tiempo.
URL: http://animeien.com
Plantilla(s) usuada(s): Attriuum
MODs instalados: He instalado varios y no se como mirar cuales instale.
Versión de phpBB: 3.0.10
Servidor: MySQL(i) 5.0.91-log
Si es una actualización desde otra versión: si de la 3.0.6
Si es una conversión desde otro tipo de Foro: No

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: bbcode en una pagina personalizadas, dudas y consejos.

#2

Mensaje por Alorse »

Y porque no sirve el enlace que nos dejas? ahí esta todo bien explicado, de igual manera mira otro tema referente a los mismo Algunos dudas con últimos post del foro.
Por otro lado no dejaste la URL de tu pagina personalizada ni el código que estas usando.

Omega100
Asiduo/a
Mensajes: 140
Registrado: 17 Ene 2011, 15:07
Edad: 32

Re: bbcode en una pagina personalizadas, dudas y consejos.

#3

Mensaje por Omega100 »

Umm bueno, la pagina que me ayudaste a hacer, es esta:
http://www.animeien.com/Animes.php
Esa me en lasa con el que me los debe mostrar.

la pagina que me lo visualiza es esta:
http://www.animeien.com/viewanimes.php?animeid=5

Claro, entonces si entras ahi podras ver que no me representa el bbcode. Tal vez me valga los otros temas pero no lo veo del todo igual ya que me gustaria entender que es lo que hago, y ahi veo que consulta los post del foro, con sus campos y otros, por ejemplo veo que lo descodifica y otros que no termino de enteder el funcionamiento, yo el codigo que tengo lo eh escrito directamente en la base de dato ya que como te digo aun tengo que crear la pagina que me genere las filas en la tabla y que aun no se como se hace (soy principiante, lo siento).

El código php que tengo en el viewanimes es:

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);

	// Start session management
	$user->session_begin();
	$auth->acl($user->data);
	$user->setup(); 

	
	page_header('Visor de Animes');
	if (isset($_GET['animeid'])){
		$idanime = $_GET['animeid'];
		$consultanombre = "SELECT * FROM " . ANIMES_TABLE . " WHERE ID_SERIE = " . $idanime;
		$resultadonombre = $db->sql_query($consultanombre);
				
		while ($num_resultadosnombre = $db->sql_fetchrow($resultadonombre))
		{
			$template->assign_block_vars('anime', array(
			'ID' => $num_resultadosnombre["ID_SERIE"],
			'NOMBRE' => $num_resultadosnombre["NOMBRE"],
			'IMG' => $num_resultadosnombre["FOTO"],
			'URL' => $num_resultadosnombre["URL"],
			'CODIGO' => $num_resultadosnombre["CODE_TEXT"],
		));
		}
	}


	$template->set_filenames(array(
		'body' => 'viewanimes.html',
	));

	make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
	page_footer();
	?>
Y en el html:
<!-- INCLUDE overall_header.html -->

<h2>Listas de Animes en Animeien</h2>

<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<!-- BEGIN anime -->
{anime.CODIGO}
<!-- END anime -->
<span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE overall_footer.html -->
URL: http://animeien.com
Plantilla(s) usuada(s): Attriuum
MODs instalados: He instalado varios y no se como mirar cuales instale.
Versión de phpBB: 3.0.10
Servidor: MySQL(i) 5.0.91-log
Si es una actualización desde otra versión: si de la 3.0.6
Si es una conversión desde otro tipo de Foro: No

Omega100
Asiduo/a
Mensajes: 140
Registrado: 17 Ene 2011, 15:07
Edad: 32

Re: bbcode en una pagina personalizadas, dudas y consejos.

#4

Mensaje por Omega100 »

Siento el doble post, pero no puedo editar.

eh hecho este código que no se si esta bien pero por lo pronto no funciona:

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/bbcode.' . $phpEx);

	// Start session management
	$user->session_begin();
	$auth->acl($user->data);
	$user->setup(); 

	
	page_header('Visor de Animes');
	
	$num_char = 1000;
	
	if (isset($_GET['animeid'])){
		$idanime = $_GET['animeid'];
		$consultanombre = "SELECT * FROM " . ANIMES_TABLE . " WHERE ID_SERIE = " . $idanime;
		$resultadonombre = $db->sql_query($consultanombre);
		
		$post_text = nl2br($resultadonombre["CODE_TEXT"]);
		
		$bbcode_bitfield = '';
		// Define the global bbcode bitfield, will be used to load bbcodes
		$bbcode_bitfield = $bbcode_bitfield | base64_decode($resultadonombre['bbcode_bitfield']);

		// Instantiate BBCode if need be
		if ($bbcode_bitfield !== '')
		{
			$bbcode = new bbcode(base64_encode($bbcode_bitfield));
		}
		$bbcode->bbcode_second_pass($post_text, $resultadonombre['bbcode_uid'], $resultadonombre['bbcode_bitfield']);	
		
		while ($num_resultadosnombre = $db->sql_fetchrow($resultadonombre))
		{
			$template->assign_block_vars('anime', array(
			'ID' => $num_resultadosnombre["ID_SERIE"],
			'NOMBRE' => $num_resultadosnombre["NOMBRE"],
			'IMG' => $num_resultadosnombre["FOTO"],
			'URL' => $num_resultadosnombre["URL"],
			'CODIGO' => substr(censor_text($post_text), 0, $num_char),
		));
		}
	}


	$template->set_filenames(array(
		'body' => 'viewanimes.html',
	));

	make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
	page_footer();
	?>
la linea:
$bbcode->bbcode_second_pass($post_text, $resultadonombre['bbcode_uid'], $resultadonombre['bbcode_bitfield']);
Hace que se me quede todo en blanco.

Fui a la tabla y adjunte dos columnas mas: bbcode_uid Y bbcode_bitfield

Como dato de interés y que imagino que luego tendré que cambiar cosas, yo quiero que funcione con el Advace box bbcode como dije, tengo que cargar entonces las funciones de este no?
URL: http://animeien.com
Plantilla(s) usuada(s): Attriuum
MODs instalados: He instalado varios y no se como mirar cuales instale.
Versión de phpBB: 3.0.10
Servidor: MySQL(i) 5.0.91-log
Si es una actualización desde otra versión: si de la 3.0.6
Si es una conversión desde otro tipo de Foro: No

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: bbcode en una pagina personalizadas, dudas y consejos.

#5

Mensaje por Alorse »

Sinceramente creo que quieres hacer mucho, creí que obtenías los mensajes de la tabla phpbb_post, pero como vez, para intepretar los BBCode es necesario el campo bbcode_uid y no sé que más cosas.
Siento dejarte solo en esta, pero no sé como hacerlo.

Omega100
Asiduo/a
Mensajes: 140
Registrado: 17 Ene 2011, 15:07
Edad: 32

Re: bbcode en una pagina personalizadas, dudas y consejos.

#6

Mensaje por Omega100 »

jejeje es probable que termine haciendo otra cosa =)
igualmente, se me han ocurrido un par de ideas, a ver si soy capas jajaja, si lo consigo os comento =)
URL: http://animeien.com
Plantilla(s) usuada(s): Attriuum
MODs instalados: He instalado varios y no se como mirar cuales instale.
Versión de phpBB: 3.0.10
Servidor: MySQL(i) 5.0.91-log
Si es una actualización desde otra versión: si de la 3.0.6
Si es una conversión desde otro tipo de Foro: No

Omega100
Asiduo/a
Mensajes: 140
Registrado: 17 Ene 2011, 15:07
Edad: 32

Re: bbcode en una pagina personalizadas, dudas y consejos.

#7

Mensaje por Omega100 »

Siento el doble post, pero no me deja editar. Considero que es un tema interesante y que puede valer para otros usuarios, asi que ir poniendo avances de lo que consigo por si alguien sigue mis pasos, o por si alguien puede ayudarme a mejorar.

He conseguido que me interprete los bbcode de un post totalmente nuevo que solo guarda texto y los bbcode, nada de usuario, id, ni fecha ni nada por ahora, voy a lo simple, mi código php es:

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);

	// Start session management
	$user->session_begin();
	$auth->acl($user->data);
	$user->setup(); 

	
	page_header('Visor de Animes');
	
	$bbcode_bitfield = '';
	$post_rows = array();
	
	if (isset($_GET['animeid'])){
		$idanime = $_GET['animeid'];	
	
		$sql = 'SELECT CODE_TEXT, bbcode_uid, bbcode_bitfield FROM ' . ANIMES_TABLE . " WHERE ID_SERIE = " . $idanime;
		$result = $db->sql_query($sql);
		
		while($row = $db->sql_fetchrow($result))
		{
			$post_rows[] = $row;
			$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);
		}
		$db->sql_freeresult($result);
		
		if ($bbcode_bitfield !== '')
		{
			include($phpbb_root_path . 'includes/bbcode.' . $phpEx);
			$bbcode = new bbcode(base64_encode($bbcode_bitfield));
		}
		foreach($post_rows as $row)
		{
			$message = $row['CODE_TEXT'];

			// Segundo paso del bbcode
			if (!empty($row['bbcode_bitfield']))
			{
				$bbcode->bbcode_second_pass($message, $row['bbcode_uid'], $row['bbcode_bitfield']);
			}

			// Emoticonos y saltos de linea
			$message = bbcode_nl2br($message);
			$message = smiley_text($message);

			//echo $message . '<br /><br />'; // Imprimimos el resultado

			$template->assign_block_vars('anime', array(
				'CODIGO' => $message . '<br /><br />',
			));

		}
	
	}

	$template->set_filenames(array(
		'body' => 'viewanimes.html',
	));

	make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
	page_footer();
?>
y el html:

Código: Seleccionar todo

<!-- INCLUDE overall_header.html -->

    <h2>Listas de Animes en Animeien</h2>

    <div class="panel">
       <div class="inner"><span class="corners-top"><span></span></span>
		<!-- BEGIN anime -->
		{anime.CODIGO}
		<!-- END anime -->
       <span class="corners-bottom"><span></span></span></div>
    </div>

    <!-- INCLUDE overall_footer.html -->
Ahora voy a proceder a crear un formulario que me guarde los post, con solo texto y bbcode. a ver si tengo tanta suerte como con esto. :cerveza:
URL: http://animeien.com
Plantilla(s) usuada(s): Attriuum
MODs instalados: He instalado varios y no se como mirar cuales instale.
Versión de phpBB: 3.0.10
Servidor: MySQL(i) 5.0.91-log
Si es una actualización desde otra versión: si de la 3.0.6
Si es una conversión desde otro tipo de Foro: No

Omega100
Asiduo/a
Mensajes: 140
Registrado: 17 Ene 2011, 15:07
Edad: 32

Re: bbcode en una pagina personalizadas, dudas y consejos.  Tema Solucionado

#8

Mensaje por Omega100 »

Bueno! al final he conseguido mas o menos lo que queria, solo me falta hacer algunos ajuestes. Como por ejemplo intentar insertar los comandos del mod advanced_bbcode_box_3 en mi pagina de edición personalizada, lo cual agradecería si alguien sabe jejeje

Por si alguien intenta hacer algo parecido a lo mio, el codigo php final resultante es el siguiente:

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);

	// Start session management
	$user->session_begin();
	$auth->acl($user->data);
	$user->setup(); 
	
	if ($user->data['user_id'] == ANONYMOUS)
	{
		login_box('', $user->lang['LOGIN']);
	}
	
	page_header('Editor de Animes');
	
	if (isset($_POST['estado'])){
		$estado = $_POST['estado'];
	}
	

	if($estado == "")
	{
		$formulario = '
			<form action="./posting_animes.php" method="post">
			Nombre:<br>
			<input name="nombre" size="100" type="text"><br>
			Foto:<br>
			<input name="foto" size="50" type="text"><br>
			<textarea name="CODE_TEXT" cols="50" rows="5" wrap="soft"></textarea><br>
			<input name="estado" type="hidden" value="insert">
			<input name="submit" value="Enviar" type="submit">
		</form>';
				
		$template->assign_block_vars('anime', array(
				'FORMULARIO' 	 => $formulario,
				));
		
	}
	if($estado == "insert")
	{
		$nombre = $_POST['nombre'];
		$foto = $_POST['foto'];
		$text = utf8_normalize_nfc($_POST['CODE_TEXT']);
		$uid = $bitfield = $options = ''; // will be modified by generate_text_for_storage
		$allow_bbcode = $allow_urls = $allow_smilies = true;
		generate_text_for_storage($text, $uid, $bitfield, $options, $allow_bbcode, $allow_urls, $allow_smilies);
		
		$sql_ary = array(
				'CODE_TEXT'         => $text,
				'NOMBRE'			=> $nombre,
				'FOTO'				=> $foto,
				'bbcode_uid'        => $uid,
				'bbcode_bitfield'   => $bitfield,
				'enable_bbcode'     => $allow_bbcode,
				'enable_magic_url'  => $allow_urls,
				'enable_smilies'    => $allow_smilies,
				'post_time'			=> 1283266997,
				'poster_id'				=> $user->data['user_id'],
				//'post_time'				=> ($post_data['post_time']) ? $user->format_date($post_data['post_time']) : '',
				'poster_ip'				=> (isset($post_data['poster_ip'])) ? $post_data['poster_ip'] : $user->ip,
		);
		
		
		$sql = 'INSERT INTO ' . ANIMES_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
		$db->sql_query($sql);
		
		$template->assign_block_vars('anime', array(
				'FORMULARIO' => 'Datos enviados',
		));
		
	}


	$template->set_filenames(array(
		'body' => 'posting_animes.html',
	));

	page_footer();
	?>
Se que no esta construido de una manera limpia, pero para ser lo primero que hago funciona bien jeje, habria que editarlo para cada caso propio claro jeje

Decir que me ayudo mucho esto para sacar lo que queria: http://wiki.phpbb.com/Tutorial.Parsing_text
Es una Appi de phpbb jeje

Si puedo ayudar a alguien, pregunten, y si alguien me puede ayudar, gracias. ^^ :bravo:

[Cliko el resuelto]
URL: http://animeien.com
Plantilla(s) usuada(s): Attriuum
MODs instalados: He instalado varios y no se como mirar cuales instale.
Versión de phpBB: 3.0.10
Servidor: MySQL(i) 5.0.91-log
Si es una actualización desde otra versión: si de la 3.0.6
Si es una conversión desde otro tipo de Foro: No

Cerrado

Volver a “Foros de Soporte 3.0.x”