[phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

WEB, Hardware, Software e generali

Moderatore: MODERATORE

Rispondi
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

[phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

Nome della Modifica: Kill Extra quote Mod
Autore: Rombo di Tuono

Descrizione della Modifica: "Kill Extra Quote" Mod CANCELLA le citazioni che eccedono il limite fissato nel PCA dalla maschera (textarea) ove si posta il messaggio.
Versione della Modifica: 1.0 RC1

Requisiti: phpBB 3.0.x

Caratteristiche:
Come funziona:
Invece di impedire ad un utente di postare un messaggio con troppe citazioni nidificate all'interno, la modifica Kill Extra Quote cancella le citazioni in eccesso nel momento in cui l'utente preme il pulsante "QUOTE" ("CITA").
In questo modo l'utente troverà nell'area ove dovrà digitare il messaggio il corretto numero di citazioni nidificate, perchè la modifica avrà rimosso la più vecchia.

Seguono istruzioni e dimostrazione.

Eugy ROMBO di TUONO
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

Re: [phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

Istruzioni:

L'intera modifica è in tre passi
PASSO 1
APRIRE phpbb root/includes/function_posting.php

TROVARE

Codice: Seleziona tutto

?>
PRIMA-AGGIUNGERE

Codice: Seleziona tutto

// begin MOD Kill Extra Quote
function remove_quote($quoted_text, $max_quote_nest)
{
/*
$max_quote_nest is set in ACP, and passed to the funcion
*/
if ($max_quote_nest > 0) {
	// constants for begin and end tag quote
	$beginquote = "[quote=";
	$endquote = "[/quote";
	// better they have same lenght
	$ctrl_len = 7;
	$quote_to_kill = $max_quote_nest -1;
	$output = "";
	$purged_text = "";
	$nest_count = 0;
	$killing = false; // determines if that part of quoted text must be taken away

	for ($i = 0; $i<=strlen($quoted_text); $i++)
	{
	$char = substr($quoted_text, $i, 1);
		if ($char == "[")
		{
		$control = substr($quoted_text, $i, $ctrl_len);
		if ($control == $beginquote ) {
			$nest_count++;
			}
		if ($control == $endquote ) {
			$nest_count--;
			if ($killing) { // if you find an end quote while in 'killing mode' you CAN stripe it at this point
				$i = $i + $ctrl_len +1;
				$char = substr($quoted_text, $i, 1);
				}
			}
		if ($nest_count > $quote_to_kill ) {
			$killing = true;
		} else {
			$killing = false;
			}
		} // end of bracket check
	if (!$killing) {
		$output = $output . $char;
		}
	}
return $output;
} else {
return $quoted_text;
}
} // END MOD Kill Extra Quote

Eugy ROMBO di TUONO
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

Re: [phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

PASSO 2

APRIRE phpbb root/posting.php

TROVARE

Codice: Seleziona tutto

$message_parser->message = '[quote="' . $post_data['quote_username'] . '"]' . censor_text(trim($message_parser->message)) . "[/quote]\n";
SOSTITUIRE CON

Codice: Seleziona tutto

$message_parser->message = '[quote="' . $post_data['quote_username'] . '"]' . remove_quote(censor_text(trim($message_parser->message)), $config['max_quote_depth']) . "[/quote]\n";
PASSO 3

TROVARE (poche righe sotto)

Codice: Seleziona tutto

$message = censor_text(trim($message_parser->message));
SOSTITUIRE CON

Codice: Seleziona tutto

$message = remove_quote(censor_text(trim($message_parser->message)), $config['max_quote_depth']);

Eugy ROMBO di TUONO
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

Re: [phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

esempio testo 1
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

Re: [phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

Rombo di Tuono ha scritto:esempio testo 1
esempio 2
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

Re: [phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

Rombo di Tuono ha scritto:
Rombo di Tuono ha scritto:esempio testo 1
esempio 2
esempio 3

Il mio forum ammette DUE quote nidificati.

Quotando questo messaggio si vedrà sparire dall'area di scrittura messaggio il quote più interno, ovvero il "esempio testo 1"
Avatar utente
Rombo di Tuono
Site Admin
Messaggi: 7068
Iscritto il: 04 lug 2007, 18:07
Località: Seconda stella a DESTRA...
Contatta:

Re: [phpBB3 3.0.8 MOD] Kill Extra Quote (Italiano)

Messaggio da Rombo di Tuono »

Ecco cosa si vede quotando il messaggio soprastante:

Immagine

Come si vede è sparito il quote più interno
Rispondi