Poszukiwania - [szukam] Download tylko dla jednej grupy
bortysz - 07-02-2010, 10:40 Temat postu: [szukam] Download tylko dla jednej grupy Witam, kiedyś znalazłem moda , który ogranicza ściąganie z download tylko dla danej grupy!
Czyli jedna grupa może korzystać ze ściągania, proszę o podpowiedź, linka gdzie to mogę znaleźć
Pozdrawiam
szczupak_xD - 07-02-2010, 13:16
otwórz pafiledb/pafiledb.php
Znajdź:
Kod: | if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
} |
dodaj za:
Kod: | $dload_group = X;
$sql = "SELECT ug.user_id
FROM " . USER_GROUP_TABLE . " ug
WHERE group_id = $dload_group";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$dload_access = in_array( $userdata['user_id'], $row );
}
if ($dload_access != TRUE && $userdata['user_level'] != 1)
{
message_die(GENERAL_MESSAGE, 'Nie masz dostępu do download');
} |
W pierwszej linii, w zmiennej $dload_group wstaw ID grupy, która ma mieć dostęp (np. 5). Można to sprawdzić w tabeli {prefix}_groups, lub wykonując zapytanie w phpmyadminie:
Kod: | SELECT group_id FROM {prefix}_groups WHERE group_name = 'tu wstaw nazwę grupy'; |
Kod: | sposób wykonany przez 'MakArios ' |
bortysz - 24-02-2010, 21:19
W bazie znalazłem id grupy:
wklepałem tak:
Kod: |
$dload_group = 5129;
$sql = "SELECT ug.user_id
FROM " . USER_GROUP_TABLE . " ug
WHERE group_id = $dload_group";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$dload_access = in_array( $userdata['user_id'], $row );
}
if ($dload_access != TRUE && $userdata['user_level'] != 1)
{
message_die(GENERAL_MESSAGE, 'Tylko dla grupy Klubowicz');
} |
lecz niestety nie działa!
tzn nikt nie ma dostępu do download
gdzie popełniłem błąd?
jangcy - 16-02-2019, 11:28
Testowałem to na różnych ustawieniach grup i niestety nie działa.
Ale co ciekawe. Jak wpisałem grupę 1 (u mnie to anonymous) co wnioskuje że jest grupą niezalogowanych, to można było wejść na download bez logowania, a nie można było po zalogowaniu.
Więc może kierunek jest dobry, tylko gdzieś jest błąd.
[ Dodano: 21-02-2019, 10:29 ]
Ta wersja zezwala na dostęp do działu download tylko jednemu użytkownikowi. Niestety nie akceptuje więcej jak jednego ID użytkownika w miejscu "X". Nie wiem jak to obejść. Jakby działało to można by wpisać listę użytkowników z dostępem. Jak nie ma ich dużo to nie była by tak ciężko to zrobić.
Kod: |
$dload_users = X;
$sql = "SELECT ug.user_id
FROM " . USERS_TABLE . " ug
WHERE user_id = $dload_users";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
$dload_access = in_array( $userdata['user_id'], $row );
}
if ($dload_access != TRUE && $userdata['user_level'] != 1)
{
message_die(GENERAL_MESSAGE, 'Nie masz dostępu do download');
} |
[ Dodano: 21-02-2019, 10:51 ]
Nie wiem gdzie w oryginalnym kodzie jest użyta informacja o ID grupy, gdzie jest użyty warunek przyrównujący ID grupy do ID usera czy coś w tym rodzaju...
|
|
|