problema con la modifica della psw

2 contenuti / 0 new
Ultimo contenuto
problema con la modifica della psw

Salve a tutti!

Come da oggetto ho un problema con la modifica della psw da parte di un utente autenticato.
Il funzionamento è il seguente.
Per registrarsi l'utente deve inserire nome, mail ed un codice che ha ricevuto precedentemente.

L'invio della psw è gestito dal modulo apposito di drupal.

Il problema è che quando voglio modificare la psw mi viene invocato un errore che ho aggiunto io nella funzione profile_validate_profile() di profile.module

Posto il codice in modo che possiate vedere che modifiche ho fatto:

function profile_validate_profile($edit, $category) {
   //echo "profile.module 434"; echo "<pre>"; print_r($edit); echo "</pre><br>";
  $result = _profile_get_fields($category);
//echo "profile.module 436"; echo "<pre>"; print_r($result); echo "</pre><br>";
  while ($field = db_fetch_object($result)) {
   //echo "profile.module 437"; echo "<pre>"; print_r($field); echo "</pre><br>";
    if ($edit[$field->name]) {
      if ($field->type == 'url') {
        if (!valid_url($edit[$field->name], TRUE)) {
          form_set_error($field->name, t('The value provided for %field is not a valid URL.', array('%field' => $field->title)));
        }
      }
    }
    else if ($field->required && !user_access('administer users')) {
      form_set_error($field->name, t('The field %field is required.', array('%field' => $field->title)));
    }
  }
<strong>Le mie modifiche iniziano qui</strong>
$conn = @pg_connect('host=passerina dbname=infolab user=infolab');
if(!$conn) {
    die('Connessione fallita !<br />');
} else {
    //echo 'Connessione riuscita !<br />';
}
if(!$token = @pg_query("SELECT * FROM clienti"))
die("Errore nella query: " . pg_last_error($conn));
$count = 0;
//Inserire qui il vero controllo dei codici.
  if(isset($edit["profile_codice"]))
while($row = pg_fetch_assoc($token)){
if($edit["profile_codice"]!=$row['token']){
$count += 1;
} else {
  return $edit;
}
}
form_set_error("codice", t('Il codice inserito non è valido. Riprovare o contattare il servizio assistenza'));
}

l'errore che mi viene è: Il codice inserito non è valido. Riprovare o contattare il servizio assistenza

Qualcuno mi può aiutare? Anche solo spiegarmi come funziona la modifica delle psw tramite hook. Grazie

Devi prevedere la condizione del campo profile_codice vuoto quando cambi la password??? metti un else al penultimo if.