Login - User tábla hack (Játékszerverhez)

szarkab képe

Kedves Drupal közösség!

Egy olyan megoldandó feladatom lenne, aminek a megoldása eléggé nehézkes, valamint nem tudom mennyire megvalósítható.

Egy játék szervert készítünk melynek a honlapja drupal alapú lesz. Az online játék alapját már beállítottuk és elkészítettük. A regisztrációja mindig egy külső oldalon történik egy Control Panelen.

Account hoz létre a control panelen való regisztráció, egy ACCOUNT táblába tárolja a felhazsnálót. Innentől fogva már be lehet lépni a játékba.

Amit megszeretnék oldani, hogy elég legyen a drupal oldalon egy regisztráció, hogy belehessen lépni a játékba. Felhasználókat USER táblába tárolja a drupal.

Ami még nehezíti a problémát, hogy a játék account táblája és a drupal user táblája 2 különböző szerveren van.

Tisztázva (szerintem!) amit meg kellene oldani az az hogy:

A drupalon az user táblába való regisztrációkor, automatikusan létre jöjjön egy Account tábla a másik szerveren!

Ezekkel az értékkel kellene regisztrációt tárolni.

account_id
értéke: 2 000 000 -tól! 2 000 001 ... stb

userid

userpass

sex
értéke: F, M,

email

group_id
értéke: csak 0!

state

unban_time

expiration_time

logincount

lastlogin

last_ip

birthdate
0000-00-00

ipallow
*.*.*.*

member_ide

Sajnos a problémámat nehezen tudom megoldani, mivel nincs nagy tapasztalatom php programozásban. De ha tudom, hogy, hogy kéne elindulnom, akkor általában mindig rájövök a megoldásra.

Drupal verzió: 
szarkab képe

Szerver oldalon egy LOGIN nevü táblába tárolja nem Account. De ez szerintem nem annyira fontos.

CREATE TABLE IF NOT EXISTS `login` (
`account_id` int(11) unsigned NOT NULL auto_increment,
`userid` varchar(23) NOT NULL default '',
`user_pass` varchar(32) NOT NULL default '',
`sex` enum('M','F','S') NOT NULL default 'M',
`email` varchar(39) NOT NULL default '',
`group_id` tinyint(3) NOT NULL default '0',
`state` int(11) unsigned NOT NULL default '0',
`unban_time` int(11) unsigned NOT NULL default '0',
`expiration_time` int(11) unsigned NOT NULL default '0',
`logincount` mediumint(9) unsigned NOT NULL default '0',
`lastlogin` datetime NOT NULL default '0000-00-00 00:00:00',
`last_ip` varchar(100) NOT NULL default '',
`birthdate` DATE NOT NULL DEFAULT '0000-00-00',
PRIMARY KEY (`account_id`),
KEY `name` (`userid`)
) ENGINE=MyISAM AUTO_INCREMENT=2000000;

Ezek a tábla adatok, amiket tárolni kell

0
0
szarkab képe

Hogy amit a drupálon regisztrálok, annak az adatai kerüljenek be a másik szerver Login táblájába.

1
0
nevergone képe

Kicsit nehezen értem, hogy mit szeretnél, de talán ez kell neked: hook_user_login()

1
0
szarkab képe

Mégegyszer röviden van 2 oldal.

Egyik egy control panel ami a játékszerverhez tartozik. Itt regisztrál a játékos login táblába.

és egy drupal website. Azt szeretném megoldani hogy ne keljen külön oldalon regisztrálnia a játékosnak hanem a drupal weboldalon elég legyen.

nehézség még, hogy a 2 tábla séma különböző szerveren vannak.

Megnézem amit küldtél remélem kitudok belőle hámozni valamit. Köszi!

0
0
nevergone képe

„ne keljen külön oldalon regisztrálnia a játékosnak hanem a drupal weboldalon elég legyen”

hook_user_insert()

hook_user_update()

2
0
szarkab képe

ebből munka közvetítő lesz :D :S

0
0
szarkab képe

Most ott vagyok dilemmába, hogy drupalon hol kell ezeket megbabrálni

0
0
nevergone képe

Modult kell írnod, a két fenti hook függvény, amit meg kell valósítanod a modulban.

0
0
szarkab képe

esetleg létezik már hasonló modul? Amit aztán módosítok magam?
Modul íráshoz még egyáltalán nem szagoltam hozzá

0
0
nevergone képe

Mivel az igényed speciális, ezért a megoldás is az lesz. Szóval nem valószínű, hogy találsz.
Hajrá! :)

0
0
szarkab képe

Ha hozzáértővel pénzért csináltatnám meg, milyen árral számolhatok? Tudom, hogy ez a kérdés nem itt a legalkalmasabb.

Mert ha sima php-ba kellene csinálni akkor ismerőseimmel "hamar" megoldanánk, de drupalos környezetben +modulként nehéznek tűnik :S

Ismerőseim egyáltalán nem foglalkoznak CMS rendszerekkel... :(

0
0
mattil képe

Nem biztos, hogy ezt keresed, de talán..:
http://drupal.hu/node/13970

0
0