waarde voor deze instelling “E-mail handtekening” verlengen

Hulp nodig bij je installatie of kom je ergens niet uit? Probeer phpBB3! Problemen lossen we samen met je op.
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Forumregels
phpBB 3.0 is End of support per 1 januari 2017. Dit forum is hier enkel ter archief. Het wordt aangeraden te upgraden naar phpBB 3.2
Gesloten
Gebruikersavatar
David
Berichten: 5093
Lid geworden op: 15 jan 2007, 22:00
Locatie: Zeeuws-Vlaanderen
Contacteer:

waarde voor deze instelling “E-mail handtekening” verlengen

Bericht door David » 11 mar 2012, 22:39

Ik heb het support template verwijderd, het lijkt mij met deze vraag niet zo van belang. Ik was namelijk bezig met een tekst toevoegen als handtekening voor de mails die via mijn forum worden verstuurd. Daarin staat hoe ze zich kunnen afmelden voor de mails via mijn forum.

Nu is die tekst te lang, maar wel precies wat ik wil om 100% duidelijkheid te gen. Ik krijg onderstaande melding:
De opgegeven waarde voor deze instelling “E-mail handtekening” is te lang. De maximale acceptabele lengte is 255.
Waar staat die waarde? Ik wil hem verhogen als dat mogelijk is...

Mijn extra tekst is inclusief spaties: 432 tekens, weet niet hoe die 255 gerekend wordt?


Heb er meteen nog een vraag bij, dat gaat om deze optie:

"Beheerders mogen mij per e-mail informeren.:"

Geldt dat voor ALLE mails of zijn er uitzonderingen?

Bijvoorbeeld bij nieuw wachtwoord aanvragen of bij PM, of is deze optie echt alleen voor de massa mail?
Op zoek naar een vertaling voor je extensie? vertalingen

Gebruikersavatar
Pola
Berichten: 1495
Lid geworden op: 19 jan 2012, 14:40
Contacteer:

Re: waarde voor deze instelling “E-mail handtekening” verlen

Bericht door Pola » 12 mar 2012, 00:09

In de database tabel phpbb_config - waar de board_email_sig in opgeslagen is - is het veld config_value van het type VARCHAR(255). Per definitie kunnen dus geen langere teksten opgeslagen worden in de database.

De controle hierop vindt plaats in het bestand /adm/index.php, in de functie validate_config_vars:

Code: Selecteer alles

				$validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;
Als een nieuw wachtwoord aangevraagd wordt, zal de gebruiker een e-mail ontvangen, ook als Nee is ingevuld bij "Beheerders mogen mij per e-mail informeren.:". Die keuze geldt dus alleen voor Mass e-mail.
HGN op phpbb.com

Gebruikersavatar
David
Berichten: 5093
Lid geworden op: 15 jan 2007, 22:00
Locatie: Zeeuws-Vlaanderen
Contacteer:

Re: waarde voor deze instelling “E-mail handtekening” verlen

Bericht door David » 12 mar 2012, 10:58

Beste,

Ik ben even aan het rommelen geweest uiteraard op een test locatie waar de boel best eens verpest mag zijn :D

Ik heb al eens eerder problemen gehad met VARCHAR(255), bij een van mijn modificaties. Toen heb ik met een query en wat bestandswijzigingen de karakters kunnen verhogen. Nu heb ik dat zelfde trucje op een test locatie eens uitgeprobeerd met succes :mrgreen:

Onderstaande query uitgevoerd:

Code: Selecteer alles

ALTER TABLE phpbb_config MODIFY config_value text
Onderstaand stuk code veranderd:

Code: Selecteer alles

 $validator[$max] = (isset($validator[$max])) ? min(600, $validator[$max]) : 600; 
Om heel eerlijk te zijn weet ik niet eens helemaal precies wat ik nu heb uitgespookt. Want deze query heeft alle tabellen veranderd in de phpbb_config / config_value en niet alleen board_email_sig zoals ik zou willen.

Wat ik nu eigenlijk wil weten is of ik de query ook alleen voor board_email_sig kan maken? En of de wijzigen die ik nu heb gedaan effect hebben op andere functies... Wil even alles safe hebben voor ik op me live forum tekeer ga ;)
Op zoek naar een vertaling voor je extensie? vertalingen

Gebruikersavatar
Pola
Berichten: 1495
Lid geworden op: 19 jan 2012, 14:40
Contacteer:

Re: waarde voor deze instelling “E-mail handtekening” verlen

Bericht door Pola » 12 mar 2012, 12:53

De tabel phpbb_config bestaat uit de velden config_name, config_value en is_dynamic.
Voor alle configuratie instellingen (zo'n kleine 300) wordt een record aangemaakt (dus ook zo'n kleine 300) waarin de naam van de instelling, de ingestelde waarde en of het een dynamische (veranderende) instelling is, wordt opgeslagen.

Eén van deze configuratie instellingen is board_email_sig. Hiervoor wordt dus één record (regel) aangemaakt met als config_name board_email_sig, als config_value de ingestelde signature en voor is_dynamic een 0 omdat het in principe een vaste instelling is.

Het type van het veld config_name geldt (dus) voor alle instellingen. Als je dat type verandert, verandert dat voor alle records in de tabel.

In principe kan het volgens mij geen kwaad om het type van dat veld te veranderen naar TEXT. Volgens mij is het enige nadeel dat de performance wat minder zal zijn.
HGN op phpbb.com

Gebruikersavatar
David
Berichten: 5093
Lid geworden op: 15 jan 2007, 22:00
Locatie: Zeeuws-Vlaanderen
Contacteer:

Re: waarde voor deze instelling “E-mail handtekening” verlen

Bericht door David » 12 mar 2012, 13:27

Ik snap wat je uitlegt, begrijp het alleen niet allemaal omdat ik technische nog niet zo goed ontwikkeld ben. Met de query die ik heb uitgevoerd heb ik de waarde van iets meer dan 300 tabellen veranderd naar tekst, al die namen onder config_name zijn toch tabellen of hebben die een andere naam?
In principe kan het volgens mij geen kwaad om het type van dat veld te veranderen naar TEXT. Volgens mij is het enige nadeel dat de performance wat minder zal zijn.
Je bent dus niet helemaal zeker?

Als ik er zo over nadenk is volgens mij niet echt snugger zomaar 300 tabellen te veranderen naar tekst, het moet er eigenlijk maar 1 zijn, als ik dan moet inleveren op performance of eventueel andere problemen krijg bij bijvoorbeeld updaten of weet ik veel wat, dan kijk ik wel uit om live te gaan knutselen.

Zoals ik eerder aangaf mijn kennis is gewoon te klein op dit gebied, wil het graag uitbreiden maar ben dan wel afhankelijk van de informatie die ik krijg en/of vraag.

Zo heb ik eventueel wel een ander idee, en dat is een tweede handtekening functie in bouwen... maar hoe redelijk is dat? Hoeveel stukken code regelen de handtekening?

Mijn andere optie is alle E-mail bestanden wijzigen via FTP en dan mijn tekst toevoegen. Maja dan moet je als je de tekst wilt veranderen heel wat bestanden veranderen :mrgreen:


Ik vind 255 karakters gewoon te weinig, als ik een tekst wil invoegen hoe men zich kan afmelden voor mails dan zit ik al boven de 255 dus wil dat standaard toevoegen op de één of andere manier. liefst allemaal in 1x. Dat is eigenlijk mijn doel :mrgreen:
Op zoek naar een vertaling voor je extensie? vertalingen

Gebruikersavatar
Pola
Berichten: 1495
Lid geworden op: 19 jan 2012, 14:40
Contacteer:

Re: waarde voor deze instelling “E-mail handtekening” verlen

Bericht door Pola » 12 mar 2012, 17:03

David schreef:Ik snap wat je uitlegt, begrijp het alleen niet allemaal omdat ik technische nog niet zo goed ontwikkeld ben. Met de query die ik heb uitgevoerd heb ik de waarde van iets meer dan 300 tabellen veranderd naar tekst, al die namen onder config_name zijn toch tabellen of hebben die een andere naam?
Nee, de tabellen zijn phpbb_config, phpbb_posts, phpbb_users, enz.
De inhoud van een tabel bestaat uit records of rows (of in het nederlands: regels/rijen).
De velden zijn de kolommen. Het type van een kolom is hetzelfde voor alle rijen. Dus als kolom 2 de config_value is, is het type van config_value in elke rij hetzelfde.
David schreef:
In principe kan het volgens mij geen kwaad om het type van dat veld te veranderen naar TEXT. Volgens mij is het enige nadeel dat de performance wat minder zal zijn.
Je bent dus niet helemaal zeker?
99% zeker.
M.b.t. de performance, TEXT wordt anders opgeslagen in de database als VARCHAR en daardoor kost zoeken en lezen meer tijd.
David schreef:Zo heb ik eventueel wel een ander idee, en dat is een tweede handtekening functie in bouwen... maar hoe redelijk is dat? Hoeveel stukken code regelen de handtekening?

Mijn andere optie is alle E-mail bestanden wijzigen via FTP en dan mijn tekst toevoegen. Maja dan moet je als je de tekst wilt veranderen heel wat bestanden veranderen :mrgreen:


Ik vind 255 karakters gewoon te weinig, als ik een tekst wil invoegen hoe men zich kan afmelden voor mails dan zit ik al boven de 255 dus wil dat standaard toevoegen op de één of andere manier. liefst allemaal in 1x. Dat is eigenlijk mijn doel :mrgreen:
Ik vraag me alleen af in welke e-mails je wilt vermelden hoe men zich kan afmelden voor e-mails, want de leden kunnen zich toch alleen "afmelden" voor mass e-mails en voor e-mails waarin ze melding ontvangen van het feit dat ze een PM ontvangen hebben of dat er een nieuw bericht of een nieuw topic is geplaatst. In de berichten met melding van nieuw PM, bericht en topic staat al hoe ze zich kunnen afmelden. Dan blijft er nog maar één e-mail over en dat is het mass e-mail bericht admin_send_email.txt.


Voordat ik me dit bedacht heb ik er een beetje mee zitten spelen en heb via een alternatieve methode langere signatures mogelijk gekregen.
De consequentie daarvan is echter dat de signature niet meer via het ACP aan te passen is, maar vastgelegd wordt in een taalbestand.
Er zijn daarvoor drie wijzigingen nodig in drie bestanden:

Open /language/<xx>/common.php
Zoek

Code: Selecteer alles

	'BOARD_DISABLED'		=> 'Dit forum is tijdelijk uitgeschakeld.',
Voeg erna toe

Code: Selecteer alles

	'BOARD_EMAIL_SIG'		=> 'Je lange signature.<br />nieuwe regel', // gebruik <br /> voor een nieuwe regel
Open /includes/functions_messenger.php
Zoek

Code: Selecteer alles

				'EMAIL_SIG'	=> str_replace('<br />', "\n", "-- \n" . htmlspecialchars_decode($config['board_email_sig'])),
Vervang door

Code: Selecteer alles

				'EMAIL_SIG'	=> str_replace('<br />', "\n", "-- \n" . htmlspecialchars_decode($user->lang['BOARD_EMAIL_SIG'])),
Open /includes/mcp/mcp_queue.php (e-mails m.b.t. goedkeuring nieuwe berichten/topics)
Zoek

Code: Selecteer alles

$email_sig = str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']);
Vervang door

Code: Selecteer alles

$email_sig = str_replace('<br />', "\n", "-- \n" . $user->lang['BOARD_EMAIL_SIG']);
HGN op phpbb.com

Gebruikersavatar
David
Berichten: 5093
Lid geworden op: 15 jan 2007, 22:00
Locatie: Zeeuws-Vlaanderen
Contacteer:

Re: waarde voor deze instelling “E-mail handtekening” verlen

Bericht door David » 12 mar 2012, 19:56

Natuurlijk, je hebt helemaal gelijk! Ik wil alleen uitleggen dat ze via "Beheerders mogen mij per e-mail informeren.:" geen mails meer krijgen. Je gaf al aan dat, dat alleen voor massa mail geldt, in mijn geval ook voor "User Reminder". Maar dat zijn maar 6 a 7 bestanden , en ga het nu niet maandelijks veranderen. Dus ik kies ervoor om me tekst in de taal bestanden te zetten.

Ga je andere optie nog wel testen, en wellicht gebruik ik die ook nog want vind 255 gewoon te weinig omdat ik in mijn mails ook naar mijn sociale media paginas wil gaan verwijzen en dat lukt niet met die 255 karakters dus kan ik het eventueel als nog gebruiken :)
Op zoek naar een vertaling voor je extensie? vertalingen

Gesloten