Example #1
0
 /**
  * Updates informations related to a tutor
  *
  * @access public
  *
  * @param $id the tutor's id
  *        $tutor_ar the informations. empty fields are not updated
  *
  * @return an error if something goes wrong
  *
  */
 public function set_tutor($id, $tutor_ha)
 {
     // backup old values
     $old_values_ha = $this->get_tutor($id);
     $result = $this->set_user($id, $tutor_ha);
     if (self::isError($result)) {
         // $result is an AMA_Error object
         return $result;
     }
     $update_tutor_sql = 'UPDATE tutor SET tariffa=?, profilo=? WHERE id_utente_tutor=?';
     $valuesAr = array(0, $tutor_ha['profilo'], $id);
     $result = $this->queryPrepared($update_tutor_sql, $valuesAr);
     if (AMA_DB::isError($result)) {
         $valuesAr = array($old_values_ha['nome'], $old_values_ha['cognome'], $old_values_ha['email'], $old_values_ha['telefono'], $old_values_ha['password'], $old_values_ha['layout'], $old_values_ha['indirizzo'], $old_values_ha['citta'], $old_values_ha['provincia'], $old_values_ha['nazione'], $old_values_ha['codice_fiscale'], AMA_Common_DataHandler::date_to_ts($old_values_ha['birthdate']), $old_values_ha['sesso'], $old_values_ha['stato'], $old_values_ha['lingua'], $old_values_ha['timezone'], $old_values_ha['cap'], $old_values_ha['matricola'], $old_values_ha['avatar'], $old_values_ha['birthcity'], $old_values_ha['birthprovince'], $id);
         $update_user_sql = 'UPDATE utente SET nome=?, cognome=?, e_mail=?, telefono=?, password=?, layout=?, ' . 'indirizzo=?, citta=?, provincia=?, nazione=?, codice_fiscale=?, birthdate=?, sesso=?, ' . 'stato=?, lingua=?,timezone=?,cap=?,matricola=?,avatar=?, birthcity=?, birthprovince=? WHERE id_utente=?';
         $result = $this->executeCriticalPrepared($update_user_sql, $valuesAr);
         // qui andrebbe differenziato il tipo di errore
         if (AMA_DB::isError($result)) {
             return new AMA_Error(AMA_ERR_UPDATE);
         }
         return new AMA_Error(AMA_ERR_UPDATE);
     }
     return true;
 }