phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Aiuto sulla mod topics list

Supporto MODs generale.
sport
Utente
Utente
Messaggi: 28
Iscritto il: 13/04/2011, 17:58
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log

Re: Aiuto sulla mod topics list

Messaggio da sport » 18/04/2011, 23:40

Continuo a non visualizzare nulla nonostante abbia ripetuto le modifiche.

Ti posto il file php:

Codice: Seleziona tutto

$sql = "SELECT p.post_text, p.bbcode_uid, t.* FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t WHERE t.forum_id IN (" . implode(', ', $forums_id) . ") AND p.post_id = t.topic_first_post_id ORDER BY topic_time DESC LIMIT 0," . $max_topic;
$result = $db->sql_query($sql);

while ($row = $db->sql_fetchrow($result)) {
	if ($auth->acl_get('f_read', $row['forum_id'])) {
		$b++;
		$bbcode_img_to_array = bbcode_img_to_array($row['post_text'], $row['bbcode_uid']);
		$thumb = (isset($bbcode_img_to_array['img'][0]) ? $bbcode_img_to_array['img'][0] : (isset($bbcode_img_to_array['img'][0]) ? $bbcode_img_to_array['img'][0] : $default_image));
	
         $pattern = "#\[trama](.*?)\[/trama\]#i" ;
         preg_match($pattern, $row['post_text'], $matches) ;
         $text_trama = isset($matches[1]) ? $matches[1] : '';

		$template->assign_block_vars('topics_time', array(
			'EVEN'   => (($b % 2 == 0) ? true : false),
			'THUMB'	=> $thumb,
			'LINK'	=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row['forum_id'] . "&t=" . $row['topic_id']),
			'TIME'	=> $user->format_date($row['topic_time'], false, false),
			'TITLE'	=> $row['topic_title'],
                        'TRAMA' => $text_trama
		));
	}

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Aiuto sulla mod topics list

Messaggio da Micogian » 19/04/2011, 7:13

Nel PHP non vedo niente di sbagliato.
Hai provato con il file prova_trama.php ?
Sostituisci la variabile $row['post_text'] con il contenuto di un post (ricavato dalla tabella phpbb_posts) e vedi cosa succede. Se il risultato è corretto il problema sta nel template.

sport
Utente
Utente
Messaggi: 28
Iscritto il: 13/04/2011, 17:58
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log

Re: Aiuto sulla mod topics list

Messaggio da sport » 19/04/2011, 17:12

Non funziona. Io credo che il problema sia nel file php ma non capisco cosa manca.
Nel file html ho semplicemente aggiunto la stringa {topics_time.TRAMA} accanto alla variabile della data.

Eppure il file prova_trama.php funzionava
Ultima modifica di sport il 26/04/2011, 13:25, modificato 1 volta in totale.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Aiuto sulla mod topics list

Messaggio da Micogian » 19/04/2011, 18:53

Il file prova_trama.php funziona perchè la variabile $row['post_text'] è definita direttamente nel file.
Bisogna vedere cosa realmente c'è nel campo post_text del database e quindi il reale valore di $row['post_text'].

Un'altra prova che potresti fare è modificare le variabili $matches[1] in $matches[0].

Se nemmeno così funziona io farei una prova escludendo il template e visualizzando il risultato diretto delle due query. Se non lo sai fare vedo di modificarti il file php.

sport
Utente
Utente
Messaggi: 28
Iscritto il: 13/04/2011, 17:58
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log

Re: Aiuto sulla mod topics list

Messaggio da sport » 19/04/2011, 20:45

Ho provato a modificare le variabili ma niente.
Adesso non so come farlo visualizzare direttamente ... puoi modificarlo tu?

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Aiuto sulla mod topics list

Messaggio da Micogian » 19/04/2011, 21:18

Crea un file php da inserire nella root del Forum, chiamalo come vuoi, questo è il contenuto:

Codice: Seleziona tutto

<?php
/*
*
* @package Topic più visti & Ultimi Topic [MOD]
* @author Carlo
* @website http://www.phpbbitalia.net/
*
*/
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();

// Configuration
$max_topic = 6;
$forums_id = array(228,229,230,231,232,233,234,236,237,238,239,240,241,242,243,244,245,246,132,133,291,287,288,289,286,147,145);
$default_image = './images/Not_Available.jpg';

$sql = "SELECT p.post_text, p.bbcode_uid, t.* FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t WHERE t.forum_id IN (" . implode(', ', $forums_id) . ") AND p.post_id = t.topic_first_post_id ORDER BY topic_views DESC LIMIT 0," . $max_topic;
$result = $db->sql_query($sql);

$a = $b = 0;

while ($row = $db->sql_fetchrow($result)) {
   if ($auth->acl_get('f_read', $row['forum_id'])) {
      $a++;
      $bbcode_img_to_array = bbcode_img_to_array($row['post_text'], $row['bbcode_uid']);
      $thumb = (isset($bbcode_img_to_array['img'][0]) ? $bbcode_img_to_array['img'][0] : (isset($bbcode_img_to_array['img'][0]) ? $bbcode_img_to_array['img'][0] : $default_image));
      
	  $pattern = "#\[trama](.*?)\[/trama\]#i" ;
	  preg_match($pattern, $row['post_text'], $matches) ;
      $text_trama = isset($matches[1]) ? $matches[1] : '';
	  echo "Topics più visti<br />";
	  echo "----------------------------------------<br />" ;
	  echo "Thumb: " . $thumb . "<br />";
	  echo "Title: " . $row['topic_title'] . "<br />";
	  echo "Views: " . $row['topic_views'] . "<br />";
	  echo "Trama: " . $text_trama . "<br />";
	  /*
      $template->assign_block_vars('topics_views', array(
         'EVEN'   => (($a % 2 == 0) ? true : false),
         'THUMB'   => $thumb,
         'LINK'   => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row['forum_id'] . "&t=" . $row['topic_id']),
         'TITLE'   => $row['topic_title'],
         'VIEWS'   => $row['topic_views']
      ));
	  */
   }
}

$db->sql_freeresult($result);


$sql1 = "SELECT p.post_text, p.bbcode_uid, t.* FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t WHERE t.forum_id IN (" . implode(', ', $forums_id) . ") AND p.post_id = t.topic_first_post_id ORDER BY topic_time DESC LIMIT 0," . $max_topic;
$result1 = $db->sql_query($sql1);

while ($row1 = $db->sql_fetchrow($result1)) {
   if ($auth->acl_get('f_read', $row1['forum_id'])) {
      $b++;
      $bbcode_img_to_array = bbcode_img_to_array($row1['post_text'], $row1['bbcode_uid']);
      $thumb1 = (isset($bbcode_img_to_array['img'][0]) ? $bbcode_img_to_array['img'][0] : (isset($bbcode_img_to_array['img'][0]) ? $bbcode_img_to_array['img'][0] : $default_image));
      
	  $pattern1 = "#\[trama](.*?)\[/trama\]#i" ;
	  preg_match($pattern1, $row1['post_text'], $matches1) ;
      $text_trama1 = isset($matches1[1]) ? $matches1[1] : '';
	  
	  echo "<br /><br />Ultimi Topics<br />";
	  echo "----------------------------------------<br />" ;
	  echo "Thumb: " . $thumb1 . "<br />";
	  echo "Title: " . $row1['topic_title'] . "<br />";
	  echo "Data: " . $user->format_date($row1['topic_time'], false, false) . "<br />";
	  echo "Trama: " . $text_trama1 . "<br />";
	  /*
      $template->assign_block_vars('topics_time', array(
         'EVEN'   => (($b % 2 == 0) ? true : false),
         'THUMB'   => $thumb,
         'LINK'   => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row['forum_id'] . "&t=" . $row['topic_id']),
         'TIME'   => $user->format_date($row['topic_time'], false, false),
         'TITLE'   => $row['topic_title']
      ));
	  */
   }
}

$db->sql_freeresult($result1);

/*
* Parse [img] and [thumbnail] BBCode for messages and insert in an array BBCode params
*
* @param $msg string message to parse
* @param $uid string bbcode uid for message
*
*/
function bbcode_img_to_array($msg, $uid) {
   $array_parsed_item = array();
   
   $msg = str_replace("\n", '', $msg);
   $msg = str_replace(array('[', ']'), array('<', '>'), $msg);
   $msg = str_replace(':' . $uid, '', $msg);
   $msg = preg_replace("|<url=(.*)>(.*)</url>|U", "<url>$1</url>", $msg);
   
   preg_match_all("|<img>(.*)</img>|U", $msg, $array['img']);
   preg_match_all("|<thumbnail>(.*)</thumbnail>|U", $msg, $array['thumbnail']);

   $bbcode = array(
      'img'      => $array['img'][1],
      'thumbnail'   => $array['thumbnail'][1]

   );
   
   return $bbcode;
}
/*
page_header('Topic pi&ugrave; visti & Ultimi topic');

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

page_footer();
*/
?>
Dovrebbe visualizzare le variabili estratte dalle due query senza bisogno del Template.
Naturalmente senza formattazione della pagina, solo un elenco dei dati estratti.

sport
Utente
Utente
Messaggi: 28
Iscritto il: 13/04/2011, 17:58
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log

Re: Aiuto sulla mod topics list

Messaggio da sport » 19/04/2011, 22:15

Ha estratto tutti i dati tranne il contenuto del bbcode trama. Da cosa dipende?

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Aiuto sulla mod topics list

Messaggio da Micogian » 19/04/2011, 22:48

Ti ho già detto che bisogna vedere cosa ci sta scritto nel campo post_text, se nei Topics estratti c'è il bbcode [trama] e se a questo bbcode sia associato qualche stringa come i bbcode_uid.
Apri il database con phpmyadmin e controlla il contenuto del campo post_text nella tabella posts di un post che contenga il bbcode [trama].

sport
Utente
Utente
Messaggi: 28
Iscritto il: 13/04/2011, 17:58
Sesso: Maschio
Versione: 3.0.8
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL 4.1.22-standard-log

Re: Aiuto sulla mod topics list

Messaggio da sport » 20/04/2011, 11:29

Scusami, non avevo capito.
Adesso ho controllato; era come dicevi tu. Al bbcode trama viene associata una stringa come i bbcode_uid.

Ecco:

Codice: Seleziona tutto

[trama:gkmldw50]contenuto della trama..[/trama:gkmldw50]
Ho controllato a più topic ed ho notato che le stringhe cambiano in ogni bbcode. E' normale?

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Aiuto sulla mod topics list

Messaggio da Micogian » 20/04/2011, 11:54

Si, è normale che il bbcode_uid cambi ad ogni post.
Ovvio che non trovi la stringa [trama], dovresti risolvere in questo modo:

Codice: Seleziona tutto

$pattern = "#\[trama:" . $row['bbcode_uid'] . "](.*?)\[/trama:" . $row['bbcode_uid'] . "\]#i" ;

Rispondi

Torna a “Supporto MODs”

Chi c’è in linea

Visitano il forum: Bing [Bot] e 56 ospiti