Reindirizzare gli utenti ad un nuovo annuncio

Area dedicata a tutte le MODs per phpBB 3.0.X
Rispondi
Avatar utente
alex75
Amministratore
Amministratore
Messaggi: 6146
Iscritto il: 23/08/2012, 23:45
Link del Forum: www.phpbb-italia.it
Località: Palermo

Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da alex75 »

Titolo originale: Announcement Redirect on Login
Autore: MarkTheDaemon
versione di phpbb: phpbb 3.0.11
Traduzione italiana: Si By alex75
Difficoltà: bassa 5 minuti

Al login reindirizza gli utenti ad un nuovo annuncio.
Configurabile da pca.
Se l'utente ha già letto l'annuncio, procederà normalmente verso l'home page.
reindirizza su annuncio.jpg
File da modificare:

Apri: includes/functions.php

Trova

Codice: Seleziona tutto

$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
Sostituisci con

Codice: Seleziona tutto

if (!empty($config['announce_redir_topic_id']) && $config['announce_redir_topic'] == true)
			{
				$sql = 'SELECT topic_id, topic_time
					FROM ' . TOPICS_TABLE . '
					WHERE topic_id = ' . $config['announce_redir_topic_id'];
				$result = $db->sql_query($sql);
				$row = $db->sql_fetchrow($result);
				$db->sql_freeresult($result);
				
				if ($user->data['user_lastvisit'] < $row['topic_time'])
				{
					$redirect = "{$phpbb_root_path}viewtopic.$phpEx?t=" . $config['announce_redir_topic_id'];
					$message = ($l_success) ? $l_success : $user->lang['LOGIN_ANNOUNCE_REDIRECT_TOPIC'];
					$l_redirect = $user->lang['RETURN_ANNOUNCE_REDIRECT_TOPIC'];
				}
				else
				{
					$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
					$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
					$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
				}
			}
			
			else
			{
				$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
				$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
				$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
			}

Apri: includes/acp/acp_board.php

Trova

Codice: Seleziona tutto

'allow_quick_reply'		=> array('lang' => 'ALLOW_QUICK_REPLY',		'validate' => 'bool',	'type' => 'custom', 'method' => 'quick_reply', 'explain' => true),
Aggiungi dopo

Codice: Seleziona tutto

'announce_redir_topic'   => array('lang' => 'ANNOUNCE_REDIR_TOPIC',   'validate' => 'bool',   'type' => 'radio:yes_no', 'explain' => true),
						'announce_redir_topic_id'      => array('lang' => 'ANNOUNCE_REDIR_TOPIC_ID',            'validate' => 'int:0',   'type' => 'text:4:8', 'explain' => true),


Apri: language/it/ucp.php

Trova

Codice: Seleziona tutto

'NO_NONMEMBER'	=> 'Nessun gruppo non iscritto',
Aggiungi dopo

Codice: Seleziona tutto

'LOGIN_ANNOUNCE_REDIRECT_TOPIC'         => 'Autenticazione avvenuta correttamente. L’amministratore del forum ha pubblicato un nuovo annuncio dalla tua ultima visita, verrai adesso reindirizzato.',
	'RETURN_ANNOUNCE_REDIRECT_TOPIC'		=> '%sVai all’annuncio%s',


Apri: language/it/acp/board.php

Trova

Codice: Seleziona tutto

'JAB_USERNAME_EXPLAIN'		=> 'Inserisci un nome utente registrato o un JID valido. Il nome utente non sarà controllato per vedere se è valido. Se inserisci un nome utente allora il JID sarà il nome utente e il server che hai inserito prima. In alternativa inserisci un JID valido, ad esempio user@jabber.org.',
));
Aggiungi dopo

Codice: Seleziona tutto

// Announcement Redirect on Login
$lang = array_merge($lang, array(
   'ANNOUNCE_REDIR_TOPIC'            => 'Announcement Redirect on Login',
   'ANNOUNCE_REDIR_TOPIC_EXPLAIN'            => 'Reindirizzare tutti gli utenti al nuovo annuncio pubblicato.',
   'ANNOUNCE_REDIR_TOPIC_ID'            => 'Topic ID al quale reindirizzare gli utenti al login',
   'ANNOUNCE_REDIR_TOPIC_ID_EXPLAIN'            => 'Inserisci l’ID dell’annuncio dove si desidera reindirizzare gli utenti. la data del post viene confrontata con la data dell’ultimo accesso dell’utente. Nel caso l’utente abbia già letto l’annuncio, procederà come di consueto alla pagina indice.',
   ));

Apri: language/en/ucp.php
Trova

Codice: Seleziona tutto

'NO_NONMEMBER'	=> 'No non-member groups',
Aggiungi dopo

Codice: Seleziona tutto

'LOGIN_ANNOUNCE_REDIRECT_TOPIC'         => 'You have been successfully logged in. The board administrator has posted a new announcement since your last visit which you will be redirected to.',
	'RETURN_ANNOUNCE_REDIRECT_TOPIC'		=> '%sProceed to announcement topic%s',

Apri: language/en/acp/board.php
Trova

Codice: Seleziona tutto

'JAB_USERNAME_EXPLAIN'		=> 'Specify a registered username or a valid JID. The username will not be checked for validity. If you only specify a username, then your JID will be the username and the server you specified above. Else, specify a valid JID, for example user@jabber.org.',
));
Aggiungi dopo

Codice: Seleziona tutto

// Announcement Redirect on Login
$lang = array_merge($lang, array(
   'ANNOUNCE_REDIR_TOPIC'            => 'Announcement Redirect on Login',
   'ANNOUNCE_REDIR_TOPIC_EXPLAIN'            => 'Redirect all users who haven\'t logged in since an announcement was posted.',
   'ANNOUNCE_REDIR_TOPIC_ID'            => 'Announcement Redirect on Login Topic ID',
   'ANNOUNCE_REDIR_TOPIC_ID_EXPLAIN'            => 'Enter the ID of the topic you wish to redirect users to. The time of the post is compared with the time that the user last logged in, if the user hasn\'t logged in since the topic was posted they are redirected otherwise the user proceeds as normal to the index page.',
   ));
andare sul pca svuotare la cache. Fine della mod

Per attivare e/o configurare la mod, andare sul pca/generale/caratteristiche/Announcement Redirect on Login e inserire l'id dell'annuncio al quale vorrete reindirizzare gli utenti.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Regolamento Forum
Le nostre guide
Se l'assistenza prestata è stata di tuo gradimento potrai contribuire aiutandoci a sostenere le spese affrontate per tenere in vita questo forum >Cliccando sul seguente Link<
Avatar utente
davidiust
Nuovo Utente
Nuovo Utente
Messaggi: 13
Iscritto il: 24/01/2013, 12:48
Link del Forum:

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da davidiust »

Sembra molto utile! Una domanda: nel caso di utenti che non entrano nel forum da mesi, tempo nel quale gli annunci "obbligatoriamente da leggere" sono diventati più di uno, a quale vengono reindirizzati? in sequenza a tutti quelli che non hanno letto oppure solo all'ultimo?
Avatar utente
alex75
Amministratore
Amministratore
Messaggi: 6146
Iscritto il: 23/08/2012, 23:45
Link del Forum: www.phpbb-italia.it
Località: Palermo

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da alex75 »

Il topic dove reindirizzare gli utenti è solo 1, ed è da configurare sul pca come da screenshot
Regolamento Forum
Le nostre guide
Se l'assistenza prestata è stata di tuo gradimento potrai contribuire aiutandoci a sostenere le spese affrontate per tenere in vita questo forum >Cliccando sul seguente Link<
Avatar utente
lurapag
Utente
Utente
Messaggi: 277
Iscritto il: 07/05/2013, 13:21
Link del Forum: www.chevroletcaptivaforum.it
Località: Milano

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da lurapag »

Riprendo questa discussione informandovi che se installo la versione in inglese funziona, ma questa in italiano mi genera una pagina bianca.
Dove sbaglio?
Grazie.
Avatar utente
alex75
Amministratore
Amministratore
Messaggi: 6146
Iscritto il: 23/08/2012, 23:45
Link del Forum: www.phpbb-italia.it
Località: Palermo

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da alex75 »

Prova ad aggiungere anche le informazioni per la lingua inglese:

Apri: language/en/ucp.php
Trova

Codice: Seleziona tutto

'NO_NONMEMBER'	=> 'No non-member groups',
Aggiungi dopo

Codice: Seleziona tutto

'LOGIN_ANNOUNCE_REDIRECT_TOPIC'         => 'You have been successfully logged in. The board administrator has posted a new announcement since your last visit which you will be redirected to.',
	'RETURN_ANNOUNCE_REDIRECT_TOPIC'		=> '%sProceed to announcement topic%s',

Apri: language/en/acp/board.php
Trova

Codice: Seleziona tutto

'JAB_USERNAME_EXPLAIN'		=> 'Specify a registered username or a valid JID. The username will not be checked for validity. If you only specify a username, then your JID will be the username and the server you specified above. Else, specify a valid JID, for example user@jabber.org.',
));
Aggiungi dopo

Codice: Seleziona tutto

// Announcement Redirect on Login
$lang = array_merge($lang, array(
   'ANNOUNCE_REDIR_TOPIC'            => 'Announcement Redirect on Login',
   'ANNOUNCE_REDIR_TOPIC_EXPLAIN'            => 'Redirect all users who haven\'t logged in since an announcement was posted.',
   'ANNOUNCE_REDIR_TOPIC_ID'            => 'Announcement Redirect on Login Topic ID',
   'ANNOUNCE_REDIR_TOPIC_ID_EXPLAIN'            => 'Enter the ID of the topic you wish to redirect users to. The time of the post is compared with the time that the user last logged in, if the user hasn\'t logged in since the topic was posted they are redirected otherwise the user proceeds as normal to the index page.',
   ));
Regolamento Forum
Le nostre guide
Se l'assistenza prestata è stata di tuo gradimento potrai contribuire aiutandoci a sostenere le spese affrontate per tenere in vita questo forum >Cliccando sul seguente Link<
Avatar utente
lurapag
Utente
Utente
Messaggi: 277
Iscritto il: 07/05/2013, 13:21
Link del Forum: www.chevroletcaptivaforum.it
Località: Milano

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da lurapag »

Sei un grande!
Ora funziona tutto bene....
Grazie mille.
Avatar utente
lurapag
Utente
Utente
Messaggi: 277
Iscritto il: 07/05/2013, 13:21
Link del Forum: www.chevroletcaptivaforum.it
Località: Milano

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da lurapag »

Ciao,
ho notato due cosette, in pratica se ti colleghi usando Tapatalk l'annuncio non lo vedi e accedi direttamente al forum, poi questa funzione non vale per l'admin (io) e per i moderatori.
Come posso risolvere la cosa?

Grazie come sempre per il vostro aiuto e suggerimenti.

Luigi.
Avatar utente
alex75
Amministratore
Amministratore
Messaggi: 6146
Iscritto il: 23/08/2012, 23:45
Link del Forum: www.phpbb-italia.it
Località: Palermo

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da alex75 »

Queste sono domande che dovresti rivolgere all'autore della mod (io come specificato sul primo post l'ho soltanto tradotta).
Per via generale posso risponderti che:
- tapatalk ha un suo style che fa riferimento a suoi file php e comunque potrebbe non esserne stato previsto l'uso dall'autore?
- l'admin che non sia obbligatoriamente reinviato ad un annuncio pubblicato da se stesso, mi sembrerebbe quasi scontato...
- per i moderatori (lo staff) credo che non sia stato previsto perchè lo staff solitamente sa e/o concerta ancor prima della pubblicazione agli utenti un certo avviso e/o comunque lo staff sarà sempre e comunque composto mediamente da una decina di persone da poter avvisare tramite messaggio inviato ad un solo gruppo...
Le mie sono soltanto personalissime supposizioni, ma credo che di massima potrebbero essere queste le motivazioni...
Regolamento Forum
Le nostre guide
Se l'assistenza prestata è stata di tuo gradimento potrai contribuire aiutandoci a sostenere le spese affrontate per tenere in vita questo forum >Cliccando sul seguente Link<
Avatar utente
lurapag
Utente
Utente
Messaggi: 277
Iscritto il: 07/05/2013, 13:21
Link del Forum: www.chevroletcaptivaforum.it
Località: Milano

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da lurapag »

Perfetto, grazie per la spiegazione.
Avatar utente
alefalcon
Utente
Utente
Messaggi: 79
Iscritto il: 19/02/2018, 7:54
Link del Forum: https://forum.grnet.it

Re: Reindirizzare gli utenti ad un nuovo annuncio

Messaggio da alefalcon »

Buongiorno, vorrei sapere se la mod funziona anche sulla versione 3.0.9

Grazie.
Rispondi