Sida 1 av 2

Mer information i admin_activate.tpl

Postat: 2008-10-29 13:29
av Holger
Hej,

jag skulle vilja ha in mer information i admin_activate.tpl:
- länk till profilen
- medlemmens epost-adress

Går det?
Vore mycket bra hjälp!

/Holger

Re: Mer information i admin_activate.tpl

Postat: 2008-10-29 13:58
av Marcus
Det där är inte standard TPL-fil inte...

/marcus

Re: Mer information i admin_activate.tpl

Postat: 2008-10-29 13:59
av Holger
Hm?
Det är email-TPLen som används om man har ställt in konto-aktivering genom admin.

Re: Mer information i admin_activate.tpl

Postat: 2008-10-29 14:08
av Marcus
Ska jag behöva leta i den mappen också... :o

Jag kollade både i vanliga mappen och in admin-mappen, men utan att bli klokare... Men nu när du säger att det är dina mailmallar du vill påverka så är jag med. Flyttar tillbaka tråden då då... :-)

Ja, det ska väl gå att lägga till...

Redigera filerna:

<forumrot>/includes/usercp_register.php
<forumrot>/language/lang_<ditt språk>/email/admin_activate.tpl

Strax ska du få kodförslag.

Re: Mer information i admin_activate.tpl

Postat: 2008-10-29 14:26
av Marcus
Filen <forumrot>/includes/usercp_register.php

Hitta:

Kod: Markera allt

else if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN )
Gå ner några rader till och hitta:

Kod: Markera allt

$emailer->assign_vars(array(
	'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
	'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
 	'U_ACTIVATE' => $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
 );
Ändra till:

Kod: Markera allt

$emailer->assign_vars(array(
	'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
	'USERMAIL' => $email,
	'U_PROFILE' => $server_url .'?mode=viewprofile&u=' . $user_id,
	'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
 	'U_ACTIVATE' => $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
 );

Sedan lägger du bara till {USERMAIL} och {U_PROFILE} på lämpliga ställen i filen <forumrot>/language/lang_<ditt språk>/email/admin_activate.tpl.

USERMAIL kan broderas ut lite...

Re: Mer information i admin_activate.tpl

Postat: 2008-10-29 14:45
av Holger
Ska lägga in det ikväll! Tack ska du ha! :D

Re: Mer information i admin_activate.tpl

Postat: 2008-10-29 16:21
av Holger
Nä, det fungerade tyvärr inte.

{USERMAIL} och {U_PROFILE} ger tomma rader i mailet!

Så här ser koden ut i usercp_register.php:

Kod: Markera allt

 				else if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN )
 				{
 					$sql = 'SELECT user_email, user_lang
 						FROM ' . USERS_TABLE . '
 						WHERE user_level = ' . ADMIN;

 					if ( !($result = $db->sql_query($sql)) )
 					{
 						message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql);
 					}

 					while ($row = $db->sql_fetchrow($result))
 					{
 						$emailer->from($board_config['board_email']);
 						$emailer->replyto($board_config['board_email']);

 						$emailer->email_address(trim($row['user_email']));
 						$emailer->use_template("admin_activate", $row['user_lang']);
 						$emailer->set_subject($lang['Reactivate']);

 						$emailer->assign_vars(array(
 							'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
 							'USERMAIL' => $email,
							'U_PROFILE' => $server_url .'?mode=viewprofile&u=' . $user_id,
 							'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
 							'U_ACTIVATE' => $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
 						);
 						$emailer->send();
 						$emailer->reset();
 					}
 					$db->sql_freeresult($result);
 				}

Re: Mer information i admin_activate.tpl

Postat: 2008-10-30 11:48
av Holger
Har du en idé vad det kan bero på?

Re: Mer information i admin_activate.tpl

Postat: 2008-10-30 11:54
av Marcus
Låter märkligt, för det borde bli rätt... 8)

Jag får klura lite, och se om jag kan se varför...

/marcus

Re: Mer information i admin_activate.tpl

Postat: 2008-10-30 20:53
av tumba25
Utan att läsa tråden alltför noggrant så vill jag också blanda mig i.

Jag förutsätter att USERMAIL ska innehålla användarens mailadress. Då kanske man skulle kunna ändra

Kod: Markera allt

'USERMAIL' => $email,
till

Kod: Markera allt

'USERMAIL' => trim($row['user_email']),
Och den andra till något annat som kanske finns i någon fil jag inte orkar öppna just nu. :lol:

Re: Mer information i admin_activate.tpl

Postat: 2008-10-31 00:22
av Marcus
Fick dock för mig, när jag läste koden att $row['user_mail'] innehåller mailadressen till mottagaren (dvs. admin)... :D

Jo, precis så är det. Och precis som jag skriver så är det $email som ska innehålla den nye användarens e-postadress.

/marcus

Re: Mer information i admin_activate.tpl

Postat: 2008-10-31 00:32
av tumba25
Aha, jag erkänner att jag inte läste koden speciellt noga. Hittade något som såg bra ut. Dom flesta admins får iaf för lite mail. :mrgreen:

Re: Mer information i admin_activate.tpl

Postat: 2008-10-31 00:53
av Marcus
Som jag sa, jag har inte gjort fel... bara för få gånger.

Missade att usercp_register.php kräver samma uppdatering på 2 ställen.

Leta redan på andra förekomsten av exakt samma sak du skulle leta efter, och lägg till samma kod som jag föreslog så ska det fungera.

EDIT: Nu har jag också testat det på ett eget lekforum i phpBB2... och ja, jag har rätt. :-D

/marcus

Re: Mer information i admin_activate.tpl

Postat: 2008-10-31 09:01
av Holger
Hittade bara detta:

Kod: Markera allt

			if ( $board_config['require_activation'] == USER_ACTIVATION_ADMIN )
			{
				$sql = "SELECT user_email, user_lang
					FROM " . USERS_TABLE . "
					WHERE user_level = " . ADMIN;

				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql);
				}

				while ($row = $db->sql_fetchrow($result))
				{
					$emailer->from($board_config['board_email']);
					$emailer->replyto($board_config['board_email']);

					$emailer->email_address(trim($row['user_email']));
					$emailer->use_template("admin_activate", $row['user_lang']);
					$emailer->set_subject($lang['New_account_subject']);

					$emailer->assign_vars(array(
						'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $username), 0, 25)),
						'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
						'U_ACTIVATE' => $server_url . '?mode=activate&' . POST_USERS_URL . '=' . $user_id . '&act_key=' . $user_actkey)
					);
					$emailer->send();
					$emailer->reset();
				}
				$db->sql_freeresult($result);
			}
Dvs inget else if utan ett if.

Rätt?

/Holger

Re: Mer information i admin_activate.tpl

Postat: 2008-10-31 09:30
av tumba25
Friskt kodat, hälften kraschat. Testa.