Versión phpBB: 3.09
MODs Instalados:
Spoiler
- AutoMOD
- MOD Version Check
- User Notify
- Alert Box PM Notification [phpBB 3 version]
- NV "Wer war da?"
- Special and Normal Rank Images
- Welcome PM on first Login (WPM)
- Enable Browser Language Detection MOD
- Invite A Friend
- board3 Portal 2.0.0 - Beta 1
- [Addon] Special and Normal Rank Images for board3 Portal 2.0.0b1
- Legend Repositioning
- Groups on Registration and Custom Profile Fields
- Groups Page
- DM Partners
- DM Simple Admin Message
Plantilla(s) usada(s): Prosilver
Servidor: Linux pago
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
AutoMOD: Si. Ademas se reviso instalacion de groups on registration and custom profile fields.
URL del MOD:: http://www.phpbb.com/customise/db/mod/g ... 66#p229966
Tengo un problema que supera mis conocimientos actuales.
Como sospecho que resolver el mismo no es tan simple he creado un foro de prueba con la opcion de dar permisos de admin apropiados al quien me pueda o quiera ayudar para ver la problematica (incluyendo acceso completo mediante ftp y a la base de datos SQL (MP o registrarse en el sitio).
Aqui va la descripcion del problema:
Error combinacion Groups on registration and custom profile fields - Invite a Friend
Spoiler
La invitacion se envia correctamente.
El link para registrarse funciona correctamente.
Al enviar el formulario de registro con llave de invitacion se genera el siguiente mensaje:
user_id = 178 hace aparentemente referencia al usuario que envia la invitacionSQL ERROR [ mysql4 ]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '05 WHERE user_id = 178' at line 2 [1064]
Ocurrió un error SQL mientras recuperaba esta página. Por favor contacta con La Administración del Sitio si el problema persiste.
----------------------Invite a friend aparentemente ejecuta su funcion bien----------------------------------
El usuario es registrado de manera correcta en el sitio. Aunque no se entera porque se encuentra con la pantalla de SQL error.
El usuario es agregado a la lista de amigos del usuario que lo invito de manera correcta.
El usuario que envio la invitacion es agregado a la lista de amigos del nuevo usuario.
El usuario que invita recibe MP de invitacion exitosa
se intentaron varias configuraciones de Invite a Friend incluso de transferir la configuración de »User registration settings« sin cambio en el resultado.
------------------------------------------------------------------------------------------------------------------------
Groups on registration
Funciona si no se usa llave de registro de Invite a Friend
No cumple su funcion en combinacion con Invita un Amigo - (Invite a Friend)
Usuario no es insertado en el grupo previsto mediante el sistema "seleccion por campo personalizado"
Usuario no es insertado en el grupo previsto mediante el sistema seleccion por gruppo
------------------------------------------------------------------------------------------------------------------------
Spoiler
* memberlist.php,
* viewtopic.php,
* includes/constants.php,
* includes/functions.php,
* includes/functions_admin.php,
* includes/ucp/ucp_register.php,
* styles/prosilver/template/memberlist_body.html,
* styles/prosilver/template/memberlist_search.html,
* styles/prosilver/template/memberlist_view.html,
* styles/prosilver/template/overall_header.html,
* styles/prosilver/template/viewtopic_body.html,
* styles/prosilver/template/ucp_register.html
Archiv edit Groups on registration and custom profile field
* ucp.php,
* includes/functions_profile_fields.php,
* includes/ucp/ucp_register.php,
* styles/prosilver/template/ucp_register.html
Spoiler
Archiv inclu Invite a Friend
# root/includes/functions_invite.php,
# root/includes/acp/info/acp_invite.php,
# root/includes/acp/acp_invite.php,
# root/includes/ucp/info/ucp_invite.php,
# root/includes/ucp/ucp_invite.php,
# root/adm/mods/invite_check_version.php,
# root/adm/style/acp_invite.html,
# root/adm/style/acp_invite_log.html,
# root/adm/style/acp_invite_templates.html,
# root/styles/prosilver/template/ucp_invite_invite.html,
# root/language/en/mods/info_acp_invite.php,
# root/language/en/mods/info_ucp_invite.php,
# root/language/en/email/confirm_subject.txt,
# root/language/en/email/confirm_message.txt,
# root/language/en/email/invite_subject.txt,
# root/language/en/email/invite_message.txt,
# root/install/invitation.php,
Archiv inclu Groups on registration and custom profile fields
# root/includes/functions_group_on_regs.php,
# root/includes/acp/info/acp_groups_reg.php,
# root/includes/acp/acp_groups_reg.php,
# root/adm/style/acp_groups_regs.html,
# root/language/en/mods/info_acp_group_on_regs.php,
# root/language/en/mods/group_on_regs.php,
# root/language/en/mods/umil_groups_on_reg.php,
# root/install_groups_cpf_reg.php,
ABD Invite a Friend 0.62db324 phpBB.com
ABD Invite a Friend 0.62db324 phpBB-es.com
Groups on registration and custom profile fields 3.09
Spoiler
I've updated the MOD to resolve that and update a few other things. Specifically the changes are
* Version changed to 1.0.2
* Find in includes/ucp/ucp_register.php updated
* Changed the DIY English instructions (I don't speak Turkish, so didn't change them)
* Added some automatic cache purges to the install file (because people often forget to do those)
* UMIL updated to v1.0.4
* XSD updated to v1.2.5
The whole package is in the update, so it can just be used to replace the 1.0.1 version.
Spoiler
includes/ucp/ucp_register.php
Código: Seleccionar todo
<?php
/**
*
* @package ucp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
exit;
}
/**
* ucp_register
* Board registration
* @package ucp
*/
class ucp_register
{
var $u_action;
function main($id, $mode)
{
global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
//
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
{
trigger_error('UCP_REGISTER_DISABLE');
}
include($phpbb_root_path . 'includes/functions_profile_fields.' . $phpEx);
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
$submit = (isset($_POST['submit'])) ? true : false;
$change_lang = request_var('change_lang', '');
$user_lang = request_var('lang', $user->lang_name);
if ($agreed)
{
add_form_key('ucp_register');
}
else
{
add_form_key('ucp_register_terms');
}
if ($change_lang || $user_lang != $config['default_lang'])
{
$use_lang = ($change_lang) ? basename($change_lang) : basename($user_lang);
if (!validate_language_iso_name($use_lang))
{
if ($change_lang)
{
$submit = false;
// Setting back agreed to let the user view the agreement in his/her language
$agreed = (empty($_GET['change_lang'])) ? 0 : $agreed;
}
$user->lang_name = $user_lang = $use_lang;
$user->lang = array();
$user->data['user_lang'] = $user->lang_name;
$user->add_lang(array('common', 'ucp'));
}
else
{
$change_lang = '';
$user_lang = $user->lang_name;
}
}
if (!class_exists('invite'))
{
include($phpbb_root_path . 'includes/functions_invite.' . $phpEx);
}
$user->add_lang('mods/info_ucp_invite');
$invite = new invite();
$register_key = request_var('key', '', true);
if ($invite->config['set_cookie'] && $invite->valid_key($register_key))
{
$invite->set_cookie($register_key);
}
$cookie_key = (isset($_COOKIE[$config['cookie_name'] . '_reg_key'])) ? $_COOKIE[$config['cookie_name'] . '_reg_key'] : '';
$register_key = (!$invite->config['enable_key']) ? '' : ((!empty($cookie_key)) ? $cookie_key : $register_key);
$url_key = (!empty($register_key)) ? "&key={$register_key}" : '';
// We have to assign the registration key here because we want it to be kept even if the registration process is returned
$template->assign_var('REGISTER_KEY', $register_key);
$cp = new custom_profile();
$error = $cp_data = $cp_error = array();
if (!$agreed || ($coppa === false && $config['coppa_enable']) || ($coppa && !$config['coppa_enable']))
{
$add_lang = ($change_lang) ? '&change_lang=' . urlencode($change_lang) : '';
$add_coppa = ($coppa !== false) ? '&coppa=' . $coppa : '';
// Abuse $add_lang var for our registration key
$add_lang .= $url_key;
$s_hidden_fields = array(
'change_lang' => $change_lang,
);
// If we change the language, we want to pass on some more possible parameter.
if ($change_lang)
{
// We do not include the password
$s_hidden_fields = array_merge($s_hidden_fields, array(
'username' => utf8_normalize_nfc(request_var('username', '', true)),
'email' => strtolower(request_var('email', '')),
'email_confirm' => strtolower(request_var('email_confirm', '')),
'lang' => $user->lang_name,
'tz' => request_var('tz', (float) $config['board_timezone']),
));
}
// Checking amount of available languages
$sql = 'SELECT lang_id
FROM ' . LANG_TABLE;
$result = $db->sql_query($sql);
$lang_row = array();
while ($row = $db->sql_fetchrow($result))
{
$lang_row[] = $row;
}
$db->sql_freeresult($result);
if ($coppa === false && $config['coppa_enable'])
{
$now = getdate();
$coppa_birthday = $user->format_date(mktime($now['hours'] + $user->data['user_dst'], $now['minutes'], $now['seconds'], $now['mon'], $now['mday'] - 1, $now['year'] - 13), $user->lang['DATE_FORMAT']);
unset($now);
$template->assign_vars(array(
'S_LANG_OPTIONS' => (sizeof($lang_row) > 1) ? language_select($user_lang) : '',
'L_COPPA_NO' => sprintf($user->lang['UCP_COPPA_BEFORE'], $coppa_birthday),
'L_COPPA_YES' => sprintf($user->lang['UCP_COPPA_ON_AFTER'], $coppa_birthday),
'U_COPPA_NO' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register&coppa=0' . $add_lang),
'U_COPPA_YES' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register&coppa=1' . $add_lang),
'S_SHOW_COPPA' => true,
'S_HIDDEN_FIELDS' => build_hidden_fields($s_hidden_fields),
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register' . $add_lang),
));
}
else
{
$template->assign_vars(array(
'S_LANG_OPTIONS' => (sizeof($lang_row) > 1) ? language_select($user_lang) : '',
'L_TERMS_OF_USE' => sprintf($user->lang['TERMS_OF_USE_CONTENT'], $config['sitename'], generate_board_url()),
'S_SHOW_COPPA' => false,
'S_REGISTRATION' => true,
'S_HIDDEN_FIELDS' => build_hidden_fields($s_hidden_fields),
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=register' . $add_lang . $add_coppa),
)
);
}
unset($lang_row);
$this->tpl_name = 'ucp_agreement';
return;
}
// The CAPTCHA kicks in here. We can't help that the information gets lost on language change.
if ($config['enable_confirm'])
{
include($phpbb_root_path . 'includes/captcha/captcha_factory.' . $phpEx);
$captcha =& phpbb_captcha_factory::get_instance($config['captcha_plugin']);
$captcha->init(CONFIRM_REG);
}
// Try to manually determine the timezone and adjust the dst if the server date/time complies with the default setting +/- 1
$timezone = date('Z') / 3600;
$is_dst = date('I');
if ($config['board_timezone'] == $timezone || $config['board_timezone'] == ($timezone - 1))
{
$timezone = ($is_dst) ? $timezone - 1 : $timezone;
if (!isset($user->lang['tz_zones'][(string) $timezone]))
{
$timezone = $config['board_timezone'];
}
}
else
{
$is_dst = $config['board_dst'];
$timezone = $config['board_timezone'];
}
$data = array(
'username' => utf8_normalize_nfc(request_var('username', '', true)),
'new_password' => request_var('new_password', '', true),
'password_confirm' => request_var('password_confirm', '', true),
'email' => strtolower(request_var('email', '')),
'email_confirm' => strtolower(request_var('email_confirm', '')),
'lang' => basename(request_var('lang', $user->lang_name)),
'tz' => request_var('tz', (float) $timezone),
//Begin: Group on Registration and Custom Profile Fields
'reg_group_id' => ($config['groups_on_reg_multiple']) ? request_var('reg_group_id', array(0)) : request_var('reg_group_id', 0),
//End: Group on Registration and Custom Profile Fields
);
// Check and initialize some variables if needed
if ($submit)
{
$error = validate_data($data, array(
'username' => array(
array('string', false, $config['min_name_chars'], $config['max_name_chars']),
array('username', '')),
'new_password' => array(
array('string', false, $config['min_pass_chars'], $config['max_pass_chars']),
array('password')),
'password_confirm' => array('string', false, $config['min_pass_chars'], $config['max_pass_chars']),
'email' => array(
array('string', false, 6, 60),
array('email')),
'email_confirm' => array('string', false, 6, 60),
'tz' => array('num', false, -14, 14),
'lang' => array('language_iso_name'),
//Begin: Group on Registration and Custom Profile Fields
'reg_group_id' => array('reg_group_id', (($config['groups_require'] && $config['groups_on_reg_enable']) ? false : true), 1, 150),
//End: Group on Registration and Custom Profile Fields
));
if (!check_form_key('ucp_register'))
{
$error[] = $user->lang['FORM_INVALID'];
}
// Replace "error" strings with their real, localised form
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
if ($config['enable_confirm'])
{
$vc_response = $captcha->validate($data);
if ($vc_response !== false)
{
$error[] = $vc_response;
}
if ($config['max_reg_attempts'] && $captcha->get_attempt_count() > $config['max_reg_attempts'])
{
$error[] = $user->lang['TOO_MANY_REGISTERS'];
}
}
// Handle registration keys
if ($invite->config['enable'])
{
if (!$invite->valid_key($register_key) && $invite->config['enable_key'] == 1)
{
if ($invite->config['enable_key'] == 1)
{
$error[] = $user->lang['REGISTER_KEY_INVALID'];
}
if ($invite->config['enable_key'] == 2)
{
$error[] = $user->lang['REGISTER_KEY_INVALID_OPTIONAL'];
}
}
// Different account activation for registration keys?
if ($invite->config['enable_key'] && $invite->valid_key($register_key, false))
{
$config['require_activation'] = ($invite->config['invite_require_activation'] == 3) ? $config['require_activation'] : $invite->config['invite_require_activation'];
}
// Someone is trying to take the mickey out of us? I say prevent abuse!
if ($invite->invite_yourself($register_key))
{
$error[] = $user->lang['INVITE_YOURSELF'];
}
}
// DNSBL check
if ($config['check_dnsbl'])
{
if (($dnsbl = $user->check_dnsbl('register')) !== false)
{
$error[] = sprintf($user->lang['IP_BLACKLISTED'], $user->ip, $dnsbl[1]);
}
}
// validate custom profile fields
$cp->submit_cp_field('register', $user->get_iso_lang_id(), $cp_data, $error);
if (!sizeof($error))
{
if ($data['new_password'] != $data['password_confirm'])
{
$error[] = $user->lang['NEW_PASSWORD_ERROR'];
}
if ($data['email'] != $data['email_confirm'])
{
$error[] = $user->lang['NEW_EMAIL_ERROR'];
}
}
if (!sizeof($error))
{
$server_url = generate_board_url();
// Which group by default?
$group_name = ($coppa) ? 'REGISTERED_COPPA' : 'REGISTERED';
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . $db->sql_escape($group_name) . "'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$row)
{
trigger_error('NO_GROUP');
}
$group_id = $row['group_id'];
if (($coppa ||
$config['require_activation'] == USER_ACTIVATION_SELF ||
$config['require_activation'] == USER_ACTIVATION_ADMIN) && $config['email_enable'])
{
$user_actkey = gen_rand_string(mt_rand(6, 10));
$user_type = USER_INACTIVE;
$user_inactive_reason = INACTIVE_REGISTER;
$user_inactive_time = time();
}
else
{
$user_type = USER_NORMAL;
$user_actkey = '';
$user_inactive_reason = 0;
$user_inactive_time = 0;
}
$user_row = array(
'username' => $data['username'],
'user_password' => phpbb_hash($data['new_password']),
'user_email' => $data['email'],
'group_id' => (int) $group_id,
'user_timezone' => (float) $data['tz'],
'user_dst' => $is_dst,
'user_lang' => $data['lang'],
'user_type' => $user_type,
'user_actkey' => $user_actkey,
'user_ip' => $user->ip,
'user_regdate' => time(),
'user_inactive_reason' => $user_inactive_reason,
'user_inactive_time' => $user_inactive_time,
'dm_sam_active' => 1,
);
if ($config['new_member_post_limit'])
{
$user_row['user_new'] = 1;
}
// Register user...
$user_id = user_add($user_row, $cp_data);
$invite->register_user($register_key, $user_id);
// This should not happen, because the required variables are listed above...
if ($user_id === false)
{
trigger_error('NO_USER', E_USER_ERROR);
}
//Begin: Group on Registration and Custom Profile Fields
if ($config['groups_on_reg_enable'])
{
if ($config['groups_on_reg_multiple'])
{
foreach ($data['reg_group_id'] as $add_group_id)
{
//Add user to the selected groups
group_add_registration($user_id, $add_group_id);
}
}
else
{
group_add_registration($user_id, $data['reg_group_id']);
}
}
if ($config['groups_to_cpf_enable'])
{
group_add_delete_user_cpf($user_id);
}
//End: Group on Registration and Custom Profile Fields
// Okay, captcha, your job is done.
if ($config['enable_confirm'] && isset($captcha))
{
$captcha->reset();
}
if ($coppa && $config['email_enable'])
{
$message = $user->lang['ACCOUNT_COPPA'];
$email_template = 'coppa_welcome_inactive';
}
else if ($config['require_activation'] == USER_ACTIVATION_SELF && $config['email_enable'])
{
$message = $user->lang['ACCOUNT_INACTIVE'];
$email_template = 'user_welcome_inactive';
}
else if ($config['require_activation'] == USER_ACTIVATION_ADMIN && $config['email_enable'])
{
$message = $user->lang['ACCOUNT_INACTIVE_ADMIN'];
$email_template = 'admin_welcome_inactive';
}
else
{
$message = $user->lang['ACCOUNT_ADDED'];
$email_template = 'user_welcome';
}
if ($config['email_enable'])
{
include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
$messenger = new messenger(false);
$messenger->template($email_template, $data['lang']);
$messenger->to($data['email'], $data['username']);
$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);
$messenger->assign_vars(array(
'WELCOME_MSG' => htmlspecialchars_decode(sprintf($user->lang['WELCOME_SUBJECT'], $config['sitename'])),
'USERNAME' => htmlspecialchars_decode($data['username']),
'PASSWORD' => htmlspecialchars_decode($data['new_password']),
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u=$user_id&k=$user_actkey")
);
if ($coppa)
{
$messenger->assign_vars(array(
'FAX_INFO' => $config['coppa_fax'],
'MAIL_INFO' => $config['coppa_mail'],
'EMAIL_ADDRESS' => $data['email'])
);
}
$messenger->send(NOTIFY_EMAIL);
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
{
// Grab an array of user_id's with a_user permissions ... these users can activate a user
$admin_ary = $auth->acl_get_list(false, 'a_user', false);
$admin_ary = (!empty($admin_ary[0]['a_user'])) ? $admin_ary[0]['a_user'] : array();
// Also include founders
$where_sql = ' WHERE user_type = ' . USER_FOUNDER;
if (sizeof($admin_ary))
{
$where_sql .= ' OR ' . $db->sql_in_set('user_id', $admin_ary);
}
$sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type
FROM ' . USERS_TABLE . ' ' .
$where_sql;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$messenger->template('admin_activate', $row['user_lang']);
$messenger->to($row['user_email'], $row['username']);
$messenger->im($row['user_jabber'], $row['username']);
$messenger->assign_vars(array(
'USERNAME' => htmlspecialchars_decode($data['username']),
'U_USER_DETAILS' => "$server_url/memberlist.$phpEx?mode=viewprofile&u=$user_id",
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&u=$user_id&k=$user_actkey")
);
$messenger->send($row['user_notify_type']);
}
$db->sql_freeresult($result);
}
}
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
trigger_error($message);
}
}
$s_hidden_fields = array(
'agreed' => 'true',
'change_lang' => 0,
);
if ($config['coppa_enable'])
{
$s_hidden_fields['coppa'] = $coppa;
}
if ($config['enable_confirm'])
{
$s_hidden_fields = array_merge($s_hidden_fields, $captcha->get_hidden_fields());
}
$s_hidden_fields = build_hidden_fields($s_hidden_fields);
$confirm_image = '';
// Visual Confirmation - Show images
if ($config['enable_confirm'])
{
$template->assign_vars(array(
'CAPTCHA_TEMPLATE' => $captcha->get_template(),
));
}
//
$l_reg_cond = '';
switch ($config['require_activation'])
{
case USER_ACTIVATION_SELF:
$l_reg_cond = $user->lang['UCP_EMAIL_ACTIVATE'];
break;
case USER_ACTIVATION_ADMIN:
$l_reg_cond = $user->lang['UCP_ADMIN_ACTIVATE'];
break;
}
//Begin: Group on Registration and Custom Profile Fields
if ($config['groups_on_reg_enable'])
{
group_on_registration();
}
//End: Group on Registration and Custom Profile Fields
$template->assign_vars(array(
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
'USERNAME' => $data['username'],
'PASSWORD' => $data['new_password'],
'PASSWORD_CONFIRM' => $data['password_confirm'],
'EMAIL' => $data['email'],
'EMAIL_CONFIRM' => $data['email_confirm'],
'L_REG_COND' => $l_reg_cond,
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$config['allow_name_chars'] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
'L_PASSWORD_EXPLAIN' => sprintf($user->lang[$config['pass_complex'] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
'S_LANG_OPTIONS' => language_select($data['lang']),
'S_TZ_OPTIONS' => tz_select($data['tz']),
'S_CONFIRM_REFRESH' => ($config['enable_confirm'] && $config['confirm_refresh']) ? true : false,
'S_REGISTRATION' => true,
'S_COPPA' => $coppa,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_UCP_ACTION' => append_sid("{$phpbb_root_path}ucp.$phpEx", '&mode=register' . $url_key),
//Begin: Group on Registration and Custom Profile Fields
'S_GROUP_OPTIONS' => ($config['groups_on_reg_enable']) ? reg_group_select($data['reg_group_id']) : false,
//End: Group on Registration and Custom Profile Fields
'REGISTER_KEY' => $register_key,
'S_REGISTER_KEY_EMPTY' => (empty($register_key) || !$register_key) ? true : false,
'S_DISPLAY_REGISTER_KEY' => ($invite->valid_key($register_key) && $invite->config['autohide_valid_key']) ? false : (($invite->config['display_registration'] && $invite->config['enable_key']) ? true : false),
'S_ENABLE_KEY_OPTIONAL' => ($invite->config['enable_key'] == OPTIONAL) ? true : false,
));
//
$user->profile_fields = array();
// Generate profile fields -> Template Block Variable profile_fields
$cp->generate_profile_fields('register', $user->get_iso_lang_id());
//
$this->tpl_name = 'ucp_register';
$this->page_title = 'UCP_REGISTRATION';
}
}
?>
Archiv edit
styles/prosilver/template/ucp_register.html
Código: Seleccionar todo
<!-- INCLUDE overall_header.html -->
<script type="text/javascript">
// <![CDATA[
/**
* Change language
*/
function change_language(lang_iso)
{
document.forms['register'].change_lang.value = lang_iso;
document.forms['register'].submit.click();
}
<!-- IF CAPTCHA_TEMPLATE and S_CONFIRM_REFRESH -->
onload_functions.push('apply_onkeypress_event()');
<!-- ENDIF -->
// ]]>
</script>
<form method="post" action="{S_UCP_ACTION}" id="register">
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<h2>{SITENAME} - {L_REGISTRATION}</h2>
<fieldset class="fields2">
<!-- IF ERROR --><dl><dd class="error">{ERROR}</dd></dl><!-- ENDIF -->
<!-- IF L_REG_COND -->
<dl><dd><strong>{L_REG_COND}</strong></dd></dl>
<!-- ENDIF -->
<dl>
<dt><label for="username">{L_USERNAME}:</label><br /><span>{L_USERNAME_EXPLAIN}</span></dt>
<dd><input type="text" tabindex="1" name="username" id="username" size="25" value="{USERNAME}" class="inputbox autowidth" title="{L_USERNAME}" /></dd>
</dl>
<!-- IF S_DISPLAY_REGISTER_KEY -->
<dl>
<dt><label for="key">{L_REGISTER_KEY}:<!-- IF S_ENABLE_KEY_OPTIONAL --> ({L_OPTIONAL})<!-- ENDIF --></label><br /><span>{L_REGISTER_KEY_EXPLAIN}</span></dt>
<dd><input type="text" name="key" id="key" size="25" value="{REGISTER_KEY}" class="inputbox autowidth" title="{L_REGISTER_KEY}" /></dd>
</dl>
<!-- ENDIF -->
<dl>
<dt><label for="email">{L_EMAIL_ADDRESS}:</label></dt>
<dd><input type="text" tabindex="2" name="email" id="email" size="25" maxlength="100" value="{EMAIL}" class="inputbox autowidth" title="{L_EMAIL_ADDRESS}" /></dd>
</dl>
<dl>
<dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label></dt>
<dd><input type="text" tabindex="3" name="email_confirm" id="email_confirm" size="25" maxlength="100" value="{EMAIL_CONFIRM}" class="inputbox autowidth" title="{L_CONFIRM_EMAIL}" /></dd>
</dl>
<dl>
<dt><label for="new_password">{L_PASSWORD}:</label><br /><span>{L_PASSWORD_EXPLAIN}</span></dt>
<dd><input type="password" tabindex="4" name="new_password" id="new_password" size="25" value="{PASSWORD}" class="inputbox autowidth" title="{L_NEW_PASSWORD}" /></dd>
</dl>
<dl>
<dt><label for="password_confirm">{L_CONFIRM_PASSWORD}:</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}" /></dd>
</dl>
<hr />
<dl>
<dt><label for="lang">{L_LANGUAGE}:</label></dt>
<dd><select name="lang" id="lang" onchange="change_language(this.value); return false;" tabindex="6" title="{L_LANGUAGE}">{S_LANG_OPTIONS}</select></dd>
</dl>
<dl>
<dt><label for="tz">{L_TIMEZONE}:</label></dt>
<dd><select name="tz" id="tz" tabindex="7" class="autowidth">{S_TZ_OPTIONS}</select></dd>
</dl>
<!-- IF .profile_fields -->
<dl><dd><strong>{L_ITEMS_REQUIRED}</strong></dd></dl>
<!-- BEGIN profile_fields -->
<dl>
<dt><label<!-- IF profile_fields.FIELD_ID --> for="{profile_fields.FIELD_ID}"<!-- ENDIF -->>{profile_fields.LANG_NAME}:<!-- IF profile_fields.S_REQUIRED --> *<!-- ENDIF --></label>
<!-- IF profile_fields.LANG_EXPLAIN --><br /><span>{profile_fields.LANG_EXPLAIN}</span><!-- ENDIF -->
<!-- IF profile_fields.ERROR --><br /><span class="error">{profile_fields.ERROR}</span><!-- ENDIF --></dt>
<dd>{profile_fields.FIELD}</dd>
</dl>
<!-- END profile_fields -->
<!-- ENDIF -->
<!-- IF S_GROUPS_ON_REGISTRATION -->
<dl>
<dt><label>{L_GROUPS_ON_REGISTRATION}: <!-- IF S_GROUPS_REQUIRED -->*<!-- ENDIF --></label><br /><span>{GROUPS_REGISTRATION_EXP}</span></dt>
<dd><!-- IF S_GROUPS_ON_REG_MULTIPLE --><div style="height: 6em; width: 12em; overflow: auto;">{S_GROUP_MULTIPLE_OPTIONS}</div><!-- ELSE --><select name="reg_group_id" id="reg_group_id" class="autowidth">{S_GROUP_OPTIONS}</select><!-- ENDIF --></dd>
</dl>
<!-- ENDIF -->
</fieldset>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- IF CAPTCHA_TEMPLATE -->
<!-- DEFINE $CAPTCHA_TAB_INDEX = 8 -->
<!-- INCLUDE {CAPTCHA_TEMPLATE} -->
<!-- ENDIF -->
<!-- IF S_COPPA -->
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<h4>{L_COPPA_COMPLIANCE}</h4>
<p>{L_COPPA_EXPLAIN}</p>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<fieldset class="submit-buttons">
{S_HIDDEN_FIELDS}
<!-- IF not S_REGISTER_KEY_EMPTY --><input type="hidden" value="{REGISTER_KEY}" name="key" class="button2" /><!-- ENDIF -->
<input type="reset" value="{L_RESET}" name="reset" class="button2" />
<input type="submit" tabindex="9" name="submit" id="submit" value="{L_SUBMIT}" class="button1 default-submit-action" />
{S_FORM_TOKEN}
</fieldset>
<span class="corners-bottom"><span></span></span></div>
</div>
</form>
<!-- INCLUDE overall_footer.html -->
