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

Inserire una MOD nel file index.php

Supporto MODs generale.
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:

Inserire una MOD nel file index.php

Messaggio da Micogian » 07/01/2010, 12:00

Un saluto a tutti, mi sono iscritto in questo Forum perchè mi interessa approfondire le conoscenze su phpBB.
Vedo qui nomi noti e spero di essere approdato nel posto giusto.

Non so se sia la sezione corretta per la mia prima richiesta, abbiate pazienza, devo ancora capire cone funziona il Forum.

Sto realizzando una MOD "View last pictures" che visualizza in un box con lo stile del Forum gli ultimi 5 allegati.
La ritengo utile soprattutto per i Forum dove l'immagine ha una certa importanza.

Ho creato il file php con la query che popola l'array da passare al template HTML.
Fino qui tutto bene, la MOD funziona benissimo e si ottiene un box del tutto simile allo stile del Forum con
all'interno le 5 immagini che, tra l'altro, sono dei links alle rispettive discussioni.

Ora volevo inserire il file php nell'indice, ma senza stravolgere il codice del file index.php,
Pensavo a una funzione come si fa per page_header() o page_footer().

Magari è una cosa banale ma sul momento non mi viene e se inserisco il nuovo file php con un include mi dà un errore
per via della duplicazione di alcune parti di codice nei due file php.
In sostanza volevo sapere se è possibile inserire un nuovo file php in uno già esistente e come fare per attivare la relativa
pagina HTML che poi va inserita con un "INCLUDE" nel file index_body.html.

Scusate se mi sono spiegato male.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Inserire una MOD nel file index.php

Messaggio da Carlo » 07/01/2010, 14:22

Se è possibile allegami il file da te creato con relativo template, il file index.php relativo alla tua versione di phpBB ed il template index_body.html.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

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: Inserire una MOD nel file index.php

Messaggio da Micogian » 07/01/2010, 15:27

carlino1994 ha scritto:Se è possibile allegami il file da te creato con relativo template, il file index.php relativo alla tua versione di phpBB ed il template index_body.html.

Il file php l'ho chiamato "user_lastpic.php" ed è questo:

Codice: Seleziona tutto

<?php
/**
*
* @package phpBB3
* @version $Id: user_topic_list.php 2009 11 30 Bingo $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
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);
global $icons;

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

//$user->setup('viewforum', $forum_data['forum_style']);
$user->setup('viewforum');

// Start initial var setup = ATTENZIONE: abilitare una delle righe seguenti a seconda che il parent_id necessario
// per la ricerca nei Forums interessati viene inserito nell'URL o nel codice
//$forum_id	= request_var('f', 0);
$forum_id = '285' ;  // inserire qui il parent_id relativo ai Forum interessati oppure abilitare la riga precedente e inserire il numero ID nell'url

if (!$forum_id)
{
	trigger_error('NO_FORUM');
}
// Redirect to login upon emailed notification links
if (isset($_GET['e']) && !$user->data['is_registered'])
{
	login_box('', $user->lang['LOGIN_NOTIFY_FORUM']);
}

$sql = "SELECT f.*
	FROM ".FORUMS_TABLE." f
	WHERE f.forum_id = $forum_id";
$result = $db->sql_query($sql);
$forum_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if (!$forum_data)
{
	trigger_error('NO_FORUM');
}

// Permissions check
if (!$auth->acl_gets('f_list', 'f_read', $forum_id) || ($forum_data['forum_type'] == FORUM_LINK && $forum_data['forum_link'] && !$auth->acl_get('f_read', $forum_id)))
{
	if ($user->data['user_id'] != ANONYMOUS)
	{
		trigger_error('SORRY_AUTH_READ');
	}

	login_box('', $user->lang['LOGIN_VIEWFORUM']);
}

// Forum is passworded ... check whether access has been granted to this
// user this session, if not show login box
if ($forum_data['forum_password'])
{
	login_forum_box($forum_data);
}

//Obtain forum name
$forum_name = $forum_data['forum_name'];   // 
$template->assign_var('FORUM_NAME', $forum_name);	
$template->assign_var('U_VIEWFORUM',append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id));

$icons = $cache->obtain_icons();

//query per estrarre gli ultimi 5 Topics con allegati
$sql = "SELECT 
pt.topic_id, pt.forum_id, pt.topic_title, pt.topic_first_poster_name, pt.topic_attachment, pf.forum_name, pf.parent_id
FROM ". TOPICS_TABLE." pt,". FORUMS_TABLE. " pf
WHERE pf.parent_id = $forum_id
AND pt.forum_id = pf.forum_id
AND pt.topic_attachment = 1 
ORDER BY pt.topic_id DESC LIMIT 5";

$db->sql_query($sql);

$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
	$topic_id = $row['topic_id'];
	// ricerca il primo attach_id dei topics selezionati
	$sql_pic = "SELECT pa.attach_id, pa.topic_id, pa.physical_filename 
		FROM ". ATTACHMENTS_TABLE." pa
		WHERE pa.topic_id = $topic_id
		ORDER BY pa.attach_id LIMIT 1" ;
		$db->sql_query($sql_pic);
		$result1 = $db->sql_query($sql_pic);
		$row1 = $db->sql_fetchrow($result1);
		$attach_id = $row1['attach_id'];

// assegna le variabili da passare al file HTML
$template->assign_block_vars('attach_list', array(
		'TOPIC_ID'		=> $row['topic_id'],
		'FORUM_ID'		=> $row['forum_id'],
		'TOPIC_TITLE'	=> $row['topic_title'],
		'TOPIC_LINK'	=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't='.$row['topic_id']),
		'ATTACH_LINK'	=> append_sid("{$phpbb_root_path}download/file.$phpEx", 'id='.$attach_id),
		'FORUM_NAME'	=> $row['forum_name'],
		'TOPIC_AUTHOR'	=> $row['topic_first_poster_name'],
		'ATTACH_ID' 	=> $attach_id
		));
}
$db->sql_freeresult($result);

// Dump out the page header and load template
page_header($user->lang['VIEW_FORUM'] . $forum_name);

$template->set_filenames(array(
	'body' => 'user_lastpic.html')
);
page_footer();
?>
Funziona con l'inserimento del "parent_id" che contiene subforum, a seconda se il parent_id venga inserito nell'url o nel file c'è una piccola variazione da fare al codice.

Il relativo file html è "user_lastpic.html" ed è relativo allo style "avalon":

Codice: Seleziona tutto

<!-- INCLUDE overall_header.html -->
<div class="block-start"><table class="tablebg" width="100%" cellspacing="0">
<caption><div class="cap-left"><div class="cap-right">Ultime immagini del Forum&nbsp;</div></div></caption><tr> 
	<td class="row1" align="center"><br /><p class="gen">
		<!-- BEGIN attach_list -->
		<a href="{attach_list.TOPIC_LINK}" title="{attach_list.TOPIC_TITLE} (di {attach_list.TOPIC_AUTHOR})"><img src="{attach_list.ATTACH_LINK} alt="{attach_list.FORUM_NAME}" border="0" height="200"></a>
		<!-- END attach_list-->
	</p><br /></td>
</tr>
</table>
<div class="block-end-left"><div class="block-end-right"></div></div></div>
<br clear="all" />
Per visualizzare il box dello stile ho inserito il file "overall_header.html ma funzionerebbe comunque, senza formattazione naturalmente.
Ci sono ancora delle cose da sistemare, come il ridimensionamento delle miniature in base alle dimensioni della pagina, ma quelle sono miglioramenti da fare in un secondo tempo.

Non inserisco i file index.php e index_body.html perchè quello che a me interessa è il meccanismo che permetta di far funzionare la MOD indipendentemente dal file dove inserirla. Ad esempio potrebbe essere messa anche nel file viewforums.php in modo che visualizzi gli ultimi 5 allegati del Forum selezionato, ma se serve ti faccio avere anche quelli.
Considera che io amministro 3 Forum phpbb con stili diversi e che la MOD dovrebbe andar bene per tutti, con html appropriato allo stile, naturalmente.

Grazie per l'interessamento.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Inserire una MOD nel file index.php

Messaggio da Carlo » 07/01/2010, 15:41

Allora prima di tutto credo che il codice andarebbe un pò sistemato, anche perchè i nomi delle variabili non dovrebbero interferire con le altre.

Poi non vedo lo scopo di questa riga (19):

Codice: Seleziona tutto

global $icons; 
Poi vorrei chiederti a cosa serve questa riga invece (78):

Codice: Seleziona tutto

$icons = $cache->obtain_icons();
poiche la variabile $icons non viene richiamata successivamente...
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

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: Inserire una MOD nel file index.php

Messaggio da Micogian » 07/01/2010, 16:02

Hai ragione, sono refusi di un programma precedente, al limite però non dovrebbero creare problemi ma li tolgo.
Anche la prima SELECT che controlla la presenza del Forum potrebbe non servire, anche perchè il nome dei Forum vengono presi con la query successiva.
Diciamo che sono agli inizi con phpbb e sto cominciando a capire solo ora certe funzioni.

Se vuoi la MOD funziona all'indirizzo http://www.actafungorum.org/actaforum/user_lastpic.php

Una cosa, è normale che per ogni variazione sul template debba andare nel PCA ad aggiornare il template ?
Con CONTRO-F5 non si aggiorna.
Ultima modifica di Micogian il 07/01/2010, 16:15, modificato 1 volta in totale.

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Inserire una MOD nel file index.php

Messaggio da Carlo » 07/01/2010, 16:13

Comunque la riga 18 a cosa serve? Cosa prende dalla cache?
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

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: Inserire una MOD nel file index.php

Messaggio da Micogian » 07/01/2010, 16:17

No, quella l'ho tolta, vedi che ti ho messo il link nel messaggio precedente,
Ora il file è così:

Codice: Seleziona tutto

<?php
/**
*
* @package phpBB3
* @version $Id: user_topic_list.php 2009 11 30 Bingo $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
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);

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

//$user->setup('viewforum', $forum_data['forum_style']);
$user->setup('viewforum');

// Start initial var setup = ATTENZIONE: abilitare una delle righe seguenti a seconda che il parent_id necessario
// per la ricerca nei Forums interessati viene inserito nell'URL o nel codice
//$forum_id	= request_var('f', 0);
$forum_id = '285' ;  // inserire qui il parent_id relativo ai Forum interessati oppure abilitare la riga precedente e inserire il numero ID nell'url

if (!$forum_id)
{
	trigger_error('NO_FORUM');
}
// Redirect to login upon emailed notification links
if (isset($_GET['e']) && !$user->data['is_registered'])
{
	login_box('', $user->lang['LOGIN_NOTIFY_FORUM']);
}

$sql = "SELECT f.*
	FROM ".FORUMS_TABLE." f
	WHERE f.forum_id = $forum_id";
$result = $db->sql_query($sql);
$forum_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if (!$forum_data)
{
	trigger_error('NO_FORUM');
}

// Permissions check
if (!$auth->acl_gets('f_list', 'f_read', $forum_id) || ($forum_data['forum_type'] == FORUM_LINK && $forum_data['forum_link'] && !$auth->acl_get('f_read', $forum_id)))
{
	if ($user->data['user_id'] != ANONYMOUS)
	{
		trigger_error('SORRY_AUTH_READ');
	}

	login_box('', $user->lang['LOGIN_VIEWFORUM']);
}

// Forum is passworded ... check whether access has been granted to this
// user this session, if not show login box
if ($forum_data['forum_password'])
{
	login_forum_box($forum_data);
}

//Obtain forum name
$forum_name = $forum_data['forum_name'];   // 
$template->assign_var('FORUM_NAME', $forum_name);	
$template->assign_var('U_VIEWFORUM',append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id));

//query per estrarre gli ultimi 5 Topics con allegati
$sql = "SELECT 
pt.topic_id, pt.forum_id, pt.topic_title, pt.topic_first_poster_name, pt.topic_attachment, pf.forum_name, pf.parent_id
FROM ". TOPICS_TABLE." pt,". FORUMS_TABLE. " pf
WHERE pf.parent_id = $forum_id
AND pt.forum_id = pf.forum_id
AND pt.topic_attachment = 1 
ORDER BY pt.topic_id DESC LIMIT 5";

$db->sql_query($sql);

$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
	$topic_id = $row['topic_id'];
	// ricerca il primo attach_id dei topics selezionati
	$sql_pic = "SELECT pa.attach_id, pa.topic_id, pa.physical_filename 
		FROM ". ATTACHMENTS_TABLE." pa
		WHERE pa.topic_id = $topic_id
		ORDER BY pa.attach_id LIMIT 1" ;
		$db->sql_query($sql_pic);
		$result1 = $db->sql_query($sql_pic);
		$row1 = $db->sql_fetchrow($result1);
		$attach_id = $row1['attach_id'];

// assegna le variabili da passare al file HTML
$template->assign_block_vars('attach_list', array(
		'MY_TOPIC_ID'		=> $row['topic_id'],
		'MY_FORUM_ID'		=> $row['forum_id'],
		'MY_TOPIC_TITLE'	=> $row['topic_title'],
		'MY_TOPIC_LINK'	=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 't='.$row['topic_id']),
		'MY_ATTACH_LINK'	=> append_sid("{$phpbb_root_path}download/file.$phpEx", 'id='.$attach_id),
		'MY_FORUM_NAME'	=> $row['forum_name'],
		'MY_TOPIC_AUTHOR'	=> $row['topic_first_poster_name'],
		'MY_ATTACH_ID' 	=> $attach_id
		));
}
$db->sql_freeresult($result);

// Dump out the page header and load template
page_header($user->lang['VIEW_FORUM'] . $forum_name);

$template->set_filenames(array(
	'body' => 'user_lastpic.html')
);
page_footer();
?>

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Inserire una MOD nel file index.php

Messaggio da Carlo » 07/01/2010, 16:35

bingo ha scritto:Una cosa, è normale che per ogni variazione sul template debba andare nel PCA ad aggiornare il template ?
Con CONTRO-F5 non si aggiorna.
Devi semplicemente svuotare la cache, perchè con questo sistema di caching, phpBB può velocizzare il processo di generazone delle pagine.

Comunque ti avevo chiesto di allegarmi anche il tuo index.php, poichè non possiedo tale file per la tua versione...
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

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: Inserire una MOD nel file index.php

Messaggio da Micogian » 07/01/2010, 16:50

Ecco il file index.php
Non farci caso ai codici SEO che ci sono all'interno. Era una mod installata dal vecchio Amministratore. Aspetto di fare l'aggiornamento alla 3.0.6 ed eliminarla, devo però controllare che non ci siano altre cose.

Codice: Seleziona tutto

<?php
/**
*
* @package phpBB3
* @version $Id: index.php 8638 2008-06-09 17:11:26Z acydburn $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
*/

/**
* @ignore
*/
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);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');
// www.phpBB-SEO.com SEO TOOLKIT BEGIN -> Zero dupe
$seo_mark = request_var('mark', '');
$keep_mark = in_array($seo_mark, array('topics', 'forums', 'all')) ? (boolean) ($user->data['is_registered'] || $config['load_anon_lastread']) : false;
$phpbb_seo->seo_opt['zero_dupe']['redir_def'] = array(
	'mark' => array('val' => $seo_mark, 'keep' => $keep_mark),
);
if ( !$phpbb_seo->seo_opt['zero_dupe']['strict'] ) { // strict mode is here a bit faster
	if ( !empty($phpbb_seo->seo_static['index']) ) {
		$phpbb_seo->set_cond( (boolean) (utf8_strpos($phpbb_seo->seo_path['uri'], $phpbb_seo->seo_static['index']) === false), 'do_redir', (empty($_GET) || (!empty($seo_mark) && !$keep_mark)));
	} else {
		$phpbb_seo->set_cond( (boolean) (utf8_strpos($phpbb_seo->seo_path['uri'], "index.$phpEx") !== false), 'do_redir', (empty($_GET) || (!empty($seo_mark) && !$keep_mark)));
	}
}
$phpbb_seo->seo_chk_dupe();
// www.phpBB-SEO.com SEO TOOLKIT END -> Zero dupe
display_forums('', $config['load_moderators']);

// Set some stats, get posts count from forums data if we... hum... retrieve all forums data
$total_posts	= $config['num_posts'];
$total_topics	= $config['num_topics'];
$total_users	= $config['num_users'];

$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';
$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';
$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';

// Grab group details for legend display
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
{
	$sql = 'SELECT group_id, group_name, group_colour, group_type
		FROM ' . GROUPS_TABLE . '
		WHERE group_legend = 1
		ORDER BY group_name ASC';
}
else
{
	$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type
		FROM ' . GROUPS_TABLE . ' g
		LEFT JOIN ' . USER_GROUP_TABLE . ' ug
			ON (
				g.group_id = ug.group_id
				AND ug.user_id = ' . $user->data['user_id'] . '
				AND ug.user_pending = 0
			)
		WHERE g.group_legend = 1
			AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
		ORDER BY g.group_name ASC';
}
$result = $db->sql_query($sql);

$legend = '';
while ($row = $db->sql_fetchrow($result))
{
	$colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : '';

	if ($row['group_name'] == 'BOTS')
	{
		$legend .= (($legend != '') ? ', ' : '') . '<span' . $colour_text . '>' . $user->lang['G_BOTS'] . '</span>';
	}
	else
	{
		// www.phpBB-SEO.com SEO TOOLKIT BEGIN
		if ( $phpbb_seo->seo_opt['profile_inj'] && empty($phpbb_seo->seo_url['group'][$row['group_id']]) ) {
			$phpbb_seo->seo_url['group'][$row['group_id']] = $phpbb_seo->format_url($row['group_name'], $phpbb_seo->seo_static['group']);
		}
		// www.phpBB-SEO.com SEO TOOLKIT END
		$legend .= (($legend != '') ? ', ' : '') . '<a' . $colour_text . ' href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']) . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</a>';
	}
}
$db->sql_freeresult($result);

// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'] && $config['allow_birthdays'])
{
	$now = getdate(time() + $user->timezone + $user->dst - date('Z'));
	$sql = 'SELECT user_id, username, user_colour, user_birthday
		FROM ' . USERS_TABLE . "
		WHERE user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
			AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
		$birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);

		if ($age = (int) substr($row['user_birthday'], -4))
		{
			$birthday_list .= ' (' . ($now['year'] - $age) . ')';
		}
	}
	$db->sql_freeresult($result);
}

// Assign index specific vars
$template->assign_vars(array(
	'TOTAL_POSTS'	=> sprintf($user->lang[$l_total_post_s], $total_posts),
	'TOTAL_TOPICS'	=> sprintf($user->lang[$l_total_topic_s], $total_topics),
	'TOTAL_USERS'	=> sprintf($user->lang[$l_total_user_s], $total_users),
	'NEWEST_USER'	=> sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),

	'LEGEND'		=> $legend,
	'BIRTHDAY_LIST'	=> $birthday_list,

	'FORUM_IMG'				=> $user->img('forum_read', 'NO_NEW_POSTS'),
	'FORUM_NEW_IMG'			=> $user->img('forum_unread', 'NEW_POSTS'),
	'FORUM_LOCKED_IMG'		=> $user->img('forum_read_locked', 'NO_NEW_POSTS_LOCKED'),
	'FORUM_NEW_LOCKED_IMG'	=> $user->img('forum_unread_locked', 'NO_NEW_POSTS_LOCKED'),

	'S_LOGIN_ACTION'			=> append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login'),
	'S_DISPLAY_BIRTHDAY_LIST'	=> ($config['load_birthdays']) ? true : false,

	'U_MARK_FORUMS'		=> ($user->data['is_registered'] || $config['load_anon_lastread']) ? append_sid("{$phpbb_root_path}index.$phpEx", 'mark=forums') : '',
	'U_MCP'				=> ($auth->acl_get('m_') || $auth->acl_getf_global('m_')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&mode=front', true, $user->session_id) : '')
);

// Output page
// www.phpBB-SEO.com SEO TOOLKIT BEGIN - META
$seo_meta->meta['meta_desc'] = $seo_meta->meta_filter_txt($config['sitename'] . ' : ' .  $config['site_desc']);
$seo_meta->meta['keywords'] = $seo_meta->make_keywords($seo_meta->meta['meta_desc']);
// www.phpBB-SEO.com SEO TOOLKIT END - META
page_header($user->lang['INDEX']);

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

page_footer();

?>
Il file index_body.html è il seguente:

Codice: Seleziona tutto

<!-- INCLUDE overall_header.html -->

<!-- IF U_MCP -->
	<div id="pageheader">
		<p class="linkmcp">[ <a href="{U_MCP}">{L_MCP}</a> ]</p>
	</div>

	<br clear="all" /><br />
<!-- ENDIF -->

<!-- INCLUDE forumlist_body.html -->

<span class="gensmall"><!-- IF not S_IS_BOT --><a href="{U_DELETE_COOKIES}">{L_DELETE_COOKIES}</a> | <!-- ENDIF --><a href="{U_TEAM}">{L_THE_TEAM}</a></span><br />

<br clear="all" />

<!-- INCLUDE breadcrumbs.html -->

<!-- IF S_DISPLAY_ONLINE_LIST -->
	<br clear="all" />

    {$CA_BLOCK_START}
	<table class="tablebg" width="100%" cellspacing="{$CA_SPACING}">
	{$CA_CAP_START}<!-- IF U_VIEWONLINE --><a href="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</a><!-- ELSE -->{L_WHO_IS_ONLINE}<!-- ENDIF -->{$CA_CAP_END}
	<tr>
	<!-- IF LEGEND -->
		<td class="row1" rowspan="2" align="center" valign="middle"><img src="{T_THEME_PATH}/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
	<!-- ELSE -->
		<td class="row1" align="center" valign="middle"><img src="{T_THEME_PATH}/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
	<!-- ENDIF -->
		<td class="row1" width="100%"><span class="genmed">{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<br />{RECORD_USERS}<br /><br />{LOGGED_IN_USER_LIST}</span></td>
	</tr>
	<!-- IF LEGEND -->
		<tr>
			<td class="row1 nobold"><b class="gensmall">{L_LEGEND} :: {LEGEND}</b></td>
		</tr>
	<!-- ENDIF -->
	</table>
	{$CA_BLOCK_END}
<!-- ENDIF -->

<!-- IF S_DISPLAY_BIRTHDAY_LIST && BIRTHDAY_LIST -->
	<br clear="all" />
    
    {$CA_BLOCK_START}
	<table class="tablebg" width="100%" cellspacing="{$CA_SPACING}">
	{$CA_CAP_START}{L_BIRTHDAYS}{$CA_CAP_END}
	<tr>
		<td class="row1" align="center" valign="middle"><img src="{T_THEME_PATH}/images/birthday.gif" alt="{L_BIRTHDAYS}" /></td>
		<td class="row1 nobold" width="100%"><p class="genmed"><!-- IF BIRTHDAY_LIST -->{L_CONGRATULATIONS}: <b>{BIRTHDAY_LIST}</b><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF --></p></td>
	</tr>
	</table>
	{$CA_BLOCK_END}
<!-- ENDIF -->

<br clear="all" />

{$CA_BLOCK_START}
<table class="tablebg" width="100%" cellspacing="{$CA_SPACING}">
{$CA_CAP_START}{L_STATISTICS}{$CA_CAP_END}
<tr>
	<td class="row1"><img src="{T_THEME_PATH}/images/stats.gif" alt="{L_STATISTICS}" /></td>
	<td class="row1 nobold" width="100%" valign="middle"><p class="genmed">{TOTAL_POSTS} | {TOTAL_TOPICS} | {TOTAL_USERS} | {NEWEST_USER}</p></td>
</tr>
</table>
{$CA_BLOCK_END}

<!-- IF not S_USER_LOGGED_IN -->
	<br clear="all" />

	<form method="post" action="{S_LOGIN_ACTION}">
	
	{$CA_BLOCK_START}
	<table class="tablebg" width="100%" cellspacing="{$CA_SPACING}">
	{$CA_CAP_START}<a href="{U_LOGIN_LOGOUT}">{L_LOGIN_LOGOUT}</a>{$CA_CAP_END}
	<tr>
		<td class="row1" align="center"><span class="genmed">{L_USERNAME}:</span> <input class="post" type="text" name="username" size="10" />&nbsp; <span class="genmed">{L_PASSWORD}:</span> <input class="post" type="password" name="password" size="10" />&nbsp; <!-- IF S_AUTOLOGIN_ENABLED --><span class="gensmall">{L_LOG_ME_IN}</span> <input type="checkbox" class="radio" name="autologin" />&nbsp;<!-- ENDIF --> <input type="submit" class="btnmain" name="login" value="{L_LOGIN}" /></td>
	</tr>
	</table>
	{$CA_BLOCK_END}
	{S_FORM_TOKEN}
	</form>
<!-- ENDIF -->

<br clear="all" />

<table class="legend">
<tr>
	<td width="20" align="center">{FORUM_NEW_IMG}</td>
	<td><span class="gensmall">{L_NEW_POSTS}</span></td>
	<td>&nbsp;&nbsp;</td>
	<td width="20" align="center">{FORUM_IMG}</td>
	<td><span class="gensmall">{L_NO_NEW_POSTS}</span></td>
	<td>&nbsp;&nbsp;</td>
	<td width="20" align="center">{FORUM_LOCKED_IMG}</td>
	<td><span class="gensmall">{L_FORUM_LOCKED}</span></td>
</tr>
</table>

<!-- INCLUDE overall_footer.html -->

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: Inserire una MOD nel file index.php

Messaggio da Carlo » 07/01/2010, 17:07

Allora, ti stò sistemando un pò il codice, e sto eliminando il superfluo.

Ho notato che aggiungi due variabili a template, ma in quest'ultimo non usi. Quindi, sono superflui?

Codice: Seleziona tutto

$template->assign_var('FORUM_NAME', $forum_name);    
$template->assign_var('U_VIEWFORUM',append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id)); 
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Rispondi

Torna a “Supporto MODs”

Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti