To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Licznik s?ów u?ytkownika

xlesiu - 13-01-2010, 00:56
Temat postu: Licznik słów użytkownika
Licznik słów oraz średnia ilość słów na post
Licznik słów - viewtopic_body.tpl
Licznik słów i średnia ilość słów na post - profile_view_body.tpl

Cytat:
##############################################################
## MOD Title: Licznik słów
## MOD Author: NoahK < Support@FFTrealm.com > (Noah Kronemeyer) http://www.fftrealm.com
## MOD Description: Ten mod dodaje licznik słów jakie ma na swoim koncie użytkownik oraz pokazuje
## średnią wyrazów na post. Licznik umieszczony jest w widoku tematu oraz w profilu użytkownika.
## MOD Version: 1.1.0
## Compatibility: 2.0.4-2.0.22
## Installation Level: Easy
## Installation Time: 10 Minutes
## Files To Edit: 6
## viewtopic.php
## includes/usercp_viewprofile.php
## includes/functions_post.php
## language/lang_polish/lang_main.php
## templates/NazwaStylu/viewtopic_body.tpl
## templates/NazwaStylu/profile_view_body.tpl
## Included Files: 2
## user_word_sync.php
## resync.php
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################

I już standardowo zwracam się z prośbą o pomoc przy supporcie tego moda

Adam123BMX - 17-01-2010, 13:49

No powiem Ci ,że jak ktoś ma z 1 tys postów to sporo słów ma i liczby będą długie :) Nie wiem po co to ;p
Tavaro - 17-01-2010, 14:09

Bo dzięki temu można wyliczyć statystykę słów/post, co jest w miarę wiarygodnym wyznacznikiem wartości wypowiedzi użytkownika? Jeśli ktoś ma 150 słów/post, to wiadomo, że jego posty są niosą więcej treści, niż wpisy usera mającego 15 słów/post.

Bardzo dobry mod, dodałbym jeszcze wyżej wspomnianą statystykę słów/post. Z pewnością będzie świetnym narzędziem do poskramiania nabijaczy piszących jednolinijkowce i wydłużających sobie e-penisa licznikiem postów (choć w sumie podobną rolę mogą pełnić punkty "pomógł").

Polaczek - 21-01-2010, 19:53

Witam.
Będę wdzięczny jak ktoś mi powie jak usunąć to zapytanie:

Kod:
ALTER TABLE `phpbb_users` ADD `user_wordcount` INT(255) DEFAULT '0' NOT NULL;


Dziękuję z góry.

xlesiu - 21-01-2010, 19:56

Kod:
ALTER TABLE `phpbb_users` DROP `user_wordcount`

Polaczek - 21-01-2010, 19:56

xlesiu, dziękuję.
Pantera_Polnocy - 08-03-2010, 19:36

Hmm... jeśli moje myślenie jest błędne bardzo proszę o sprostowanie.

Wydaje mi się, że w skrypcie synchronizującym oraz w samym functions_post mamy aktualizowanie pola user_wordcount zawsze - niezależnie od tego, czy forum ma status niezliczania postów, czy też nie. Wobec tego błędne jest zliczanie w viewprofile średniej ilości postów na post w ten sposób:

Kod:
$avg_words = round(($wordcount / $profiledata['user_posts']),2);

Ponieważ ilość słów będzie pobierana dla wszystkich postów, a ilość postów z licznika standardowego, którego zawartość jest aktualizowana tylko w przypadku, jeśli forum ma włączone zliczanie postów.

Wydaje mi się zatem, że fragment w viewprofile powinien wyglądać następująco:

Kod:
    $sql = "SELECT user_wordcount FROM " . USERS_TABLE . " WHERE user_id=".$profiledata['user_id'];
    $result = $db->sql_query($sql);
    $words = $db->sql_fetchrow($result);
    $wordcount = $words['user_wordcount'];

    $sql2 = "SELECT COUNT(`post_id`) as `ilepostow` FROM " . POSTS_TABLE . " WHERE poster_id=".$profiledata['user_id'];
    $result2 = $db->sql_query($sql2);
    $words2 = $db->sql_fetchrow($result2);
    $wordcount2 = $words2['ilepostow'];

// Format the result in a human readable number
    $rest3 = number_format($wordcount);
// Check for division by 0
    if (($wordcount == 0) || ($wordcount2 == 0)) {
        $avg_words = $lang['Word_NA']; // If a user has no posts. You may safely change N/A to 0 or any other text in the language file.
    } else {
        $avg_words = round(($wordcount / $wordcount2),2); // The 2 controls the numbers shown after the decimal. Use 0 if you want whole numbers.
    }


[ Dodano: 08-03-2010, 19:38 ]
Nie ma edytowania?... crap. Powinno oczywiście być:

Cytat:
średniej ilości postów na post

=>
Cytat:
średniej ilości słów na post

Polaczek - 08-03-2010, 20:12

Z powyższym się zgadzam i jeszcze muli forum. ;) Po wywaleniu moda odetchnęła mi przeciążona baza.
Pantera_Polnocy - 08-03-2010, 20:18

Plus jeszcze jak tak patrzę... nie wiem, czy to intencjonalne, ale przy usuwaniu/wygaszaniu postów wartość "słów na post" chyba nie jest przeliczana ponownie, więc może dojść do sytuacji, gdzie user będzie miał w bazie jeden post z emotką, a licznik wskaże "100 słów na post"... więc można by dodać kompletny resync przy zrzucaniu autobackupa lub przeliczanie ponowne tylko dla jednego usera przy okazji usuwania tematu/postu...
Przemek_CJ - 19-10-2010, 20:48

mam problem z tym poradnik wszystko zrobiłem tylko śmiesznie podlicza bo wszystkich słow mam napewno nie 11 a tak mi podlicza pomoze tkos żeby od razu wszystkie słowa podliczyły ?
Infinitiv - 01-02-2012, 01:04

Przepraszam, że odkopuję tak stary temat, ale może komuś się przyda - propozycja dana przez usera "Pantera_Polnocy" faktycznie działa lepiej, ale nie tak, jak powinna - mod nie zlicza wtedy do średniej jedynie słów i postów z działów, w których zaznaczone jest zliczanie, tylko po prostu ze wszystkich, czyli:

W pierwotnej wersji moda średnia liczona jest tak:
Ilość wszystkich słów PRZEZ Ilość zliczanych postów

W wersji usera Pantera_Polnocy średnia liczona jest tak:
Ilość wszystkich słów PRZEZ Ilość wszystkich postów.

I tutaj nasuwa się pytanie do twórcy moda - czy umiałbyś i, przede wszystkim, zechciałbyś, zmienić moda tak, aby zliczał słowa tylko z działów ze zliczaniem postów i wyciągał średnią również tylko z nich?



Powered by phpBB modified by Przemo © 2003 phpBB Group