pp képe

A vicc az, hogy ennyi munka után kb. ugyanott vagyok, mint amikor 10 perc alatt kibővítettem az users táblát... :)

Az biztos, hogy tanultál egy csomó mindent és megismertén egy nagyon jó rendszert, tehát ezért sem vagy ugyan ott. A kapott rendszered pedig (már ha mindent jól csináltál) nem fog egy fél év múlva a fejedre omlani, mert egy összegányolt kóddal pont ez lenne a baj.

pp

0
0
lovrob képe

Javaslom, inkább a httpd.conf-ba írd, ne az apache2.conf-ba.

az apache2.conf-ból idézet:

# Include all the user configurations:
Include /etc/apache2/httpd.conf

Szóval most még lehet átlátod, de később, ha több mindent kell hegeszteni, inkább a httpd.conf-ba írd a saját beállításokat.

(közben átgondoltam, de a hozzászólást már nem törlöm, csináld ahogy jobban tetszik)

Üdv

0
0
Sweetchuck képe

Most már legalább tudod hogy mi különbség a gányolás és a profi megoldás között.

Egyébként nagyon furcsa volt, hogy Nevergone a hook_user() „register” részét idézte. Főleg hogy ott az egyértelmű angol szöveg hogy mire való. Biztos vagyok benne, hogy csak véletlenül tévesztett, vagy azt hitte hogy arra van szükséged.

Innen a távolból a pontos cél ismerete nélkül azt mondom, hogy az én megoldásom a következő lenne:

function xxx_user($op, &$edit, &$account, $category = NULL) {
  switch ($op) {
    case 'insert' :
      //Tudomásom szerint ilyenkor jön létre egy új felhasználó.
	$sql = ”INSERT INTO {xxx_my_data_for_users} (uid, ...) VALUES ('%d', ...);
      $dbr = db_query($sql, $account->uid, ...);
      if (!$dbr) {
        //Hiba kezelés.
      }
      break;
    case 'load' :
      $sql = ”SELECT * FROM {xxx_my_data_for_users} WHERE uid = '%d';
      $dbr = db_query($sql, $account->uid);
      $account->xxx = db_fetch_object($dbr);
      break;
  }
}

Ez csak egy példa volt, ami feltételezi, hogy minden felhasználóhoz tartozik egy rekord a táblában.

Továbbá az adattáblák létrehozása nem kézzel történik.
http://api.drupal.org/api/function/hook_install/5
Ha szeretnéd tudni, hogy hova kell rakni az xxx_install() függvényt, ahhoz lapozgasd át a kézikönyvet.

Az adattábla alapértékekkel való feltöltése:
http://api.drupal.org/api/function/hook_enable/5

Amikor egy telepített Drupal rendszeren először engedélyezel egy modult akkor lefut a hook_install() és utána a hook_enable().
Ez után ha kikapcsolod a modult, és újra engedélyezed, akkor már csak a hook_enable() fog lefutni.

Amennyiben a Drupal 6-hoz fejlesztesz keresgélj a 'hook_schema' kulcsszóra.

0
0
nevergone képe

Nem volt tiszta a kérdés számomra, ezért csak a használandó függvényt tudtam meghatározni, de hogy azon belül pontosan mi kellene, abban már nem voltam biztos. Akkor ezek szerint tévedtem, de nem is baj, köszönöm a precíz hozzászólásokat, én is tanultam belőlük. :)

0
0
aries képe

0
0
aftermodern képe

Az segített hogy nekiesett egy hozzánemértő ember: :-)

  • Fájlok kimásol
  • Könyvtár letöröl
  • Könyvtár létrehoz
  • Fájlok visszamásol

azóta minden oké... de vajon miért?? talán most már mindegy is.

------------------------------------------
Ubuntu Gutsy

0
0
crt képe

És az újjonnan létrehozott könyvtár jogai megegyeznek a régivel?

Üdv: Zoli

0
0
crt képe

Szia.

Pontosan mi a kérdés?
Abból, amit leírtál arra következtetek, hogy csak rá kell kattintanod a "Fórum hozzáadása" linkre és lértehozni egy fórumot. Mikor létrejött, rákattintasz és létrehozod a témákat.

Üdv: Zoli

0
0
vili képe

Az én megoldásom ez lett:

function helix_user($op) {
  if ($op == 'login') {
  	global $user;
	$uid = $user->uid;
 
  // Ez a rész mevizsgálja a 'helix_users' táblát, hogy szerepel-e benne az
  // 'uid' érték. Ha igen, akkor az $uid2 = $uid.
  $eredmeny = db_query("SELECT * FROM helix_users WHERE uid2 LIKE $uid");
  while($sor = db_fetch_object($eredmeny)){
  	$uid2 = $sor->uid2;
  }
  // Ha az $uid2 nem egyenlő $uid -dal, akkor beszúrja a kezdő sort a
  // helix_users táblába 
  	if ($uid != $uid2) {
		db_query("INSERT INTO helix_users (uid2) VALUES ($uid)");
	}
  }
}


Továbbá az adattáblák létrehozása nem kézzel történik.
Tudom, de itt most csupán egy saját felhasználású modulról van szó. Ha terjeszteni akarnám, akkor mindenképp csinálnék install részt is.

Amennyiben a Drupal 6-hoz fejlesztesz keresgélj a 'hook_schema' kulcsszóra.
Ó, megmaradok egyelőre az 5-ös verziónál. Itt is van tanulnivaló bőven! :)

Még egyszer köszönöm mindenkinek a segítő hozzászólásokat!
Ezek után ha gondom lesz, akkor már a fórum modul fejlesztéses részében fogok kérdezni tőletek!

0
0

bye:vili
www.kekhalal.net

Sweetchuck képe

Régen a Füles újságban volt olyan játék, hogy két egyformának tűnő képen meg kellet keresni az apró, ám de lényeges különbségeket.

Szerintem neked is kéne ilyen játékot játszanod. :-D
egyik kép

  $eredmeny = db_query("SELECT * FROM helix_users WHERE uid2 LIKE $uid");



másképp
  $eredmény = db_query("SELECT * FROM {helix_users} WHERE uid2 = '%d'", $user->uid);

Van különösebb oka annak, hogy a LIKE operátort választottad?
Ha az adattábla rekordjából csak 1 mezőre vagy kíváncsi akkor ne a ”SELECT *”-ot használd. Fölöslegesen növeli a hálózati adatforgalmat.
Ha az uid2 mező egyedi akkor miért kell while ciklus?
Ha az uid2 mező nem egyedi akkor miért csak az utoljára kiolvasott rekordra vagy kíváncsi?
A hook_user signaturája így néz ki:hook_user($op, &$edit, &$account, $category = NULL)
Az $account paraméter nem véletlen.
http://api.drupal.org/api/function/db_num_rows/5

Előbbi hozzászólásod alapján azt hinné az ember, hogy megértetted hogy miért fontos a Drupal hook rendszerét használni, és a javaslatokat (nem az enyémét/miénket hanem a Drupal-ét) betartani. (hook_install())
Külnben a Drupal fog betartani neked. :-)

0
0