Przesunięty przez: Matteo 09-11-2013, 09:35 |
Ajax time before posting |
Autor |
Wiadomość |
lui754
Pomógł: 591 razy Posty: 2699
|
Wysłany: 07-11-2009, 17:37 Ajax time before posting
|
|
|
Ajax time before posting
Odliczanie czasu po którym możemy wysłać kolejny post, podobny jak na DW
Kod: | #############################################################
## Modyfikacja dostosowana do phpbb2 by przemo 1.12.6p1 przez lui754
##
##############################################################
## MOD Title:Ajax time before posting
## MOD Author: lui754
##
## MOD Description:Odliczanie czasu po którym możemy wysłać kolejny post, podobny jak na DW.
##
##
## Installation Level: Easy
## Installation Time: 14 minutes
##
## Files To Edit:
## includes/functions_post.php
## posting.php
## quick_reply.php
## posting_body.tpl
## quick_reply.tpl
## includes/functions_post.php
## templates/subSilver/index_body.tpl
##
##
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
## Generator: Phpbb.ModTeam.Tools
##############################################################
## Zalecane: Przed wykonaniem instrukcji zrób kopie zapasową wszyskich plików oraz bazy danych
############################################################## |
|
Ostatnio zmieniony przez Majkelo 09-01-2012, 22:08, w całości zmieniany 8 razy |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 07-11-2009, 17:39
|
|
|
Super! Gratuluję! |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
MaTeK_
Czarna lista
Pomógł: 364 razy Posty: 1712
|
Wysłany: 07-11-2009, 17:41
|
|
|
No . To jest orginalny pomysł i na pewno go wykorzystam . Gratuluję |
_________________ Instalacja/aktualizacja/konwersja/przenoszenie/naprawa for i portali
Więcej info na portfolio |
|
|
|
|
Seba123
Pomógł: 74 razy Posty: 868
|
Wysłany: 07-11-2009, 18:27
|
|
|
Stanowczo odradzam, niby fajne, niby małe, a zapytania do SQL lecą [w każdym viewtopic o ile jest szybka odpowiedź dodatkowe zapytanie, to samo w posting). |
_________________ Fejs |
|
|
|
|
lui754
Pomógł: 591 razy Posty: 2699
|
Wysłany: 07-11-2009, 18:39
|
|
|
Te zapytania są małe i nie generują się długo. Obciążenie jest znikome. Fakt +1 zapytanie ale czas wczytywania strony nie zmieni się.
Zresztą każdy może sobie sprawdzić i w razie czego usunąć. |
|
|
|
|
kevin_
Pomógł: 768 razy Posty: 2680
|
Wysłany: 07-11-2009, 20:16
|
|
|
Seba123 napisał/a: | Stanowczo odradzam, niby fajne, niby małe, a zapytania do SQL lecą [w każdym viewtopic o ile jest szybka odpowiedź dodatkowe zapytanie, to samo w posting). |
Dokładnie, ale i tak patrząc na niektóre mody to użytkowników nie interesuje co wpychamy do kodu. W PunBB jest ciekawe rozwiązanie, bo jest dodana kolumna "last_post" do tabeli users, można byłoby (jak ktoś tak oczywiście woli) zmodyfikować skrypt i zamiast brać SELECT bla bla, to $userdata['last_post'] a jak wiemy Userdata jest już wliczone jako zapytanie SQL.
/Wygaszam post.
[ Komentarz dodany przez: arcy: 08-11-2009, 13:04 ]
Nie wygaszaj. Ludzie, którzy zacytują Twoje zdanie będą niezrozumiali gdy zniknie Twój post. |
_________________ Prezes |
Ostatnio zmieniony przez arcy 08-11-2009, 13:04, w całości zmieniany 1 raz |
|
|
|
|
Seba123
Pomógł: 74 razy Posty: 868
|
Wysłany: 08-11-2009, 12:30
|
|
|
kevin_, właśnie o tym pomyślałem - autorzy modów po prostu nie myślą - dodać po prostu do phpbb_users kolumnę lastpost, przez co będzie to widoczne później w userdata i aktualizować ją po prostu co napisanie (czyli wykonana akcja!) posta. Później zwykły if pomoże, gdyż wszystko będzie załadowane, a pobranie o jednego tinyinta więcej nie obciąży. |
_________________ Fejs |
|
|
|
|
cwierzbas
Posty: 52
|
Wysłany: 08-11-2009, 19:04
|
|
|
a jak zrobić, jak piszemy 1 post to aby nie odliczało? |
|
|
|
|
lui754
Pomógł: 591 razy Posty: 2699
|
Wysłany: 09-11-2009, 00:11
|
|
|
ok dodałem optymalizacje. Mam nadzieję, że nie będziecie już narzekać.
Aktualizacja:
1. Wykonaj zapytanie SQL
2. Edytuj plik functions_post.php
3. W plikach posting.php oraz quick_reply.php zamień:
Kod: | //
// Flood control
//
if ( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD )
{
$sql = "SELECT MAX(post_time) AS last_post_time
FROM " . POSTS_TABLE . "
WHERE poster_id = " . $userdata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'blad flood', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$czas = CR_TIME - $row['last_post_time'];
$czas = $board_config['flood_interval'] - $czas;
} |
na:
Kod: | //
// Flood control
if ( $userdata['user_level'] != ADMIN && $userdata['user_level'] != MOD )
{
$czas = CR_TIME - intval($userdata['last_post_time_s']);
$czas = $board_config['flood_interval'] - $czas;
} |
i to by było na tyle
btw. cwierzbas napisał/a: | a jak zrobić, jak piszemy 1 post to aby nie odliczało? |
Odlicza tylko wtedy gdy nie możemy wysłać posta. Sprecyzuj pytanie. |
|
|
|
|
Scoobany [Usunięty]
|
Wysłany: 26-07-2010, 11:14
|
|
|
Czy rzeczywiście tak bardzo to obciąża bazę jak niektórzy mówią? |
|
|
|
|
kevin_
Pomógł: 768 razy Posty: 2680
|
Wysłany: 26-07-2010, 11:53
|
|
|
Scoobany, wszystko jest OK z tym modem, nie obciążą i nie obciążał bo jedno zapytanie typu 'select max(czas_post) from posty where autor = id limit 1' nie zabije Ci serwera |
_________________ Prezes |
|
|
|
|
bolek_stw
Pomógł: 3 razy Posty: 71
|
Wysłany: 28-08-2010, 12:56
|
|
|
nie czyta mi ą ś to co mam zrobić ?
login bolek_test
hasło 12345 |
_________________ Pomagam w instalacji AMXBANS i serwerami CS 1.6
Wymienię się linkiem na forum |
|
|
|
|
Black
Czarna lista
Posty: 66
|
Wysłany: 23-07-2011, 13:15
|
|
|
Gdzie mogę zmienić czas? |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 23-07-2011, 13:24
|
|
|
W panelu administacyjnym jest gdzies w konfiguracji ogolnej. Nie pamietam dokladnie gdzie, poszukaj. |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
d4mi4n
Posty: 23
|
Wysłany: 11-12-2011, 15:22
|
|
|
A da rade edytować czas na krótszy? |
|
|
|
|
|