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

ROZWIĄZANY: Modyfikacja ograniczająca możliwość wstawiania nowych tematów


AMIGAnTOMEK

Rekomendowane odpowiedzi

  • Manager

Hym, a szukałeś po stronach z tutoriala w którym umieszczono linki do stron z modyfikacjami? Bo z tego, co pamiętam to takiej modyfikacji nie ma, ale pewny nie jestem.

Druga sprawa, że na sztywno można by spróbować wymodzić takiego moda, ale z wpisaniem na sztywno ID for w kod oraz na sztywno czasu jaki musi upłynąć od rejestracji. :P

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

Hym, a szukałeś po stronach z tutoriala w którym umieszczono linki do stron z modyfikacjami? Bo z tego, co pamiętam to takiej modyfikacji nie ma, ale pewny nie jestem.

Druga sprawa, że na sztywno można by spróbować wymodzić takiego moda, ale z wpisaniem na sztywno ID for w kod oraz na sztywno czasu jaki musi upłynąć od rejestracji. :P

Można i na sztywno. Wprowadziliśmy ograniczenie w jednym dziale dla nowych userów i więcej nie przewidujemy więc można i na sztywno. Po stronach szukałem ale jakoś nic nie znalazłem :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Otwórz plik: sources/classes/post/class_post_new.php

Znajdź:

	function show_form()
{

Dodaj poniżej:

	/* (DP23) Restrict New Topics for New Members */
	$joined 		= $this->ipsclass->member['joined'];

	$hour			= 3600; // Jedna godzina

	$day			= 86400; // Jeden dzien

	$month			= 2592000; // Jeden miesiac, 30 dni

	$forumIds		= array(2, 3, 4); // ID for w ktorych ma dzialac mod


	$timeInterval	= $month * 3; // Trzy miesiace, dla 5 dni byloby "$day * 5;"

	if ( ( time() > ( $joined + timeInterval ) ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )
	{
		$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission') );		
	}

Zapisz i wyślij.

Starałem się napisać to jasno w komentarzach. Jednak jak coś to pytaj.

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

  • Manager

Jeśli obecny czas [time()] minus [-] trzy miesiące w formacie UNIX ]$timeInterval] są większe [>] niż data dołączenia w formacie UNIX [$joined] to wywal błąd.

Dla mnie to ma sens. :P

Hym, możesz tam dodać pod ten powyższy kod, co wkleiłeś ten poniższy i napisać, co się pojawiło na górze pisania nowego formularza?

Kod:

echo $joined . " " . $timeInterval . " " . time();

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

Rozumiem że miałem wkleić tak:

/* (DP23) Restrict New Topics for New Members */

                $joined                 = $this->ipsclass->member['joined'];

               $hour                   = 3600; // Jedna godzina

               $day                    = 86400; // Jeden dzien

               $month                  = 2592000; // Jeden miesiac, 30 dni

               $forumIds               = array(38, 80, 81, 82); // ID for w ktorych ma dzialac mod


               $timeInterval   = $month * 3; // Trzy miesiace, dla 5 dni byloby "$day * 5;"

               if ( ( ( time() - $timeInterval ) > $joined ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )
               {
                       $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission1') );               
               }
echo $joined . " " . $timeInterval . " " . time();

Efekt masz w załączniku

post-221-1250783522,4591_thumb.png

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Tak:

                $joined                 = $this->ipsclass->member['joined'];

               $hour                   = 3600; // Jedna godzina

               $day                    = 86400; // Jeden dzien

               $month                  = 2592000; // Jeden miesiac, 30 dni

               $forumIds               = array(38, 80, 81, 82); // ID for w ktorych ma dzialac mod


               $timeInterval   = $month * 3; // Trzy miesiace, dla 5 dni byloby "$day * 5;"
       echo $joined . " " . $timeInterval . " " . time();
               if ( ( ( time() - $timeInterval ) > $joined ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )
               {
                       $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission1') );               
               }

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

  • Manager

Albo mam zaćmienie albo to powinno przecież tak być. Coś kumasz z .php - widzisz tam błąd?

Albo Ty dołączyłeś na forum mniej niż 3 miesiące temu. :P

( coś czuję, że się zbłaźnię tym tematem :P )

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

Myslalem ze jest jakis blad z mnozeniem albo czym innym wiec wstawilem jako zmienna $month=7776000 i usunąłem mnozenie *3 ale to nic nie dało. Nadal blokuje całkowicie pisanie postów. a mój staż:

Dołączył: 3-11 06

:P

NIe zbłaźnisz się w końcu dojdziemy co jest nie tak :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Zamień:

if ( ( time() > ( $joined + timeInterval ) ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )

Na:

if ( ( time() > ( $joined + $timeInterval ) ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )

Zapomniałem o jednym $. :P

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

Wstawiłem:

	            /* (DP23) Restrict New Topics for New Members */
               $joined                 = $this->ipsclass->member['joined'];

               $hour                   = 3600; // Jedna godzina

               $day                    = 86400; // Jeden dzien

               $month                  = 2592000; // Jeden miesiac, 30 dni

               $forumIds               = array(38, 80, 81, 82); // ID for w ktorych ma dzialac mod


               $timeInterval   = $month * 3; // Trzy miesiace, dla 5 dni byloby "$day * 5;"

               if ( ( time() > ( $joined + $timeInterval ) ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )
               {
                       $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission') );               
               }

I bez zmian :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager

Ostatnia próba:

 if ( ( ( time() - $joined ) < $timeInterval ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )

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

DZIAŁA!!!!!!!!!!!!!!!!!!!!

ku potomności pełen kod do wstawienia:

                    /* (DP23) Restrict New Topics for New Members */
               $joined                 = $this->ipsclass->member['joined'];

               $hour                   = 3600; // Jedna godzina

               $day                    = 86400; // Jeden dzien

               $month                  = 2592000; // Jeden miesiac, 30 dni

               $forumIds               = array(38, 80, 81, 82); // ID for w ktorych ma dzialac mod


               $timeInterval   = $month * 3; // Trzy miesiace, dla 5 dni byloby "$day * 5;"

               if ( ( ( time() - $joined ) < $timeInterval ) AND in_array( intval( $this->ipsclass->input['f'] ), $forumIds ) )
               {
                       $this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_permission') );               
               }

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

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • 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ę.