Maximaal aantal regels in sig

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Maximaal aantal regels in sig

Bericht door michiel87 » 28 okt 2004, 15:42

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

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 29 okt 2004, 15:38

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.';

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 31 okt 2004, 09:22

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 :wink:
Laatst gewijzigd door michiel87 op 04 nov 2004, 17:04, 2 keer totaal gewijzigd.

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 31 okt 2004, 11:06

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 :D

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 01 nov 2004, 00:32

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^^

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 01 nov 2004, 17:04

Oke, maar nu nog een probleem hoe dat neer te zetten :( .
Heb het op verschillende manieren geporbeert, maar hij blijft maar karakters tellen :(

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 01 nov 2004, 17:14

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']; 
      }
Afbeelding

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 01 nov 2004, 17:29

Heb ik zojuist op verschillende manieren geprobeerd. Maar dan heb ik ook het probleem dat die karakters telt :(

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 01 nov 2004, 17:48

bij wat ik gaf telt hij het allebei en geeft een error als 1 van de twee te lang zijn :roll:

ps: hij telt ook karakters, hij telt hoevaak /n (dat is een enter) erin zit
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 01 nov 2004, 18:25

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.

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 04 nov 2004, 11:20

Maar waar moet ik die dan plaatsen :?:

in admin/admin_usrers.php :roll:

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 04 nov 2004, 11:41

Als de admin het bewerkt is er geen controle nodig; die weet immers wel wat hij doet lijkt me. Het gaat om usercp_register.

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 04 nov 2004, 16:53

Het werkt nu :P

De admin kan nu wel langere sig's maken :lol:
En je kan in het administartie paneel het aantal regels aanpassen :D

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 ]--------------------------
#

dj inpossible
Berichten: 109
Lid geworden op: 16 jul 2004, 12:58
Contacteer:

Bericht door dj inpossible » 04 nov 2004, 17:10

Bedankt.. Deze kan ik ook wel even gebruiken
Ik ga hem even proberen

Pim
ik haat sig's

michiel87
Berichten: 47
Lid geworden op: 14 apr 2004, 19:45

Bericht door michiel87 » 04 nov 2004, 21:09

In combinatie met deze mod: http://www.phpbbhacks.com/download/1404
Kan je beperkingen aan je sig geven :wink:
(dus hoef je er veder niks aan te doen)

Gesloten