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

Rekomendowane odpowiedzi

Opublikowano

Witam,

Gdzie znajdują się zapytania odpowiedzialne za cache statystyk na forum? Chodzi mi o zapytanie zwracające liczbę użytkowników, chciałbym je poprawić tak, aby nie pokazywało zbanowanych użytkowników, a zapytanie łatwo poprawić, ale za Boga nie mogę znaleźć odwołań. W func_boardstats.php coś, ale tam nie ma zapytań. Skąd cache pobiera dane ( głupie pytanie, bo z bazy danych :-) )?

Pozdrawiam,

Largo

Jeżeli Ci pomogłem, nie zapomnij proszę o kliknięciu - add.png

Możesz liczyć na moją pomoc z zakresu: PHP5, MySQL, JavaScript i Ajax | W trakcie nauki CSS i xHTML!

W sprawie pomocy z zakresu IP.Board służę pomocą w dziale Zaawansowane programowanie IP.Board

Proszę o nie wysyłanie próśb PW o prywatną pomoc - pomagam JEDYNIE na forum lub na zlecenie!

Opublikowano

Witaj,

Dawidzie - nie chcę gotowca :-) Chcę przeliczyć użytkowników ( Mamy X zarejestrowanych użytkowników ) i tu chcę obliczyć, ale bez banned. Warunek w SQL prosty, w PHP tak samo. Chodzi o miejsce gdzie on to pobiera?

Pozdrawiam,

Largo

Jeżeli Ci pomogłem, nie zapomnij proszę o kliknięciu - add.png

Możesz liczyć na moją pomoc z zakresu: PHP5, MySQL, JavaScript i Ajax | W trakcie nauki CSS i xHTML!

W sprawie pomocy z zakresu IP.Board służę pomocą w dziale Zaawansowane programowanie IP.Board

Proszę o nie wysyłanie próśb PW o prywatną pomoc - pomagam JEDYNIE na forum lub na zlecenie!

  • Manager
Opublikowano

$stats =& $this->ipsclass->cache['stats'];

A potem:

$this->total_members  = $stats['mem_count'];

On tego nigdzie nie oblicza. Plik sources/action_public/register.php:

		//-----------------------------------------
	// Update Stats
	//-----------------------------------------

	$this->ipsclass->cache['stats']['last_mem_name'] = $this->ipsclass->member['members_display_name'];
	$this->ipsclass->cache['stats']['last_mem_id']   = $this->ipsclass->member['id'];
	$this->ipsclass->cache['stats']['mem_count']    += 1;

Czyli pierwsze, co musisz zrobić to napisać prosty skrypt w PHP obliczający ilość użytkowników w bazie bez zbanowanych, zaktualizować cache skryptem.

I zdałoby się potem aktualizować plik login.php w action_public/ oraz member.php w action_admin/ sprawdzające usera i odejmujące 1 z cache. Oczywiście wszystko wewnątrz IP.Board. Skoro nie chcesz gotowca to działaj. Jak coś to pisz.

intermedia - profesjonalne rozwiązania Invision Power Board

---

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

Opublikowano (edytowane)

Witaj,

Wg. Twoich zaleceń wykonałem to na tej zasadzie:

Otwórz: sources/action_admin/rebuild.php

Znajdź:

$this->ipsclass->DB->simple_construct( array( 'select' => 'count(id) as members', 'from' => 'members', 'where' => "mgroup <> '".$this->ipsclass->vars['auth_group']."'" ) );

Zamień na:

$this->ipsclass->DB->simple_construct( array( 'select' => 'count(id) as members', 'from' => 'members', 'where' => "mgroup <> '".$this->ipsclass->vars['auth_group']."' AND mgroup <> '".$this->ipsclass->vars['banned_group']."'" ) );

Otwórz: sources/tasks/rebuildstats.php

Znajdź:

$r = $this->ipsclass->DB->simple_exec_query( array( 'select' => 'count(*) as members', 'from' => 'members', 'where' => "mgroup <> '".$this->ipsclass->vars['auth_group'] ) );

Zamień na:

$r = $this->ipsclass->DB->simple_exec_query( array( 'select' => 'count(*) as members', 'from' => 'members', 'where' => "mgroup <> '".$this->ipsclass->vars['auth_group']."' AND mgroup <> '".$this->ipsclass->vars['banned_group']."'" ) );

Dodatek do Ban Member System 3.0.0!

Otwórz: sources/components_public/ban.php

Znajdź:

        $this->ipsclass->boink_it( $this->ipsclass->base_url."autocom=ban&cmd=my_ban_log" );

Dodaj powyżej:

        $this->ipsclass->cache['stats']['mem_count'] -= 1;
          $this->ipsclass->update_cache(  array( 'name' => 'stats', 'array' => 1, 'deletefirst' => 0 ) );

Na razie działa idealnie, narzędzie do przebudowy odpowiednio przelicza, po zbanowaniu odejmuje od licznika via Ban Member System lub via ACP. Wg. mnie więcej nie potrzeba, ale oddam kodzik pod ocenę Dawida :-)

PS. Jednak nie poradziłem sobie z edycją dla ustawień użytkownika w ACP...

Pozdrawiam,

Largo

Edytowane przez DawPi

Jeżeli Ci pomogłem, nie zapomnij proszę o kliknięciu - add.png

Możesz liczyć na moją pomoc z zakresu: PHP5, MySQL, JavaScript i Ajax | W trakcie nauki CSS i xHTML!

W sprawie pomocy z zakresu IP.Board służę pomocą w dziale Zaawansowane programowanie IP.Board

Proszę o nie wysyłanie próśb PW o prywatną pomoc - pomagam JEDYNIE na forum lub na zlecenie!

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ę.