20 fevereiro 2012

* »« † Mick D'arc ™† »« *

PHPBB3 - Integrando "Separate Login & User Name" com "ACP Add Username"

    Nenhum comentário:

Precisei dos módulos para um fórum na minha facul e descobri em pesquisa na net como integrar os 2 módulos do PHPBB3.
Segue abaixo a tradução da solução, assim como algumas colocações pessoais:


Aqui estão as alterações que fiz para este mod, "ACP Add Username", de modo que ele funciona em conjunto com o "Separate Login & User Name" mod. Todas as alterações foram feitas manualmente para quatro arquivos que vieram com o "ACP Add username" mod. Se você não se sente confortável fazendo alterações manuais para seu sistema, eu sugiro que você não tente fazer isso. Em qualquer caso, eu sugiro que você faça cópias de backup dos arquivos afetados para o caso de você ter problemas. Como um aviso, se você decidir seguir estes passos, você está fazendo isso por seu próprio risco e eu não tenho responsabilidade alguma.

Passo1: Aqui eu estou supondo que você já tem "ACP Add Username" instalado. Então o primeiro passo é baixar e instalar "Separate Login & User Name" mod. Eu sugiro que você deve fazer isso usando AutoMOD. O "Separate Login & User Name" deve funcionar bem, como esperado, mas é claro que vai quebrar o "ACP Add Username" mod. Então, você precisa acompanhar as mudanças sugeridas na próxima sequência de passos para restaurá-la de volta para sua função normal sob as alterações introduzidas pelo "Separate Login & User Name".


Passo2:  Abra o arquivo: adm/style/acp_add_user.html , e edite conforme abaixo:

Encontre:
    <p>{L_REG_COND}</p>

Adicione Depois:
    <dl>
         <dt><label for="loginname">{L_LOGINNAME}:</label>
            <br /><span>{L_LOGINNAME_EXPLAIN}</span>

         </dt>
         <dd><input class="medium" type="text" id="loginname" name="loginname" size="25" maxlength="40" value="{NEW_LOGINNAME}" />

         </dd>
    </dl>


Passo3: Abra o arquivo, includes/acp/acp_add_user.php,  e edite conforme abaixo:

(a) Encontre:
    $data = array(

Adicione Depois:
    'loginname' => utf8_normalize_nfc(request_var('loginname', '', true)), 


(b) Encontre:
    $validate_array = array(

Adicione Depois:
    'loginname' => array(array('string', false, $config['min_name_chars'], $config['max_name_chars']),array('loginname')),


(c) Encontre:
    $user_row = array(

Adicione Depois:
    'loginname' => $data['loginname'], 


(d) Encontre :
    $messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);

Adicione Depois:
    $messenger->headers('X-AntiAbuse: Loginname - ' . $user->data['loginname']); 


(e) Encontre :
    'WELCOME_MSG' => htmlspecialchars_decode(sprintf($user->lang['WELCOME_SUBJECT'], $config['sitename'])),

Adicione Depois:
    'LOGINNAME'  => htmlspecialchars_decode($data['loginname']),


(f)  Encontre :
    $sql = 'SELECT user_id, username, user_email, user_lang, user_jabber, user_notify_type                      FROM ' . USERS_TABLE . ' ' .                      $where_sql; 

Mude por:
    $sql = 'SELECT user_id, loginname, username, user_email, user_lang, user_jabber, user_notify_type                      FROM ' . USERS_TABLE . ' ' .                      $where_sql; 


(g) Encontre :
    'U_USER_DETAILS'   => "$server_url/memberlist.$phpEx?mode=viewprofile&amp;u=$user_id",

Adicione Antes:
    'LOGINNAME' => htmlspecialchars_decode($data['loginname']),


(h) Encontre :
    'ERROR'  => (sizeof($error)) ? implode('<br />', $error) : ''

Adicione Depois :
    'NEW_LOGINNAME'      => $data['loginname'],          'L_LOGINNAME_EXPLAIN'=> sprintf($user->lang[$config['allow_name_chars'] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']), 


Passo4: Abra o arquivo: language/en/email/user_added_inactive.txt, e edite conforme abaixo:

Encontre:
    Username: {USERNAME}

Mude por:
    Login name: {LOGINNAME}

Passo5: Repita o passo 4 com este arquivo: language/en/email/user_added_welcome.txt

Passo6:  Upload os arquivos mmodificados, atualize o template do seu style (eu estou usando o prosilver) e teste a atualização.

Caso o campo de login do usuário não apareça após a atualização do template, delete o arquivo vá na pasta  cache/ctpl_admin_acp_add_user.html.php.


Atualize a página e finite.


Estes foram todos os passos que eu segui e funcionou para mim. Espero que alguém considere-os úteis.

Próximo
« Anterior
Anterior
Próximo »