User profile update api-ból - nincs jogosultság rejtett mezőkre

fifty képe

Amikor vki kitölt egy webform-ot az oldalamon a webform additional processing részében létrehozok hozzá egy usert user_save() -el és beállítom a user profile fieldeket.

Az a kínom, hogy ha egy user profile field visibility-je 4 - azaz hidden - akkor nem updateli a profile_save_profile, mert a _profile_get_fields -ben van egy ilyen feltétel:

if (!user_access('administer users')) {
    $filters[] = 'visibility != %d';
    $args[] = PROFILE_HIDDEN;
  }

és ugye ilyenkor még anonymous a user, aki kitölti a formot.

Mit tudok tenni, hogyan tudnám kitölteni a hidden fieldeket anélkül, hogy újra implementálnám a profile_save_profile-t?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
pp képe

"hogy újra implementálnám a profile_save_profile-t"
Elég drámaian adod elő ezt a két sql_query-t:
fid-et huzalozd bele és kész.

    db_query("DELETE FROM {profile_values} WHERE fid = %d AND uid = %d", $field->fid, $user->uid);
    db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES (%d, %d, '%s')", $field->fid, $user->uid, $edit[$field->name]);

A fenti metodika egyébként a nem javasolt kategóriába tartozik. Lehet jobb lenne inkább egy modul erre.

pp

0
0
fifty képe

régóta programozok, és párszor belefutottam abba, hogy nem a FW által használt metódust használtam, hanem megnéztem mit csinál és sajátot írtam (akár 1 db sql akár több) aztán verzióváltásnál jött az igazi dráma mikor változott a DB, vagy egy iface ... szal jobb szeretem a FW-t használni ilyenkor

természeretes modul lesz belőle - mer az szebb :)

0
0