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

ridimensionare gli avatar automaticamente

Supporto stili in 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:

Re: ridimensionare gli avatar automaticamente

Messaggio da Micogian » 26/01/2010, 20:28

Nel template la variabile è già stabilita con {postrow.POSTER_AVATAR} quindi va cercata prima, in viewtopic.php

Dovrebbe essere questa:

Codice: Seleziona tutto

'avatar'		=> ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',
Basterebbe inserire il valore fisso "175" al posto di $row['user_avatar_width'] e togliere $row['user_avatar_height']

Il problema si ha quando l'avatar è più piccolo, allora conviene fare un "if"

Codice: Seleziona tutto

if ($row['user_avatar_width'] < '176'){
'avatar'		=> ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',
}else{
'avatar'		=> ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175',' ($row['user_avatar_height'] * '175' /  $row['user_avatar_width'])) : '',
}
In pratica, se l'avatar è più stretto di 175 pixel lascia le cose come stanno, altrimenti metti la larghezza a 175 px e l'altezza attraverso il calcolo; new_height = height * 175 / width

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: ridimensionare gli avatar automaticamente

Messaggio da Carlo » 26/01/2010, 20:39

Bingo, in questo caso:

Codice: Seleziona tutto

if ($row['user_avatar_width'] < '176')
non serve mettere le virgolette al numero, poichè non è una stringa, ma un numero INT (integer).
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: ridimensionare gli avatar automaticamente

Messaggio da Micogian » 26/01/2010, 20:50

carlino1994 ha scritto:Bingo, in questo caso:

Codice: Seleziona tutto

if ($row['user_avatar_width'] < '176')
non serve mettere le virgolette al numero, poichè non è una stringa, ma un numero INT (integer).
Beh, io sono un programmatore dilettante, :mrgreen:

Avatar utente
xX_Simon_Xx
Utente Pro
Utente Pro
Messaggi: 637
Iscritto il: 25/11/2009, 15:36
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL(i) 5.1.34
Contatta:

Re: ridimensionare gli avatar automaticamente

Messaggio da xX_Simon_Xx » 26/01/2010, 20:56

quindi al posto di

Codice: Seleziona tutto

'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',
inserisco:

Codice: Seleziona tutto

    if ($row['user_avatar_width'] < '176'){
    'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']) : '',
    }else{
    'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175',' ($row['user_avatar_height'] * '175' /  $row['user_avatar_width'])) : '',
    }
?????????????????

PS=
se io ad esempio inserisco.

Codice: Seleziona tutto

    'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175') : '',
vengono ridimensionate sia quelle più piccolo di 175 sia le + grandi?

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: ridimensionare gli avatar automaticamente

Messaggio da Micogian » 26/01/2010, 21:10

xX_Simon_Xx ha scritto: se io ad esempio inserisco.

Codice: Seleziona tutto

    'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175') : '',
vengono ridimensionate sia quelle più piccolo di 175 sia le + grandi?
Penso che non vada bene, la funzione get_user_avatar() chiede 4 valori: width, height, new_width, new_height, quindi il new_height bisogna inserirlo.
Il codice postato in precedenza va bene comunque, anche se un allargamento dell'avatar non sarebbe il massimo.

Codice: Seleziona tutto

'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175','($row['user_avatar_height'] * '175' /  $row['user_avatar_width']) : '',
Puoi anche fare così:

Codice: Seleziona tutto

$new_width = 175 ,
$new_height =  ($row['user_avatar_height'] * 175 /  $row['user_avatar_width']),
    'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $new_width,$new_height : '',

Avatar utente
xX_Simon_Xx
Utente Pro
Utente Pro
Messaggi: 637
Iscritto il: 25/11/2009, 15:36
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL(i) 5.1.34
Contatta:

Re: ridimensionare gli avatar automaticamente

Messaggio da xX_Simon_Xx » 27/01/2010, 14:31

se inserisco

Codice: Seleziona tutto

'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175',' ($row['user_avatar_height'] * '175' /  $row['user_avatar_width'])) : '',
mi da questo errore:
Parse error: syntax error, unexpected T_STRING in /membri/playstationuser/viewtopic.php on line 1025

dice infatti che c'è un errore nella riga 1025 (la riga dell' avatar) :cry: :cry:

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: ridimensionare gli avatar automaticamente

Messaggio da Carlo » 27/01/2010, 14:41

Sostituiscila con questa, perchè c'è una parentesi di chiusura di troppo.

Codice: Seleziona tutto

'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], '175',' ($row['user_avatar_height'] * '175' /  $row['user_avatar_width']) : '',
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
xX_Simon_Xx
Utente Pro
Utente Pro
Messaggi: 637
Iscritto il: 25/11/2009, 15:36
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.2.13
Database: MySQL(i) 5.1.34
Contatta:

Re: ridimensionare gli avatar automaticamente

Messaggio da xX_Simon_Xx » 27/01/2010, 15:22

avevo gia notato la parentesi di troppo ma davo sempre errore

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: ridimensionare gli avatar automaticamente

Messaggio da Carlo » 27/01/2010, 15:29

Grazie per avermelo fatto notare, c'era un'altro errore, ovvero una virgoletta in più:

Codice: Seleziona tutto

'avatar'      => ($user->optionget('viewavatars')) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], 175, (($row['user_avatar_height'] * 175) /  $row['user_avatar_width']) : '',
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: ridimensionare gli avatar automaticamente

Messaggio da Micogian » 27/01/2010, 18:00

Avete ragione, ho buttato lì il codice senza controllare e senza provare.
E poi, come giustamente mi ha fatto notare Carlo non servono le virgolette nei valori numerici.
Il principio però dovrebbe essere corretto.

Rispondi

Torna a “Supporto stili”

Chi c’è in linea

Visitano il forum: Nessuno e 35 ospiti