Dit is een archief van het phpBBservice.nl forum. Nieuwe berichten plaatsen is niet meer mogelijk.
B
#1
Op ons forum is er een minimum leeftijd van 16 jaar om te registreren.
In je profiel kan je je geboortedatum ingeven als je dan jarig bent zal deze verschijnen op de indexpagina.

Nu zou ik om het activeren te vereenvoudigen graag hebben dat gebruikers verplicht zijn hun geboortedatum in te vullen op de registratie pagina.
Zelf ben ik er nog geen extensie voor tegengekomen, dus vroeg ik me af of dit niet mogelijk is met wat stijl bestanden te wijzigen?
K
#2
Je zou een custom BB code aankunnen maken, die kun je uit mijn hoofd zo instellen dat hij bij aanmelding ingevuld dient te worden.

Het huidige leeftijd veld kun je dan uit de stijl halen op de diverse plaatsen.
B
#3
Kevin schreef:Je zou een custom BB code aankunnen maken, die kun je uit mijn hoofd zo instellen dat hij bij aanmelding ingevuld dient te worden.

Het huidige leeftijd veld kun je dan uit de stijl halen op de diverse plaatsen.
Ik vermoed dat je aangepast profielveld bedoelt?
Maar eigenlijk zou ik willen werken met een dropdown box zoals bij het instellen van de verjaardag.
Je kan in het beheerderspaneel bij aangepaste profielvelden wel een dropdown box aanmaken, maar dan heb je
er nooit geen drie naast elkaar wat wel het geval is bij het gebruikerspaneel.

Dus was ik maar aan het denken.... Kan je de code in het profielveld niet gewoon kopiëren en verplicht maken?
Of geeft dit problemen als je alles zomaar klakkeloos zit te kopiëren?

Code: Selecteer alles

	<!-- IF S_BIRTHDAYS_ENABLED -->
		<dl>
			<dt><label for="bday_day">{L_BIRTHDAY}{L_COLON}</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
			<dd>
				<label for="bday_day">{L_DAY}{L_COLON} <select name="bday_day" id="bday_day">{S_BIRTHDAY_DAY_OPTIONS}</select></label>
				<label for="bday_month">{L_MONTH}{L_COLON} <select name="bday_month" id="bday_month">{S_BIRTHDAY_MONTH_OPTIONS}</select></label>
				<label for="bday_year">{L_YEAR}{L_COLON} <select name="bday_year" id="bday_year">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
			</dd>
		</dl>
	<!-- ENDIF -->
Edit: Doet me er ook aan denken dat je het dan in ucp.php moet plaatsen, en aangezien bovenstaande code html is gaat dit ook niet.
K
#4
Dat bedoelde ik inderdaad.

Is dat niet mogelijk daarmee, durf het zo niet te zeggen.
Je kunt inderdaad een deel HTML kopiëren en in het registratie venster plakken maar dan je ook een stukje bijbehorende PHP code moeten plaatsen in het registreer php bestand.
B
#5
Het is me gelukt met deze wijzigingen:

Open: includes/ucp/ucp_register.php
Zoek:

Code: Selecteer alles

		// Check and initialize some variables if needed
		if ($submit)
Plaats erboven:

Code: Selecteer alles

		if ($config['allow_birthdays'])
		{
			$data['bday_day'] = $data['bday_month'] = $data['bday_year'] = 0;
			$data['bday_day'] = request_var('bday_day', $data['bday_day']);
			$data['bday_month'] = request_var('bday_month', $data['bday_month']);
			$data['bday_year'] = request_var('bday_year', $data['bday_year']);
			$data['user_birthday'] = sprintf('%2d-%2d-%4d', $data['bday_day'], $data['bday_month'], $data['bday_year']);
		}
Zoek:

Code: Selecteer alles

	'lang'				=> array('language_iso_name'),
Plaats eronder:

Code: Selecteer alles

'user_birthday'			=> array('date', !$config['allow_birthdays']),
Zoek:

Code: Selecteer alles

	// Register user...
				$user_id = user_add($user_row, $cp_data);
Plaats erboven:

Code: Selecteer alles

	if ($config['allow_birthdays'])
				{
					$user_row['user_birthday'] = $data['user_birthday'];
				}
Zoek:

Code: Selecteer alles

//
		$user->profile_fields = array();
Plaats erboven:

Code: Selecteer alles

		if ($config['allow_birthdays'])
		{
			$s_birthday_day_options = '<option value="0"' . ((!$data['bday_day']) ? ' selected="selected"' : '') . '>--</option>';
			for ($i = 1; $i < 32; $i++)
			{
				$selected = ($i == $data['bday_day']) ? ' selected="selected"' : '';
				$s_birthday_day_options .= "<option value=\"$i\"$selected>$i</option>";
			}

			$s_birthday_month_options = '<option value="0"' . ((!$data['bday_month']) ? ' selected="selected"' : '') . '>--</option>';
			for ($i = 1; $i < 13; $i++)
			{
				$selected = ($i == $data['bday_month']) ? ' selected="selected"' : '';
				$s_birthday_month_options .= "<option value=\"$i\"$selected>$i</option>";
			}
			$s_birthday_year_options = '';

			$now = getdate();
			$s_birthday_year_options = '<option value="0"' . ((!$data['bday_year']) ? ' selected="selected"' : '') . '>--</option>';
			for ($i = $now['year'] - 100; $i < $now['year']; $i++)
			{
				$selected = ($i == $data['bday_year']) ? ' selected="selected"' : '';
				$s_birthday_year_options .= "<option value=\"$i\"$selected>$i</option>";
			}
			unset($now);

			$template->assign_vars(array(
				'S_BIRTHDAY_DAY_OPTIONS'	=> $s_birthday_day_options,
				'S_BIRTHDAY_MONTH_OPTIONS'	=> $s_birthday_month_options,
				'S_BIRTHDAY_YEAR_OPTIONS'	=> $s_birthday_year_options,
				'S_BIRTHDAYS_ENABLED'		=> true,
			));
		}
Open: includes/functions_user.php
Zoek:

Code: Selecteer alles

	// These are the additional vars able to be specified
	$additional_vars = array(
Plaats erbvoven:

Code: Selecteer alles

	if ($config['allow_birthdays'] && !empty($user_row['user_birthday']))
	{
		$sql_ary['user_birthday'] = $user_row['user_birthday'];
	}
Open: styles/Subway/template/ucp_register.html
Zoek:

Code: Selecteer alles

<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}{L_COLON}</label></dt>
		<dd><input type="password"  tabindex="5" name="password_confirm" id="password_confirm" size="25" value="{PASSWORD_CONFIRM}" class="inputbox autowidth" title="{L_CONFIRM_PASSWORD}" autocomplete="off" /></dd>
	</dl>
Plaats eronder:

Code: Selecteer alles

<!-- IF S_BIRTHDAYS_ENABLED -->
    <dl>
        <dt><label for="bday_day">{L_BIRTHDAY}:</label><br /><span>{L_BIRTHDAY_EXPLAIN}</span></dt>
        <dd>
            <label for="bday_day">{L_DAY}: <select name="bday_day" id="bday_day" style="width: 4em;">{S_BIRTHDAY_DAY_OPTIONS}</select></label> 
            <label for="bday_month">{L_MONTH}: <select name="bday_month" id="bday_month" style="width: 4em;">{S_BIRTHDAY_MONTH_OPTIONS}</select></label> 
            <label for="bday_year">{L_YEAR}: <select name="bday_year" id="bday_year" style="width: 6em;">{S_BIRTHDAY_YEAR_OPTIONS}</select></label>
        </dd>
    </dl>
<!-- ENDIF -->
Oorspronkelijk een modificatie maar, blijkbaar werken deze codes nog.
B
#6
En om het perfect te maken:

Open includes/ucp/ucp_register.php
Zoek:

Code: Selecteer alles

for ($i = $now['year'] - 100; $i < $now['year']; $i++)
Vervang met:

Code: Selecteer alles

for ($i = $now['year'] - 100; $i <= $now['year']; $i++)
K
#7
Top gedaan Benny. Moeten ze het nu ook verplicht invullen bij registratie?
B
#8
Kevin schreef:Top gedaan Benny. Moeten ze het nu ook verplicht invullen bij registratie?
Ja, je kan de registratie niet afmaken zonder een datum aan te geven.