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

Rilevamento browser

Cerchi una MOD? Chiedi in questo forum.
Questa sezione è supportata dagli utenti del forum, pertanto lo Staff potrebbe non eseguire tali richieste.
Avatar utente
lenders
phpBB Expert
phpBB Expert
Messaggi: 713
Iscritto il: 22/06/2010, 14:28
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
Database: MySQL(i) 5.1.49-community-log
Località: Napoli
Contatta:

Rilevamento browser

Messaggio da lenders » 07/11/2011, 15:56

C'è una mod che permette che quando un utente usa IE,Opera,chrome o altri browser che gli esce una scritta che gli avvisa che il forum è solo ottimizzato per firefox?Io sono riuscito a fare una cosa cosi solo per IE:

http://i39.tinypic.com/nfo0g4.jpg

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: Rilevamento browser

Messaggio da Micogian » 07/11/2011, 16:09

Basta una semplice ricerca su Google "individuare browser".
Ho trovato questo:

Codice: Seleziona tutto

function GetBrowser(){
    $browser = array("Internet Explorer" => "MSIE",
             "FireFox" => "Firefox",
             "Lynx" => "Lynx",
             "Opera" => "Opera",
             "WebTV" => "WebTV",
             "Konqueror" => "Konqueror",
             "Bot" => "bot|Google|slurp|scooter|spider|infoseek",
             "Netscape" => "Nav|Gold|x11|Netscape",
            );
    
    foreach($browser as $chiave => $valore){
        if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
            return $chiave;
        }
    }

    return "Altro";
}    

echo GetBrowser();

Avatar utente
lenders
phpBB Expert
phpBB Expert
Messaggi: 713
Iscritto il: 22/06/2010, 14:28
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
Database: MySQL(i) 5.1.49-community-log
Località: Napoli
Contatta:

Re: Rilevamento browser

Messaggio da lenders » 07/11/2011, 16:14

Illuminami,come funziona?Io ho usato un code cosi:

Codice: Seleziona tutto

<!--[if lte IE 9]>contenuto<![endif]-->

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: Rilevamento browser

Messaggio da Micogian » 07/11/2011, 16:38

Qui stiamo parlando di PHP.
Fai un semplice file, ad esempio "browser.php" e ci metti il codice postato (mancano i tag)

Codice: Seleziona tutto

<?php
function GetBrowser(){
    $browser = array("Internet Explorer" => "MSIE",
             "FireFox" => "Firefox",
             "Lynx" => "Lynx",
             "Opera" => "Opera",
             "WebTV" => "WebTV",
             "Konqueror" => "Konqueror",
             "Bot" => "bot|Google|slurp|scooter|spider|infoseek",
             "Netscape" => "Nav|Gold|x11|Netscape",
            );
   
    foreach($browser as $chiave => $valore){
        if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
            return $chiave;
        }
    }

    return "Altro";
}   

echo GetBrowser();
?>
Se lanci l'url browser.php avrai come risultato il tuo browser.
Ora si tratta di renderlo utilizzabile dal template.
Inserisci la function da qualche parte, es. il file functions.php oppure in index.php, visto che dovrebbe controllare quando apri l'indice.
Si potrebbe anche lasciare come file esterno e nell'index inserire la riga

Codice: Seleziona tutto

include($phpbb_root_path . 'browser.' . $phpEx);
Devi togliere però la riga echo GetBrowser(); e sostituirla con

Codice: Seleziona tutto

$template->assign_var(array('BROWSER_COR', GetBrowser()));
Nel template usi la variabile BROWSER_COR:

Codice: Seleziona tutto

<!-- IF BROWSER_COR <> 'FireFox' -->Messaggio<!-- ENDIF -->
Così, a spanne.

Avatar utente
lenders
phpBB Expert
phpBB Expert
Messaggi: 713
Iscritto il: 22/06/2010, 14:28
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
Database: MySQL(i) 5.1.49-community-log
Località: Napoli
Contatta:

Re: Rilevamento browser

Messaggio da lenders » 07/11/2011, 16:53

Ho inserito questo

Codice: Seleziona tutto

    include($phpbb_root_path . 'browser.' . $phpEx);
sotto a:

Codice: Seleziona tutto

include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
Ma mi da l'errore

Codice: Seleziona tutto

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ')' in C:\xampp\htdocs\graphicforum\browser.php on line 22

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: Rilevamento browser

Messaggio da Micogian » 07/11/2011, 17:18

Dovrebbe andare così:

Codice: Seleziona tutto

<?php
function GetBrowser()
{
	$browser = array(
		"Internet Explorer" => "MSIE",
		"FireFox" => "Firefox",
		"Lynx" => "Lynx",
		"Opera" => "Opera",
		"WebTV" => "WebTV",
		"Konqueror" => "Konqueror",
		"Bot" => "bot|Google|slurp|scooter|spider|infoseek",
		"Netscape" => "Nav|Gold|x11|Netscape",
		);
       
	foreach($browser as $chiave => $valore)
	{
		if(eregi($valore, $_SERVER["HTTP_USER_AGENT"])){
		return $chiave;
		}
	}
	return "Altro";
	}   
$template->assign_var(array('BROWSER_COR', GetBrowser()));
?>
L'unico dubbio è la posizione, eventualmente sposta l'include in fondo, prima di // Output page

Avatar utente
lenders
phpBB Expert
phpBB Expert
Messaggi: 713
Iscritto il: 22/06/2010, 14:28
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
Database: MySQL(i) 5.1.49-community-log
Località: Napoli
Contatta:

Re: Rilevamento browser

Messaggio da lenders » 07/11/2011, 17:26

Questo si è risolto,adesso resta il fatto che quando inserisco il code nel template me lo visualizza su tutti i browser e non solo quello che ho scelto,ad esempio opera:

Codice: Seleziona tutto

<!-- IF BROWSER_COR <> 'Opera' --><div style="text-align:center;"><div style="margin-bottom: 10px; background: #b2ccff; padding: 6px; height:auto; border: 2px solid #80aaff; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px;"><span style="font-size: 150%; line-height: 116%;"><span style="font-family:Arial Black;">
<img width="48" height="48" alt="" style="float:left; padding-right:10px;" src="./images/ie.png">	
Attenzione!<br />Rilevato uso di Internet Explorer,al momento vi sono problemi che impedicono il corretto funzionamento del forum.<br />Si raccomanda per un uso fluido e senza problemi di usare <a href="http://www.mozilla.org/it/firefox/new/" target="_new"><span style="color:blue;">Mozilla Firefox</a></span>.
</span></a>.</span></span></div></div><!-- ENDIF -->

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: Rilevamento browser

Messaggio da Micogian » 07/11/2011, 17:35

Ma guarda che "<>" vuol dire "diverso da..."

Codice: Seleziona tutto

<!-- IF BROWSER_COR <> 'Opera' -->
Infatti io avevo inserito

Codice: Seleziona tutto

<!-- IF BROWSER_COR <> 'FireFox' -->
che stava a significare "se hai un browser diverso da Firefox ...."
Per mettere "uguale a" devi fare così:

Codice: Seleziona tutto

<!-- IF BROWSER_COR == 'Opera' -->

Avatar utente
lenders
phpBB Expert
phpBB Expert
Messaggi: 713
Iscritto il: 22/06/2010, 14:28
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
Database: MySQL(i) 5.1.49-community-log
Località: Napoli
Contatta:

Re: Rilevamento browser

Messaggio da lenders » 07/11/2011, 17:57

Allora sono io che non ho capito na mazza.Io per farlo visualizzare solo su IE ho usato questo code:

Codice: Seleziona tutto

<!-- IF BROWSER_COR == 'Internet Explorer' -->
Mentre se adesso voglio farlo visualizzare solo su opera ho usato questo code:

Codice: Seleziona tutto

<!-- IF BROWSER_COR == 'Opera'  -->
E non me lo visualizza perchè?

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: Rilevamento browser

Messaggio da Micogian » 07/11/2011, 23:11

A parte che da come avevi posto il problema sembrava che il Browser corretto fosse Firefox, quindi la cosa più semplice da fare era quella di visualizzare il messaggio a tutti quelli che non hanno Firefox.
Se usi il primo codice che ho postato, quello con l'echo, ti fornisce il nome del tuo browser.
Cambia Browser e vedi cosa ti ritorna. Mi sembra elementare.
E ricordati anche che la function fornisce il nome solo ai browser indicati, altrimenti ritorna "Altri".

Rispondi

Torna a “Richiesta MOD”

Chi c’è in linea

Visitano il forum: Nessuno e 58 ospiti