reGative Posted February 6, 2013 Report Share Posted February 6, 2013 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. Quote Link to comment Share on other sites More sharing options...
Val Posted February 6, 2013 Report Share Posted February 6, 2013 papildus kolonna useru tabulai. 0 - defaultā useri 1 - admini 2 - moderi 3 - whatever Quote Link to comment Share on other sites More sharing options...
reGative Posted February 6, 2013 Author Report Share Posted February 6, 2013 Jā, tāda jau tā ideja bija, bet, teiksim, ja ir forumā kategorija tikai adminiem, tad liekam 1, bet ja tiesības vajag, teiksim, gan adminiem, gan moderiem? Vai arī ja tiesības vajag pilnīgi visiem? Ceru, ka domu saprotat. Quote Link to comment Share on other sites More sharing options...
Val Posted February 6, 2013 Report Share Posted February 6, 2013 tad sakārto useru grupas pēc svarīguma (no max uz min tiesībām vai pretēji). Piemēram, noteiktas darbības veikšanai, vajag "2". Visi, kam ir 2 vai mazāk, var to darbību veikt. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 6, 2013 Report Share Posted February 6, 2013 Tu nesaproti. Grupas var mainīties, svarīgums var mainīties. Taisi jaunu tabulu grupām un useru tabulā ir kolona kas pointo uz attiecīgo grupu. Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 7, 2013 Report Share Posted February 7, 2013 Un ko, ja savajadzēs vienu lietotāju 10 grupās? :) Quote Link to comment Share on other sites More sharing options...
php newbie Posted February 7, 2013 Report Share Posted February 7, 2013 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 Quote Link to comment Share on other sites More sharing options...
F3llony Posted February 7, 2013 Report Share Posted February 7, 2013 Tieši tā arī dara. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 7, 2013 Report Share Posted February 7, 2013 Nu lūk, risinājums! :) Quote Link to comment Share on other sites More sharing options...
reGative Posted February 8, 2013 Author Report Share Posted February 8, 2013 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! Quote Link to comment Share on other sites More sharing options...
daGrevis Posted February 8, 2013 Report Share Posted February 8, 2013 Tā nav refaktorēšana. Tā ir bagu labošana. Quote Link to comment Share on other sites More sharing options...
xPtv45z Posted February 8, 2013 Report Share Posted February 8, 2013 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'); } Quote Link to comment Share on other sites More sharing options...
reGative Posted February 8, 2013 Author Report Share Posted February 8, 2013 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. Quote Link to comment Share on other sites More sharing options...
reGative Posted February 8, 2013 Author Report Share Posted February 8, 2013 (edited) 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 February 8, 2013 by reGative Quote Link to comment Share on other sites More sharing options...
reGative Posted February 9, 2013 Author Report Share Posted February 9, 2013 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? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.