Jump to content
php.lv forumi

Kohana - kā korekti izveidot lietotāju grupu sistēmu?


reGative

Recommended Posts

Sveiki!

 

Būvēju pamazām savu forumiņu ar Kohana. Bet apstājos pie lietotāju grupām. Vēlmīte tāda, lai būtu iespēja pārvaldīt lietotāju grupas, nemainot pašu sistēmu. Bija domas i par bitu bīdīšanu, ķip adminiem būtu 1000, adminiem un moderiem būtu 1100, bet ja vajag vēl kādu grupu, tad jāmaina sistēma. Tātad, kā pareizi un korekti to visu loģiski sataisīt tā, lai katrai grupai būtu savas pieejas, un lai piemēram viesis nevarētu darīt to, ko var darīt lietotājs vai admins.

 

Ceru, ka domu izteicu visai skaidri. Lūgums izskaidrot pēc iespējas skaidrāk un nebārt mani.

Link to comment
Share on other sites

  • Replies 44
  • Created
  • Last Reply

Top Posters In This Topic

es taisītu 2 papildus tabulas: lietotāju grupas(lietotāja id, grupa) un attiecīgi kategoriju grupas(kategorijas id, grupas id).

nu tad saliek lietotājam vairākas grupas ja vajag un kategorijam arī var būt vairākas grupas.

bet nu labāk lai kads cits pasaka kam lielāka pieredze

Link to comment
Share on other sites

Atkal labvakar!

 

Sāku nodarboties ar «refaktorēšanu» un sākās grūtības, jo nezinu, kā panākt "x" un kā pārtaisīt "y".

 

Tātad, https://github.com/reGative/Phorumph/blob/fab65909133d60e1bd0201fc429f8c6bcea7c394/application/classes/model/category.php#L9 Lieta tāda, ka uzrāda kategorijas daudzskaitlī, ja tabulā 'categories_accesses' ir vairāki ieraksti vienai kategorijai. Tas jāsaprot tā, ka cik ieraksti ir 'categories_accesses' tabulā, tik kategoriju parādās. Kā to novērst?

Pašam trūkst pieredzes tikt galā ar šādām problēmām, tāpēc aicinu paligā Jūs!

Link to comment
Share on other sites

group by categories.id

 

Vienīgi dīvaini liekas, ka tu joino accessus, lai gan viņus neizmanto/netaisies izmantot.

 

 

Tā tās ģeniālas lietas rodās, ja negrib lietot ORM - https://github.com/reGative/Phorumph/blob/fab65909133d60e1bd0201fc429f8c6bcea7c394/application/classes/model/user.php

Vienīgi izskatās, ka tev tur trūkst vēl pāris funkcijas, jo user tabulai taču nav tikai 3 lauki?!!

 

 

public function id($username)
{
return DB::select()
->from('users')
->where('username', '=', $username)
->execute()
->get('id');
}
public function username_from_db($username)
{
return DB::select()
->from('users')
->where('username', '=', $username)
->execute()
->get('username');
}
public function password_from_db($user_id, $password)
{
return DB::select()
->from('users')
->where('id', '=', $user_id)
->execute()
->get('password');

}
Link to comment
Share on other sites

 

group by categories.id

 

Vienīgi dīvaini liekas, ka tu joino accessus, lai gan viņus neizmanto/netaisies izmantot.

 

 

Tā tās ģeniālas lietas rodās, ja negrib lietot ORM - https://github.com/reGative/Phorumph/blob/fab65909133d60e1bd0201fc429f8c6bcea7c394/application/classes/model/user.php

Vienīgi izskatās, ka tev tur trūkst vēl pāris funkcijas, jo user tabulai taču nav tikai 3 lauki?!!

 

 

public function id($username)
{
return DB::select()
->from('users')
->where('username', '=', $username)
->execute()
->get('id');
}
public function username_from_db($username)
{
return DB::select()
->from('users')
->where('username', '=', $username)
->execute()
->get('username');
}
public function password_from_db($user_id, $password)
{
return DB::select()
->from('users')
->where('id', '=', $user_id)
->execute()
->get('password');

}

Accessus izmantošu, kad jau taisīšu tā, ka attiecīgas kategorijas redz attiecīgas lietotaju grupas.

Link to comment
Share on other sites

Nedaudz padomāju, patestēju un radās versijas un jautājumi. Paliku pie php newbie varianta, jo tas ir, manuprāt, vislabākais.

1)Kategoriju attēlojums - vispirms tiek izvadīta kategorija un tiek pārbaudīts, vai jūzera levels atbilst kādam no kategorijas levela. Ja atbilst, parādam, ja neatbilst, tad neparādam.

2)par modeļiem - tam visam vajadzētu atsevišķus modeļus un domāt, kā sasaistīt kategoriju id vai var iztikt ar joiniem, tikai to visu sataisīt nedaudz savādāk?

3)mans variants, kuru iedevu šeit, tomēr neder, jo kategoriju parādās tik daudz, cik ieraksti ir 'category_access' tabulā. Varbūt, iespējams, var manu variantu panākt savādāk, bet ar joiniem? Jeb nē?

 

Tas ir viss, ko pagaidām varēju izdomāt. Un nelamājiet par to, ka iespejams, esmu «dumjš». Kas tāds man ir pirmo reizi, un tas nav blogs, ko labākajā gadījumā var uztaisīt pāris stundu laikā. :)

Edited by reGative
Link to comment
Share on other sites

Atkal labvakar!

 

Tātad, it kā ar kategorijām tiku galā. Tagad seko lietotāju reģistrācija. Tagad tā jāpartaisa, jo ir jāinserto uzreiz 2 tabulās.

Viena ir lietotāju (id, niks, epasts, parole) un otra ir lietotāju pieeju tabula (lietotāja id, grupas id). Ja jaunajam jūzerim nav zināms id, tad kā to ieinsertot otrā tabulā? Vai ir iespējams to sakombinēt ar joiniem?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...