Stránka 1 z 1

Jak zakázat číst jiná témata než vlastní?

Napsal: sob 17. pro 2016 13:59:33
od nathan
Zdravím místní komunitu. Budu rád, když mi někdo poradí. Mám fórum s deníky uživatelů. Každý deník je samostatné téma. Jak zabránit uživatelům, aby kromě vlastního deníku (samostatné téma které si ten uživatel založil) nemohli číst deníky ostatních uživatelů (jiná témata v tom samém fóru)? Předem děkuji za odpověď.

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: pon 19. pro 2016 15:06:10
od Otakar Pěnkava
Nenapadá mě způsob, jak to v čistém phpBB udělat, ale šlo by to doprogramovat přes rozšíření.

Nicméně, když jsou ty Vánoce, tak jsem vám toto rozšíření vytvořil. Zip soubor stáhněte, rozbalte a složku webdeal nahrajte na fórum do složky ext. Poté aktivujte rozšíření. Nic víc nemusíte dělat.

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: pon 19. pro 2016 18:40:42
od nathan
Velice Vám děkuji. Akorát mám problém najít na fóru složku ext...., nikde ji nevidím. Mám verzi phpbb 3.0.14. Poradíte kde je ext? Děkuji.

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: pon 19. pro 2016 22:16:34
od TheEilag
Dobrý den,

tu najdete na FTP na hostingu, kde máte fórum nainstalované.

S pozdravem
TheEilag

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: pon 19. pro 2016 22:33:24
od nathan
Na FTP (přistupuji přes Total Commander) to bohužel nikde nevidím..., prostě tam ta složka ext není. Ona by měla být součástí instalace PHPBB?

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: úte 20. pro 2016 4:49:55
od smiesek
TheEilag: nebude to tím, že autor tématu uvádí verzi fora 3.0.14, zatím co Otakar vycházel z rozšíření pro novější verze - 3.1.xx?

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: čtv 22. pro 2016 14:03:04
od Otakar Pěnkava
ANo, omlouvám se, přehlédl jsem verzi. Rozlišení jsem vytvořil pro phpBB 3.1.x. Doporučuji aktualizovat fórum, protože za 10 dnů končí podpora řady 3.0.

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: čtv 22. pro 2016 20:07:15
od smiesek
Otakare, autor tématu napsal verzi fora až po vytvoření rozšíření :-)

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: pát 23. pro 2016 11:12:42
od vBrute
a nedása to nejak jednoducho prehodit na mod pre 3.0.xx? tiež by sa mi to zišlo a pri všetkých mojich modoch nie je možnosť updatu bez straty funkcionality...

Re: Jak zakázat číst jiná témata než vlastní?

Napsal: úte 27. pro 2016 18:30:31
od Otakar Pěnkava
Samozřejmě, že se to dá :) Napsat mód pro phpBB 3.0 je snazší než pro 3.1, zjednodušeně řečeno - to co ve starší verzi spraví podmínka, na to je potřeba napsat v 3.1 několik desítek řádků obslužného kódu :)

Když jsou ty Vánoce, tak vám to napíšu (stále mám 3.0 rád, přestože v neděli končí jeho podpora):
Otevřete viewtopic.php a najděte řádek:

Kód: Vybrat vše

trigger_error('NO_TOPIC', E_USER_WARNING);
Nahraďte ho:

Kód: Vybrat vše

trigger_error('NO_TOPIC', E_USER_WARNING);
} elseif($row['topic_poster'] != $user->data['user_id'] && $user->data['group_id'] != 5) {
   trigger_error('SORRY_AUTH_READ', E_USER_WARNING);
To je vše :-)

Jen pro zorientování (aby vám tam někde nevypadla závorka z podmínky), takto vypadá celý ten kus, který se upravuje (i s kódem před ním). Pokud máte modifikované phpBB, tak výsledek může vypadat jinak, cílem ale je pouze přidat podmínku, tak jak je na úkazu níže.

Kód: Vybrat vše

		if (!$row)
		{
			// Setup user environment so we can process lang string
			$user->setup('viewtopic');

			trigger_error('NO_TOPIC', E_USER_WARNING);
      } elseif($row['topic_poster'] != $user->data['user_id'] && $user->data['group_id'] != 5) {
         trigger_error('SORRY_AUTH_READ', E_USER_WARNING);
		}