Joomla.it Forum

Componenti per Joomla! => Gestione utenti e community => : Roberto202 11 Dec 2008, 20:10:51

: Mail di attivazione account in manuale
: Roberto202 11 Dec 2008, 20:10:51
Ciao a tutti

ho sbirciato nel forum ma non ho trovato nulla di inerente alla mia richiesta...

Vorrei fare in modo che la mail di abilitazione dell' account utenti inviata subito dopo la registrazione, non fosse in automatico ma gestita manualmente da me. Per indenderci vorrei poter decidere io se abilitare o meno gli account...

Come faccio?
: Re: Mail di attivazione account in manuale
: rinuccio 11 Dec 2008, 23:28:59
Vai in configurazione, Configurazione Utente, attivazione nuovi utenti [NO] Cosi sarai te ad abilitarli...
: Re: Mail di attivazione account in manuale
: Roberto202 12 Dec 2008, 08:51:23
Se faccio come hai detto tu ho l' abilitazione dell' account in automatico senza neppure la mail di conferma...

Io vorrei poter abilitare l' account personalmente su richiesta dell' utente
: Re: Mail di attivazione account in manuale
: rinuccio 12 Dec 2008, 16:19:05
O_O com'è che ti funziona in modo inverso XD

Se setti NO tu admin, ricevi l'email che ti segnala 1 nuova iscrizione, ma se non abiliti l'utente da backernd qusto nn puo loggarsi
: Re: Mail di attivazione account in manuale
: Roberto202 12 Dec 2008, 17:21:46
azz... mi funziona in modo inverso... come lo correggo questo problema?
: Re: Mail di attivazione account in manuale
: rinuccio 12 Dec 2008, 17:23:35
Uhm... che versione di J! hai? è piu probabile che n ci siamo capiti piu che 1 bug ;D
: Re: Mail di attivazione account in manuale
: Roberto202 12 Dec 2008, 17:48:45
1.5.8
: Re: Mail di attivazione account in manuale
: skamanxp 17 Dec 2008, 12:27:16
Confermo il problema riscontrato da Roberto202... oltretutto la descrizione della funzione è in linea con il comportamento:

:
Attivazione nuovi utenti.
Determina se un nuovo utente dovrà attivare il proprio account prima di poterlo utilizzare.
Se impostato su Sì, ai nuovi utenti verrà spedita una mail contenente un link ad un indirizzo web.
L'utente deve cliccare sul link per attivare il proprio account.
Di default è impostato su Sì.

Ovviamente ad opzione disabilitata l'utente è automaticamente attivato.
Avevo pensato di intercettato la stringa SQL dal codice di joomla dove avviene l'inserimento nel DB e forzarlo su disabilitato... ma è decisamente una soluzione poco elegante che andrebbe a farsi friggere al primo aggiornamento di joomla... qualche idea?
: Re: Mail di attivazione account in manuale
: Roberto202 17 Dec 2008, 13:32:34
Disabilitare la stringa potrebbe essere una soluzione temporanea in attesa di qualcosa di definitivo... Io però non saprei da che parte cominciare per modificare questa stringa :-(
Ho cercato anche qualche modulo o plugin per risolvere questo problema, ma non ho trovato nulla
: Re: Mail di attivazione account in manuale
: skamanxp 17 Dec 2008, 14:12:21
Stavo provando Community Builder che dovrebbe farlo (e dovrebbe anche permettere di personalizzare i campi di registrazione).
Però ho dei problemi a farlo andare... mi leggo un po' di doc e poi ti faccio sapere...
: Re: Mail di attivazione account in manuale
: skamanxp 17 Dec 2008, 14:24:57
Per funzionare funziona... però installa un sacco di roba che non voglio e che non serve... non sono riuscito a personalizzare i form di registrazione per ora.
Vedo di renderlo esteticamente accettabile e vediamo come butta... un qualcosa di più essenziale comunque sarebbe meglio
: Re: Mail di attivazione account in manuale
: skamanxp 17 Dec 2008, 15:14:44
Niente... community builder non fa per me.
Al momento ho risolto modificando il codice di joomla (per brutto che sia)... speriamo in una futura soluzione da parte degli sviluppatori di joomla.

Comunque a chi interessasse la procedura è questa:

Aprite il file components/com_user/controller.php
Cercate il seguente blocco di codice
:
// If user activation is turned on, we need to set the activation information
$useractivation = $usersConfig->get( 'useractivation' );
if ($useractivation == '1')
{
jimport('joomla.user.helper');
$user->set('activation', JUtility::getHash( JUserHelper::genRandomPassword()) );
$user->set('block', '1');
}

e dopo la graffa aggiungete

:
else $user->set('block', '1');

In modo da ottenere il seguente risultato finale:
:
// If user activation is turned on, we need to set the activation information
$useractivation = $usersConfig->get( 'useractivation' );
if ($useractivation == '1')
{
jimport('joomla.user.helper');
$user->set('activation', JUtility::getHash( JUserHelper::genRandomPassword()) );
$user->set('block', '1');
}
else $user->set('block', '1');

In questo modo funziona così:
se si setta in amministrazione la voce "Attivazione nuovi utenti" su "SI" viene creato l'account e mandata una mail all'utente con il linkback per l'attivazione.
Se la voce "Attivazione nuovi utenti" viene messa su "NO" l'account viene creato e bloccato (sarà poi premura dell'amministratore sbloccare i nuovi account).

E' la soluzione più semplice che ho trovato (e richiede una sola riga di codice).. anche se non mi posso definire soddisfatto della soluzione...
Comunque funziona...  :)
: Re: Mail di attivazione account in manuale
: Roberto202 17 Dec 2008, 17:27:39
Ti ringrazio tantisso... ;D