User module hiba?

cre képe

Egy különleges felállással próbáljuk életrekelteni a Drupált.
Adatbázisként Sybase ASA 7-est használunk. Megírtuk hozzá a PEAR modult, átírtuk azon részeit a Drupal-nak, amit sajna mindenképpen változtatni kellett (ez a része nyilván nem szerencsés a későbbi frissítések miatt), amit lehetett az asa modulba raktunk. Ha sikerrel járunk majd közreadjuk a tapasztalatainkat, de most egy számomra átláthatatlan hibába botlottunk.

A felhasználók beállításánál a következő van beállítva:
- A látogatók új felhasználót regisztrálhatnak adminisztrátori elfogadás nélkül.

Mégis mikor regisztrálnék egy új felhasználót, akkor levelet küld a site adminnak, hogy igényeltem egy új felhasználói azonosítót. A levél tartalma:

felhasználói azonosítót igényelt.

http://honlap/elérési/útja/?q=user//edit

A felhasználó pedig a következő képernyőt látja:

Köszönjük, hogy felhasználói névért folyamodott webhelyünkön. Regisztrációja jelenleg az adminisztrátorok elfogadására vár.
A további teendőkről egy levél a jelszavával együtt hamarosan megérkezik az email címére.

A user.module-ban ezt hajtja végre:

$account = user_save('', array_merge(array('name' => $edit['name'], 'pass' => $pass, 'init' => $edit['mail'], 'mail' => $edit['mail'], 'roles' => array(_user_authenticated_id()), 'status' => (variable_get('user_register', 1) == 1 ? 1 : 0)), $edit));

Ezek után mivel a user_save-ben ''-t kapott az $account változó, így erre a sorra jut a végrehajtás:
db_query('INSERT INTO {users} ('. implode(', ', $fields) .') VALUES ('. implode(', ', $s) .')', $values);
, ahol a $fields a 'roles'-t is tartalmazza, s ilyen mezője nincs a users táblának.

Az egészhez hozzáteszem, hogy van egy általam telepített másik honlap, ami mysql-el persze tökéletesen megy, de itt sajnos a Sybase a követelmény.

Hojtsy Gábor képe

Hát ha olyan mezőt akar beilleszteni, ami nincs, akkor az hiba, és jelenteni kellene a Drupal bug felületen. Lehetőleg patch-el ellátva, mert különben egyáltalán nem biztos, hogy bárki is észreveszi...

Goba

0
0