Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Koniec z duplikatami raportów


DawPi

Rekomendowane odpowiedzi

  • Manager

Modyfikacja ta sprawia że po wysłaniu raportu przez użytkownika przycisk znika - nikt inny nie może raportować tematu 2 raz.

Modyfikacja jest bardzo przydatna przy większych forach gdzie podwójne raporty są dość częstym zjawiskiem.

Otwórz: sources/action_public/misc/contact_member.php

Znajdź

		//-----------------------------------------
	// Make sure we came in via a form.
	//-----------------------------------------

	if ( $_POST['message'] == "" )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'complete_form') );
	}

Zamień na:

		if ( $_POST['message'] == "" )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'complete_form') );
	}
		$this->ipsclass->DB->query("UPDATE ibf_posts SET been_reported=1 WHERE pid=".$pid);

Otwórz: sources/action_public/topics.php

Znajdź:

		$row['report_link']   = (($this->ipsclass->vars['disable_reportpost'] != 1) and ( 

$this->ipsclass->member['id'] ))
						  ? 

$this->ipsclass->compiled_templates['skin_topic']->report_link($row)
						  : '';

Zamień na

		$row['report_link']   = (($this->ipsclass->vars['disable_reportpost'] != 1) and ( 

$this->ipsclass->member['id'] ) and ( $row['been_reported']==0 ))
						  ? 

$this->ipsclass->compiled_templates['skin_topic']->report_link($row)
						  : '';

Zapisz i wyślij na serwer.

Wykonaj zapytanie w SQL-u

alter table ibf_posts add been_reported tinyint(1) default 0 not null

W przypadku innej nazwy tabeli ibf_posts należy zmienić zapytanie jak i zapytanie w pliku sources/action_public/misc/contact_member.php

Modyfikacja dla wersji 2.3.X

Created by © bizon11 for IPB 2.3.X

Na podstawie: Stop duplicate reports

Add by DawPi:

Mod powinien działać jednak nie podoba mi się ta pierwsza edycja, gdzie jest info by zamienić na :

		if ( $_POST['message'] == "" )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'complete_form') );
	}
		$this->ipsclass->DB->query("UPDATE ibf_posts SET been_reported=1 WHERE pid=".$pid);

Znacznie lepiej jest to zamienić na:

		if ( $_POST['message'] == "" )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'complete_form') );
	}
		$this->ipsclass->DB->do_update( 'posts', array( 'been_reported' => 1 ), 'pid='.$pid );

i zapomnieć o prefixach :)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 8 miesięcy temu...
  • 2 tygodnie później...

Chciałem to zrobić i mam spory problem ponieważ gdy wykonałem wszystko to zamiast potwierdzenia wysłania raportu wywaliło mi błąd bazy danych więc zrezygnowałem i wykonałem kroki do tyłu niż te co są w poradniku, czyli po prostu "odinstalowałem" modyfikację. Teraz mam taki problem że miałem zainstalowaną modyfikację (OV23) Reports as Topics i nawet nie dochodzą raporty do ustalonego działu w postaci tematu lecz przychodzą same prywatne wiadomości. Czy ktoś może mi pomóc? Myślałem że będzie wszystko OK lecz niestety tak nie jest :D

2efrqsn.png

IP.Board - The Best Forum Board In The World!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Po instalacji tego mogłeś nie cofać zmian, a dać log z pliku .cgi z folderu cache/ to być może udało by się zawalczyć z tym. :D

A dla Ciebie rada: nie kombinuj bo się bardziej zamieszasz tylko cofnij kod do postaci pierwotnej ( jak po instalacji forum ) tych plików, które edytowałeś i dograj sobie tego moda jeszcze raz ( tego (OV23) Reports as Topics ).

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Problem już rozwiązałem, musiałem od nowa po prostu zainstalować modyfikację (OV23) Reports as Topics, lecz co jest najśmieszniejsze- plik sources/action_public/misc/contact_member.php był w postaci pierwotnej... tak jakby wogóle nie był modyfikowany- bardzo dziwna sytuacja. No ale już po problemie :D

Edytowane przez NpX

2efrqsn.png

IP.Board - The Best Forum Board In The World!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Problem ROZWIĄZANY. Jeśli są jakiekolwiek wątpliwości, pytania proszę o założenie nowego tematu.

Wszelkie uzasadnione reklamacje/pretensje/sugestie/rady przyjmuje ekipa forum.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.