Pagina 1 van 1
Maximaal aantal regels in sig
Geplaatst: 28 okt 2004, 15:42
door michiel87
Is er een mod zodat je kan instellen dat er een maximun aantal regels in de sig kan staan
Heb wel een mod gevonden dat je geen img in je profiel kan hebben(zocht ik ook)
http://www.phpbbhacks.com/download/1700
Geplaatst: 29 okt 2004, 15:38
door mosymuis
Of er al een mod voor is weet ik niet, zelf maken is iig niet moeilijk. Deze code gebruik ik in een andere website van me:
Code: Selecteer alles
} elseif ( $config['max_post_lines'] && count(explode("\n", $message)) > $config['max_post_lines'] ) {
$error = 'Je bericht is te lang, je mag maar '.$config['max_post_lines'].' regels gebruiken.';
Geplaatst: 31 okt 2004, 09:22
door michiel87
Ik ben dus al een tijdje bezig geweest om dat te maken, maar het lukt nog niet helemaal
In de database heb ik bij phpbb_config: max_sig_lines toegevoegd.
Veder heb ik di veranderd:
Code: Selecteer alles
#
#-----[ SQL ]---------------------------------------------
#
$sql=array(
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("max_sig_lines", "5")',
);
#
#-----[ OPEN ]--------------------------------------------
#
admin/admin_board.php
#
#-----[ FIND ]--------------------------------------------
#
"L_MAX_SIG_LENGTH_EXPLAIN" => $lang['Max_sig_length_explain'],
#
#-----[ AFTER, ADD ]--------------------------------------
#
"L_MAX_SIG_LINES" => $lang['Max_sig_lines'],
"L_MAX_SIG_LINES_EXPLAIN" => $lang['Max_sig_lines_explain'],
#
#-----[ FIND ]--------------------------------------------
#
"SIG_SIZE" => $new['max_sig_chars'],
#
#-----[ AFTER, ADD ]--------------------------------------
#
"SIG_LINES" => $new['max_sig_lines'],
#
#-----[ OPEN ]--------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]--------------------------------------------
#
if ( strlen($signature) > $board_config['max_sig_chars'] )
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_long'];
}
#
#-----[ AFTER, ADD ]------------------------------------
#
elseif ( count(explode("\n", $signature)) > $board_config['max_sig_lines'] )
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_many_lines'];
}
#
#-----[ FIND ]--------------------------------------------
#
'L_SIGNATURE_EXPLAIN' => sprintf($lang['Signature_explain'], $board_config['max_sig_chars']),
#
#-----[ REPLACE WITH ]------------------------------------
#
'L_SIGNATURE_EXPLAIN' => sprintf($lang['Signature_explain'], $board_config['max_sig_chars'], $board_config['max_sig_lines']),
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Max_sig_length_explain'] = 'Maximum number of characters in user signatures';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Max_sig_lines'] = 'Maximum signature lines';
$lang['Max_sig_lines_explain'] = 'Maximum number of lines in user signatures';
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Signature_too_long'] = 'Your signature is too long.';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Signature_too_many_lines'] = 'Your signature has too many lines';
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_dutch/lang_admin.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Max_sig_length_explain'] = 'Maximaal aantal karakters in handtekening van gebruikers';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Max_sig_lines'] = 'Maximale regels van handtekening';
$lang['Max_sig_lines_explain'] = 'Maximaal aantal regels in handtekening van gebruikers';
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_dutch/lang_main.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Signature_too_long'] = 'Je onderschrift is te lang';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Signature_too_many_lines'] = 'Je hebt te veel regels in je onderschrift';
#
#-----[ OPEN ]--------------------------------------------
#
templates/subsilver/admin/board_config_body.tpl
#
#-----[ FIND ]--------------------------------------------
#
<tr>
<td class="row1">{L_MAX_SIG_LENGTH}<br /><span class="gensmall">{L_MAX_SIG_LENGTH_EXPLAIN}</span></td>
<td class="row2"><input type="text" size="5" maxlength="4" name="max_sig_chars" value="{SIG_SIZE}" /></td>
</tr>
#
#-----[ AFTER, ADD ]--------------------------------------
#
<tr>
<td class="row1">{L_MAX_SIG_LINES}<br /><span class="gensmall">{L_MAX_SIG_LINES_EXPLAIN}</span></td>
<td class="row2"><input type="text" size="5" maxlength="4" name="max_sig_lines" value="{SIG_LINES}" /></td>
</tr>
#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#
//
// Laatste versie

Geplaatst: 31 okt 2004, 11:06
door michiel87
De fout zit hierin(denk ik):
Code: Selecteer alles
$sig_lines_check = preg_replace('/(\[.*?)(=.*?)\]/is', '\\1]', stripslashes($signature));
if ( $allowhtml )
{
$sig_lines_check = preg_replace('/(\<.*?)(=.*?)( .*?=.*?)?([ \/]?\>)/is', '\\1\\3\\4', $sig_lines_check);
}
Die telt de karakters

en hij moet regels tellen, Wie weet hoe
Verder werkt het wel

Geplaatst: 01 nov 2004, 00:32
door mosymuis
michiel87 schreef:en hij moet regels tellen, Wie weet hoe

Code: Selecteer alles
count(explode("\n", $message)) > $config['max_post_lines']
Kijk hier nog eens naar^^
Geplaatst: 01 nov 2004, 17:04
door michiel87
Oke, maar nu nog een probleem hoe dat neer te zetten

.
Heb het op verschillende manieren geporbeert, maar hij blijft maar karakters tellen

Geplaatst: 01 nov 2004, 17:14
door Luuk
misschien zo?
Code: Selecteer alles
if ( strlen($signature) > $board_config['max_sig_chars'] || count(explode("\n", $signature)) > $config['max_post_lines'])
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_long'];
}
Geplaatst: 01 nov 2004, 17:29
door michiel87
Heb ik zojuist op verschillende manieren geprobeerd. Maar dan heb ik ook het probleem dat die karakters telt

Geplaatst: 01 nov 2004, 17:48
door Luuk
bij wat ik gaf telt hij het allebei en geeft een error als 1 van de twee te lang zijn
ps: hij telt ook karakters, hij telt hoevaak /n (dat is een enter) erin zit
Geplaatst: 01 nov 2004, 18:25
door mosymuis
Luuk schreef:ps: hij telt ook karakters, hij telt hoevaak /n (dat is een enter) erin zit
Hij telt géén karakters, maar array elementen. Met explode() verdeelt hij de regels binnen de $signature string in een array, gescheiden op de newlines. Dat komt neer op het tellen van de regels.
Geplaatst: 04 nov 2004, 11:20
door michiel87
Maar waar moet ik die dan plaatsen
in admin/admin_usrers.php

Geplaatst: 04 nov 2004, 11:41
door mosymuis
Als de admin het bewerkt is er geen controle nodig; die weet immers wel wat hij doet lijkt me. Het gaat om usercp_register.
Geplaatst: 04 nov 2004, 16:53
door michiel87
Het werkt nu
De admin kan nu wel langere sig's maken
En je kan in het administartie paneel het aantal regels aanpassen
Code: Selecteer alles
#
#-----[ SQL ]---------------------------------------------
#
$sql=array(
'INSERT INTO '.CONFIG_TABLE.' (config_name, config_value) VALUES ("max_sig_lines", "5")',
);
#
#-----[ OPEN ]--------------------------------------------
#
admin/admin_board.php
#
#-----[ FIND ]--------------------------------------------
#
"L_MAX_SIG_LENGTH_EXPLAIN" => $lang['Max_sig_length_explain'],
#
#-----[ AFTER, ADD ]--------------------------------------
#
"L_MAX_SIG_LINES" => $lang['Max_sig_lines'],
"L_MAX_SIG_LINES_EXPLAIN" => $lang['Max_sig_lines_explain'],
#
#-----[ FIND ]--------------------------------------------
#
"SIG_SIZE" => $new['max_sig_chars'],
#
#-----[ AFTER, ADD ]--------------------------------------
#
"SIG_LINES" => $new['max_sig_lines'],
#
#-----[ OPEN ]--------------------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]--------------------------------------------
#
if ( strlen($signature) > $board_config['max_sig_chars'] )
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_long'];
}
#
#-----[ AFTER, ADD ]------------------------------------
#
elseif ( count(explode("\n", $signature)) > $board_config['max_sig_lines'] )
{
$error = TRUE;
$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Signature_too_many_lines'];
}
#
#-----[ FIND ]--------------------------------------------
#
'L_SIGNATURE_EXPLAIN' => sprintf($lang['Signature_explain'], $board_config['max_sig_chars']),
#
#-----[ REPLACE WITH ]------------------------------------
#
'L_SIGNATURE_EXPLAIN' => sprintf($lang['Signature_explain'], $board_config['max_sig_chars'], $board_config['max_sig_lines']),
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_english/lang_admin.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Max_sig_length_explain'] = 'Maximum number of characters in user signatures';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Max_sig_lines'] = 'Maximum signature lines';
$lang['Max_sig_lines_explain'] = 'Maximum number of lines in user signatures';
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_english/lang_main.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Signature_too_long'] = 'Your signature is too long.';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Signature_too_many_lines'] = 'Your signature has too many lines';
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_dutch/lang_admin.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Max_sig_length_explain'] = 'Maximaal aantal karakters in handtekening van gebruikers';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Max_sig_lines'] = 'Maximale regels van handtekening';
$lang['Max_sig_lines_explain'] = 'Maximaal aantal regels in handtekening van gebruikers';
#
#-----[ OPEN ]--------------------------------------------
#
language/lang_dutch/lang_main.php
#
#-----[ FIND ]--------------------------------------------
#
$lang['Signature_too_long'] = 'Je onderschrift is te lang';
#
#-----[ AFTER, ADD ]--------------------------------------
#
$lang['Signature_too_many_lines'] = 'Je hebt te veel regels in je onderschrift';
#
#-----[ OPEN ]--------------------------------------------
#
templates/subsilver/admin/board_config_body.tpl
#
#-----[ FIND ]--------------------------------------------
#
<tr>
<td class="row1">{L_MAX_SIG_LENGTH}<br /><span class="gensmall">{L_MAX_SIG_LENGTH_EXPLAIN}</span></td>
<td class="row2"><input type="text" size="5" maxlength="4" name="max_sig_chars" value="{SIG_SIZE}" /></td>
</tr>
#
#-----[ AFTER, ADD ]--------------------------------------
#
<tr>
<td class="row1">{L_MAX_SIG_LINES}<br /><span class="gensmall">{L_MAX_SIG_LINES_EXPLAIN}</span></td>
<td class="row2"><input type="text" size="5" maxlength="4" name="max_sig_lines" value="{SIG_LINES}" /></td>
</tr>
#
#-----[ SAVE & CLOSE ALL FILES ]--------------------------
#
Geplaatst: 04 nov 2004, 17:10
door dj inpossible
Bedankt.. Deze kan ik ook wel even gebruiken
Ik ga hem even proberen
Pim
Geplaatst: 04 nov 2004, 21:09
door michiel87
In combinatie met deze mod:
http://www.phpbbhacks.com/download/1404
Kan je beperkingen aan je sig geven
(dus hoef je er veder niks aan te doen)