Página 1 de 1

Convite para se registrar!

Enviado: 08 Set 2012, 00:05
por julioriva
Caros,

boa tarde.

Existe alguma opção ou mod que permita que novos usuários só possam fazer registro se houverem recebido convite de outro usuário ativo?

Qual a URL do seu fórum: metamorofoseie-se.org
Tipo de Hospedagem: Pago
Qual a versão do phpBB: phpBB 3.0.11
É um novo ou uma conversão: Instalação Limpa
Usuário de teste: Usuário: Teste Senha: teste123
Estilos instalados: pro-silver
Vários!
Modificações instaladas: Várias
Qual seu nivel de experiência: Iniciante
Quando começou o problema: Instalação!
Descreva seu problema: Na verdade não se trata de um problema. Eu criei um forum que será de uso basicamente particular e gostaria de saber se há alguma ferramenta que permita que o cadastro seja feito somente mediante convite enviado por alguém já cadastrado.

Re: Registro!

Enviado: 08 Set 2012, 11:34
por robra
Além disso, edite o título de sua mensagem anterior para "Convite para se registrar" ou algo parecido que resuma o assunto do tópico, porque só "Registro!" não ajudará os demais usuários que tiverem a mesma dúvida e que procuram a mesma solução.

Abraço. Imagem

Re: Convite para se registrar!

Enviado: 08 Set 2012, 12:28
por The Crow
Na minha opinião esse é muito bom phpBB Invite

Re: Convite para se registrar!

Enviado: 08 Set 2012, 13:09
por robra
Qual a URL do seu fórum: metamorofoseie-se.org
Não consegui acessar o seu Fórum.
Qual o endereço correto dele :?:

Abraço. Imagem

Re: Convite para se registrar!

Enviado: 08 Set 2012, 13:24
por julioriva
http://metamorfoseie-se.org/
robra escreveu:
Qual a URL do seu fórum: metamorofoseie-se.org
Não consegui acessar o seu Fórum.
Qual o endereço correto dele :?:

Abraço. Imagem
http://metamorfoseie-se.org/

Re: Convite para se registrar!

Enviado: 08 Set 2012, 13:45
por _Vinny_
A MOD indicada pelo The Crow é exatamente o que você precisa para fazer os convites.

Re: Convite para se registrar!

Enviado: 08 Set 2012, 14:05
por julioriva
Quando vou instalar, aparece a seguinte mensagem, pergunta se eu quero "Forçar a instalação".

Devo apertar que sim?

Pois aparece que muitas coisas serão alteradas.


One or more install actions failed. Please review the actions below, make any adjustments and retry. You may continue with the installation even though some of the actions failed. This is not recommended and may cause your board to not function correctly.


File edits
includes/acp/acp_board.php

Find
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
Add After
// Invite Start
global $invite_install, $meghivo, $meghivo_config;
// Invite End
Success

Find
'require_activation' => array('lang' => 'ACC_ACTIVATION', 'validate' => 'int', 'type' => 'custom', 'method' => 'select_acc_activation', 'explain' => true),
Add After
// Invite Start
'require_ac_invite' => ($invite_install) ? $meghivo->select_acc_invite($config['require_ac_invite']) : false,
// Invite End
The Find specified by the MOD could not be found

Find
// Do not write values if there is an error
if (sizeof($error))
{
$submit = false;
}
Add After
// Invite Start
if (!$submit && $mode == 'registration' && $invite_install && !$config['email_enable'] && $config['require_ac_invite'] != ACC_INVITE_DISABLE && $meghivo_config['meghivo_enable'])
{
$error[] = sprintf($user->lang['ACP_MEGHIVO_EMAIL_BOARD_DISABLED'], '<a href="' . append_sid("{$phpbb_admin_path}index.$phpEx", "i=board&mode=email") . '">', '</a>');
}
// Invite End
Success
includes/ucp/ucp_register.php

Find
global $config, $db, $user, $auth, $template, $phpbb_root_path, $phpEx;
Add After
// Invite Start
global $invite_install, $meghivo, $meghivo_config, $meghivo_user;

$meghivo_user = false;

if ($invite_install)
{
$meghivo->verify($meghivo_user);
}
// Invite End
Success

Find
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
Replace With
if (!$meghivo_user && $config['require_activation'] == USER_ACTIVATION_DISABLE)
Success

Find
$user_lang = request_var('lang', $user->lang_name);
Add After
// Invite Start
$email_address = ($meghivo_user) ? $meghivo_user['mmail'] : '';
$email_address_change = (!$meghivo_user || ($meghivo_user && $meghivo_config['email_address_change'])) ? true : false;

$e_mail = strtolower(($email_address_change) ? request_var('email', $email_address) : $email_address);
$e_mail_confirm = strtolower(($email_address_change) ? request_var('email_confirm', $email_address) : $email_address);
// Invite End
Success

Find
$user->add_lang(array('common', 'ucp'));
Replace With
$user->add_lang(array('common', 'ucp', 'mods/meghivo'));
Success

Find
$s_hidden_fields = array(
'change_lang' => $change_lang,
);
Add After
// Invite Start
if ($coppa === false && $config['coppa_enable'] && $meghivo_user)
{
$add_lang.="&muid={$meghivo_user['muid']}&mkey={$meghivo_user['mkey']}";
}

if ($meghivo_user)
{
$s_hidden_fields = array_merge($s_hidden_fields, $meghivo_user);
}
// Invite End
Success

Find
'email' => strtolower(request_var('email', '')),
'email_confirm' => strtolower(request_var('email_confirm', '')),
Replace With
'email' => $e_mail,
'email_confirm' => $e_mail_confirm,
Success

Find
'email' => strtolower(request_var('email', '')),
'email_confirm' => strtolower(request_var('email_confirm', '')),
Replace With
'email' => $e_mail,
'email_confirm' => $e_mail_confirm,
Success

Find
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
Add Before
// Invite Start
if ($meghivo_user)
{
$meghivo->delet($meghivo_user, $user_row, $user_id);
}
// Invite End
Success

Find
if ($config['enable_confirm'])
{
$s_hidden_fields = array_merge($s_hidden_fields, $captcha->get_hidden_fields());
}
Add After
// Invite Start
if ($meghivo_user)
{
$s_hidden_fields = array_merge($s_hidden_fields, $meghivo_user);
}
// Invite End
Success
includes/constants.php

Find
?>
Add Before
// Invite Start
include($phpbb_root_path . 'includes/meghivo/constants.' . $phpEx);
// Invite End
Success
includes/functions.php

Find
// The following assigns all _common_ variables that may be used at any point in a template.
Add Before
// Invite Start
global $invite_install, $meghivo, $meghivo_config;

$reg_meghivo = true;
if ($invite_install && $meghivo_config['meghivo_enable'] && $config['require_ac_invite'] != ACC_INVITE_DISABLE)
{
$meghivo->ini($reg_meghivo);
}
// Invite End
Success

Find
'S_REGISTER_ENABLED' => ($config['require_activation'] != USER_ACTIVATION_DISABLE) ? true : false,
Replace With
// Invite Start
'S_REGISTER_ENABLED' => ($config['require_activation'] != USER_ACTIVATION_DISABLE && $reg_meghivo) ? true : false,
// Invite End
Success
includes/functions_user.php

Find
if ($config['newest_username'] == $old_name)
Add Before
// Invite Start
global $invite_install, $meghivo;

if ($invite_install)
{
$meghivo->update_username($old_name, $new_name);
}
// Invite End
Success

Find
'user_form_salt' => unique_id(),
);
Add After
// Invite Start
global $meghivo, $invite_install;

if ($invite_install)
{
$meghivo->invite_add_rows($additional_vars);
}
// Invite End
Success

Find
// Now make it the users default group...
group_set_user_default($user_row['group_id'], array($user_id), false);
Add After
// Invite Start
if ($invite_install)
{
$meghivo->default_group($user_id, $sql_ary['user_new']);
}
// Invite End
Success

Find
// Before we begin, we will remove the reports the user issued.
Add Before
// Invite Start
global $meghivo, $invite_install;

if ($invite_install)
{
$meghivo->delete_user($user_id);
}
// Invite End
Success

Find
$sql = 'UPDATE ' . TOPICS_TABLE . " SET topic_last_poster_colour = '" . $db->sql_escape($sql_ary['user_colour']) . "'
WHERE " . $db->sql_in_set('topic_last_poster_id', $user_id_ary);
$db->sql_query($sql);
Add After
// Invite Start
global $invite_install;

if ($invite_install)
{
$sql = 'UPDATE ' . INVITE_USERS_TABLE . " SET user_colour = '" . $db->sql_escape($sql_ary['user_colour']) . "'
WHERE " . $db->sql_in_set('user_id', $user_id_ary);
$db->sql_query($sql);
}
// Invite End
Success
styles/prosilver/template/memberlist_view.html

Find
<dt>{L_VISITED}:</dt> <dd>{VISITED}</dd>
Add After
<!-- IF MEGHIVO_USER_NAME -->
<dt>{L_MEGHIVO_INVITED}:</dt>
<dd>{MEGHIVO_USER_NAME}</dd>
<!-- ENDIF -->
<dt>{L_MEGHIVO_INVITES}:</dt>
<dd><!-- IF MEGHIVO_USERS_LIST --><a href="{MEGHIVO_USERS_LIST}">{MEGHIVO_USER_DB}</a><!-- ELSE -->{MEGHIVO_USER_DB}<!-- ENDIF --></dd>
Success
styles/prosilver/template/overall_header.html

Find
<a href="{U_PROFILE}" title="{L_PROFILE}" accesskey="e">{L_PROFILE}</a>
Add After
<!-- IF U_INVITE -->&bull; <a href="{U_INVITE}">{L_INVITE}</a> &bull;<!-- ENDIF -->
Success

Find
<!-- IF S_BOARD_DISABLED and S_USER_LOGGED_IN and (U_MCP or U_ACP) -->
<div id="information" class="rules">
<div class="inner"><span class="corners-top"><span></span></span>
<strong>{L_INFORMATION}:</strong> {L_BOARD_DISABLED}
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
Add After
<!-- IF S_MEGHIVO_PETITION -->
<div id="invite_info" class="rules">
<div class="inner"><span class="corners-top"><span></span></span>
<strong>{L_INFORMATION}:</strong> <a href="<!-- IF U_ACP_MEGHIVO_PETITION -->{U_ACP_MEGHIVO_PETITION}<!-- ELSEIF U_MCP_MEGHIVO_PETITION -->{U_MCP_MEGHIVO_PETITION}<!-- ENDIF -->">{S_MEGHIVO_PETITION}</a>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
Success
styles/prosilver/template/ucp_register.html

Find
<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>
Replace With
<dl>
<dt><label for="email">{L_EMAIL_ADDRESS}:</label></dt>
<dd><input <!-- IF S_MEGHIVO_EMAIL_BLOCK -->disabled="disabled"<!-- ENDIF --> type="text" tabindex="2" name="email" id="email" size="25" maxlength="100" value="{EMAIL}" class="inputbox autowidth" title="{L_EMAIL_ADDRESS}" /><!-- IF S_MEGHIVO_EMAIL_BLOCK -->{L_MEGHIVO_EMAIL_BLOCK}<!-- ENDIF --></dd>
</dl>
<dl>
<dt><label for="email_confirm">{L_CONFIRM_EMAIL}:</label></dt>
<dd><input <!-- IF S_MEGHIVO_EMAIL_BLOCK -->disabled="disabled"<!-- ENDIF --> 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>
The Find specified by the MOD could not be found
styles/prosilver/theme/stylesheet.css

Find
@import url("colours.css");
Add After
/* Invite Start */
@import url("meghivo.css");
/* Invite End */
Success
common.php

Find
$config = $cache->obtain_config();
Add After
// Invite Start
$invite_install = (defined('IN_INVITE') && isset($config['require_ac_invite'])) ? true : false;
if ($invite_install)
{
include($phpbb_root_path . 'includes/meghivo/functions.' . $phpEx);
$meghivo = new meghivo();
}
// Invite End
Success
memberlist.php

Find
if (!in_array($mode, array('', 'group', 'viewprofile', 'email', 'contact', 'searchuser', 'leaders')))
In-Line Find
, 'leaders'
In-Line After, Add
, 'meghivo_users_list'
Success

Find
// What do you want to do today? ... oops, I think that line is taken ...
switch ($mode)
{
Add After
// Invite Start
case 'meghivo_users_list':
$user->add_lang('mods/info_ucp_meghivo');
$page_title = $user->lang['UCP_MEGHIVO_USER'];
$meghivo->members_list('member', $user_id);
$template_html = 'memberlist_meghivo.html';
break;
// Invite End
Success

Find
else
{
$member['posts_in_queue'] = 0;
}
Add After
// Invite Start
if ($invite_install)
{
$meghivo->ac_user($user_id, $member['user_meghivo_member']);
}
// Invite End
Success
styles/subsilver2/template/memberlist_view.html

Find
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_VISITED}: </td>
<td width="100%"><b class="gen">{VISITED}</b></td>
</tr>
Add After
<!-- IF MEGHIVO_USER_NAME -->
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_MEGHIVO_INVITED}:</td>
<td width="100%"><b class="gen">{MEGHIVO_USER_NAME}</b></td>
</tr>
<!-- ENDIF -->
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" nowrap="nowrap">{L_MEGHIVO_INVITES}:</td>
<td width="100%"><b class="gen"><!-- IF MEGHIVO_USERS_LIST --><a href="{MEGHIVO_USERS_LIST}">{MEGHIVO_USER_DB}</a><!-- ELSE -->{MEGHIVO_USER_DB}<!-- ENDIF --></b></td>
</tr>
Success
styles/subsilver2/template/overall_header.html

Find
<!-- IF S_USER_LOGGED_IN -->&nbsp; &nbsp;<a href="{U_PROFILE}"><img src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" alt="*" /> {L_PROFILE}</a><!-- ENDIF -->
Add After
<!-- IF S_USER_LOGGED_IN and U_INVITE -->&nbsp; &nbsp;<a href="{U_INVITE}"><img src="{T_THEME_PATH}/images/icon_mini_profile.gif" width="12" height="13" alt="*" /> {L_INVITE}</a><!-- ENDIF -->
Success

Find
<br style="clear: both;" />
Add After
<!-- IF S_MEGHIVO_PETITION -->
<br /><strong>{L_INFORMATION}:</strong>
<a href="<!-- IF U_ACP_MEGHIVO_PETITION -->{U_ACP_MEGHIVO_PETITION}<!-- ELSEIF U_MCP_MEGHIVO_PETITION -->{U_MCP_MEGHIVO_PETITION}<!-- ENDIF -->" style="color: red;">{S_MEGHIVO_PETITION}</a>
<br /><br />
<!-- ENDIF -->
Success
styles/subsilver2/template/ucp_register.html

Find
<tr>
<td class="row1"><b class="genmed">{L_EMAIL_ADDRESS}: </b></td>
<td class="row2"><input class="post" type="text" name="email" size="25" maxlength="100" value="{EMAIL}" /></td>
</tr>
<tr>
<td class="row1"><b class="genmed">{L_CONFIRM_EMAIL}: </b></td>
<td class="row2"><input class="post" type="text" name="email_confirm" size="25" maxlength="100" value="{EMAIL_CONFIRM}" /></td>
</tr>
Replace With
<tr>
<td class="row1"><b class="genmed">{L_EMAIL_ADDRESS}: </b></td>
<td class="row2"><input <!-- IF S_MEGHIVO_EMAIL_BLOCK -->disabled="disabled"<!-- ENDIF --> class="post" type="text" name="email" size="25" maxlength="100" value="{EMAIL}" /><!-- IF S_MEGHIVO_EMAIL_BLOCK -->{L_MEGHIVO_EMAIL_BLOCK}<!-- ENDIF --></td>
</tr>
<tr>
<td class="row1"><b class="genmed">{L_CONFIRM_EMAIL}: </b></td>
<td class="row2"><input <!-- IF S_MEGHIVO_EMAIL_BLOCK -->disabled="disabled"<!-- ENDIF --> class="post" type="text" name="email_confirm" size="25" maxlength="100" value="{EMAIL_CONFIRM}" /></td>
</tr>
The Find specified by the MOD could not be found
styles/subsilver2/theme/stylesheet.css

Find
/* Layout
------------ */
Add After
/* Invite Start */
@import url("meghivo.css");
/* Invite End */
Success

Re: Convite para se registrar!

Enviado: 08 Set 2012, 15:46
por robra
1º) A postagem de códigos é feita utilizando o BBcode Code. Ok ?
Edite sua mensagem anterior e coloque todo o texto a partir do 1º "Files edit" dentro do BBcode Code, porque aí ficará com barra de rolagem.

2º) Já tentou usar a Pesquisa Personalizada, no topo da página, abaixo do logo e das abas de navegação ?
Faça isso e digite lá o texto "automod" e você encontrá um artigo que explica como instalar MODs pelo AutoMOD.

Abraço. Imagem

Re: Convite para se registrar!

Enviado: 08 Set 2012, 19:08
por robra
robra escreveu:
julioriva escreveu:Robra,

Obrigado pelo apoio e educação no tópico.

Fantásticos mesmo!

Entretanto vou precisar estudar mais do assunto antes de continuar com ele. Por gentileza, exclua, feche ou tranque o tópico.

Voltarei no futuro com mais conhecimento para poder discutir e aprender de forma mais optimizada.

Att,

Julio Riva.
Julio.
No começo parece complicado mas depois de ir praticando você pega a manha.
Comece se familiarizando com os BBcodes. Faça o que postei lá. Entre na edição de sua mensagem, selecione o texto a partir do 1º "File edits" até o final e depois clique no botão "Code" para que todo o texto selecionado fique dentro do BBcode Code.
Depois leia o artigo "Instalando Mods com o AutoMOD" para saber como fazer na situação que você cita.
Para editar os arquivos citados pelo AutoMOD, baixe-os de seu Fórum, abra-os com o programa Notepad++. realize a edição solicitada e faça upload do arquivo para a respectiva pasta em seu Fórum.
Só praticando que você irá aprender.

Abraço. Imagem

Re: Convite para se registrar!

Enviado: 08 Set 2012, 20:35
por The Crow
De uma olhada nesse tutorial que está bem detalhado Instalando MODs com o AutoMOD