Anteprima Smiley uniforme

Forum misto con frammenti di codice
Rispondi
Avatar utente
Galandas
Staff phpBB3World
Staff phpBB3World
Messaggi: 792
Iscritto il: 4 nov 2012, 9:18
Località: phpbb3world
Contatta:

Anteprima Smiley uniforme

Messaggio da Galandas » 18 gen 2014, 23:22

Autore: Roger
Ho un sacco di faccine sulla mia Board e alcuni di loro sono troppo alti o troppo larghi. Nella finestra di anteprima degli smiley quando si invia un messaggio, un grande smiley e in grado di tagliare fuori molti altri.

Così ho fatto una semplice mod per scalare le faccine ad un'altezza uniforme di 36px 72px e larga (a meno che non sono più piccoli, quindi non sono toccati). Si noti che uno smiley inserito in un post viene visualizzato nella sua dimensione originale. Solo l'anteprima viene scalata per convenienza.

Per chiarire ... uno smiley, se è più alto di 36 pixel, verrà scalato. Se non è troppo alto, ma troppo larga (più larga 72 pixel), verrà scalato. Il fattore stesso scala viene applicato sia in altezza e larghezza in modo che il rapporto di aspetto del smiley non viene modificato (cioè, lo smiley non sia schiacciato orizzontalmente o verticalmente).

Ecco una demo del risultato ... riquadro a sinistra mostra la "scalata" Anteprima smiley. Il pannello di destra mostra le faccine nella loro dimensione normale (vedere quanto spazio in eccesso prendono!).
image.png

Apri "includes/functions_posting.php"

TROVA:

Codice: Seleziona tutto

if (sizeof($smilies))
	{
		$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_root_path;

		foreach ($smilies as $row)
		{
			$template->assign_block_vars('smiley', array(
				'SMILEY_CODE'	=> $row['code'],
				'A_SMILEY_CODE'	=> addslashes($row['code']),
				'SMILEY_IMG'	=> $root_path . $config['smilies_path'] . '/' . $row['smiley_url'],
				'SMILEY_WIDTH'	=> $row['smiley_width'],
				'SMILEY_HEIGHT'	=> $row['smiley_height'],
				'SMILEY_DESC'	=> $row['emotion'])
			);
		}
	}
SOSTITUIRE CON:

Codice: Seleziona tutto

if (sizeof($smilies))
	{
		$root_path = (defined('PHPBB_USE_BOARD_URL_PATH') && PHPBB_USE_BOARD_URL_PATH) ? generate_board_url() . '/' : $phpbb_root_path;

		/* edit these two lines if you wish */
		$max_smiley_width  = 72; /* smiley preview will be no wider than this */
		$max_smiley_height = 36; /* smiley preview will be no taller than this */

		foreach ($smilies as $row)
		{
			$width  = $row['smiley_width'];
			$height = $row['smiley_height'];

			$factor_w = ($width  > $max_smiley_width)  ? ($max_smiley_width  / $width)  : 1.0;
			$factor_h = ($height > $max_smiley_height) ? ($max_smiley_height / $height) : 1.0;

			$factor = ($factor_w < $factor_h) ? $factor_w : $factor_h;

			$template->assign_block_vars('smiley', array(
				'SMILEY_CODE'	=> $row['code'],
				'A_SMILEY_CODE'	=> addslashes($row['code']),
				'SMILEY_IMG'	=> $root_path . $config['smilies_path'] . '/' . $row['smiley_url'],
				'SMILEY_WIDTH'	=> intval(($row['smiley_width'] * $factor) + 0.5),
				'SMILEY_HEIGHT'	=> intval(($row['smiley_height'] * $factor) + 0.5),
				'SMILEY_DESC'	=> $row['emotion'],
			));
		}
	}
Buona fortuna! naturalmente, ASSICURARSI di eseguire il backup del file originale prima di modificarlo!

-- Roger
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Menu Forum ha scritto:

Avatar utente
salvocortesiano
Membro phpBB3World
Membro phpBB3World
Messaggi: 58
Iscritto il: 20 gen 2013, 9:22
Località: Firenze
Contatta:

Re: Anteprima Smiley uniforme

Messaggio da salvocortesiano » 19 gen 2014, 3:13

Bella li. Altra piccola ed utilissima modifica ma, soprattutto efficace e funzionale!
Grazie :D
Sono amico di tutti, ma alle condizioni di nessuno!

Rispondi

Torna a “Snippets”

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti