Cambio di status per gli account

Aperto da Alex, Lunedì - 09 Giugno 2014 - 11:00

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Alex

mi riferisco a questa mod
http://custom.simplemachines.org/mods/index.php?mod=1577

La mod promette di cambiare lo status di un utente tra utente attivo o da attivare, attraverso una semplice scelta che va ad aggiungersi al menu account utenti.

Fin qui nulla da eccepire. Funziona.

Il problema viene riscontrato successivamente, quando un utente "non attivo" chiede a smf di rispedire una email di convalida account al proprio indirizzo email.

L'email viene generata e spedita, tuttavia penso che manchi qualche informazione. In particolare il "code".

Non mi addentro ora nello specifico perchè ignoro come funzioni quest'aspetto di smf.
Pertanto mi limito ad incollare l'email che riceve un utente, evidenziando in rosso la parte che secondo me manca.

CitazioneGrazie per esserti registrato su mioForum. Il tuo username è UTENTE. Se dimentichi la tua password, puoi resettarla visitando mioforum/forum/index.php?action=reminder.

Prima di poter effettuare il login, devi attivare il tuo account. Per farlo, segui questo link:

mioforum/forum/index.php?action=activate;u=110;code=

Se riscontri problemi nell'attivazione, visita mioforum/forum/index.php?action=activate;u=110 ed immetti il codice "".

Saluti,
....Community & Forum

Specifico inoltre che l'ultimo aggiornamento della mod è per la 2.0.6, mentre io l'ho testata sulla 2.0.7.

Grazie per ogni aiuto.

Darknico

Non conosco bene come funziona l'attivazione, ma guardando la mod vedo che non fa nulla di che, quindi sta usando l'attivazione sua, niente di custom..
Sicuro che il problema non si proprio nel tuo forum? Magari dovuta a qualche altra modifica al core e/o traduzione?
Non supporto privatamente, non risponderei e ci rimarreste male....

Alex

Citazione di: Darknico il Lunedì - 09 Giugno 2014 - 11:04
Sicuro che il problema non si proprio nel tuo forum? Magari dovuta a qualche altra modifica al core e/o traduzione?

No, non ne sono sicuro.
Tu per caso hai constatato il buon funzionamento di questa mod?

Perchè nel caso in cui questa ti funziona, per esclusione andiamo a ricercare nel core eventuali errori.

Darknico

Non l'ho provata, ma vedendo cosa modifica sono sicuro che non centra(sicuro è morto, direi al 90% :P)
Appena ho un attimo provo...
Nel frattempo sai dirmi che altri modifiche hai effettuato?
Non supporto privatamente, non risponderei e ci rimarreste male....

Alex

Citazione di: Darknico il Lunedì - 09 Giugno 2014 - 11:09
Nel frattempo sai dirmi che altri modifiche hai effettuato?

Uh mamma...in sei anni di forum non saprei quante ne sono state fatte.

Nel frattempo, con la mod disinstallata, ho provato a fare un comune recupero password ed il forum mi genera una email corretta con tanto di codice annesso.

Es.

CitazioneUtente,
La funzione di recupero della password è stata attivata per il tuo account. Per impostare una nuova password clicca sul link seguente:
mioforum/forum/index.php?action=reminder;sa=setpassword;u=112;code=f700d1a36a

emanuele

Potrei sbagliarmi, ma quando SMF disattiva un utente, in quel momento crea il codice per la riattivazione, quindi se così fosse questo mod non fa parte di quello che dovrebbe e SMF non può più generare codici di attivazione.
Ma vado a memoria e potrei sbagliarmi...

Alex

Citazione di: emanuele il Lunedì - 09 Giugno 2014 - 11:39
in quel momento crea il codice per la riattivazione, quindi se così fosse questo mod non fa parte di quello che dovrebbe ...

Scusami Emanuele ma non ho compreso.

emanuele

Il codice di attivazione, di norma, viene generato quando disattivi l'account.
Questo mod non lo genera.
Per "aggiustare" il mod bisognerebbe come minimo assomigliare a qualcosa di questo genere:

'is_activated' => array(
'type' => 'select',
'cast_type' => 'int',
'options' => 'return array(0 => \'Pending\', 1 => \'Activated\');',
'label' => 'Account Status',
'permission' => 'moderate_forum',
'input_validate' => create_function('&$value', '
global $context, $old_profile, $context, $profile_vars, $sourcedir, $modSettings;

if (empty($value))
return true;

require_once($sourcedir . \'/Subs-Members.php\');
$profile_vars[\'validation_code\'] = generateValidationCode();
$profile_vars[\'is_activated\'] = 2;
$context[\'profile_execute_on_save\'][] = \'profileSendActivation\';
unset($context[\'profile_execute_on_save\'][\'reload_user\']);

return true;
'),

Alex


Alex

Dopo la modifica indicata ottengo un risultato inaspettato.

Nelle impostazioni account di ciascun utente, si è spostata la voce "nome visualizzato", andando a finire in basso ed il relativo campo di input, mostra valore 1.



[allegato eliminato da un amministratore]

emanuele


Alex


emanuele

Prova questo.
C'era un po' troppo codice e un altro campo era messo male (la latitudine).

Alex

ho usato il file che mi hai allegato, e - con mia immensa gioia - funziona! Restituisce via email il codice necessario alla riattivazione dell' account.

Purtroppo però dalle impostazioni account degli utenti e sparita la voce "nome visualizzato".

Nel ringraziarti nuovamente Emanuele, saresti così gentile da verificare quanto ho segnalato in questo post?

Grazie.

emanuele

A dire il vero non capisco come faceva ad essere visualizzato in quello che mi hai passato dato che già là il campo mancava in toto...

Discussioni simili (3)