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 - AJAX Ocena mod

NineX - 25-08-2010, 17:15
Temat postu: AJAX Ocena mod
AJAX Ocena mod


Cytat:
##########################################################################
## MOD Title: AJAX Ocena mod
## MOD Author: NineX
## MOD Description: Ajaxowe ocenianie linków.
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: ~7 minut
## License: GPL2
##
## Files To Edit: 9
## includes/constants.php
## admin/modules_data.php
## viewtopic.php
## language/lang_polish/lang_main.php
## includes/usercp_viewprofile.php
## templates/*/profile_view_body.tpl
## templates/*/viewtopic_body.tpl
## templates/*/*.cfg
## templates/*/*.css
##
##########################################################################


    Wersja finalna obejmuje:
    - ustawienia w PA
    - optymalizacja kodu
    - flood
    - limit dzienny
    - blokada oceny swoich tematów
    - blokada zmiany oceny

    Podziękowania należą się dla:
    Boltex
    Polaczek
    lui754


Przed instalacją modyfikacji, wykonaj backup plików.
Testować i pisać czy działa.

Budyn00 - 25-08-2010, 18:13

NineX, Przewidujesz (jak już będzie PA) możliwość ustawienia w których działach ma działać mod ? ;-)
A ogólnie duży + za tego moda ;-)

NineX - 25-08-2010, 18:24

Budyn00, tak. Jak na razie w tej wersji, widoczność w określonych działach, określasz w kodzie. Więcej info w instrukcji.
kooza - 25-08-2010, 18:41

nie pomysalełes ze inni tez maja jakies inne modyfikacje zainstlowane. np. w tym kodzie.

Kod:
#-----[ OPEN ]------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
$sql = "SELECT p.post_id, p.post_time, p.enable_sig, p.enable_html, p.enable_smilies, p.post_edit_count, p.post_edit_time, p.post_username, p.post_approve, p.poster_delete, p.post_edit_by, p.post_parent" . $sgv . "u.user_id, u.username, u.user_level, u.user_jr, u.user_allowhtml, u.user_posts, u.user_allowsig, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile, u.user_avatar_type, u.user_allowavatar, u.user_avatar, u.user_rank, u.user_viewemail, u.user_website, u.user_email, u.can_custom_ranks, u.user_custom_rank, u.user_session_time, u.user_allow_viewonline, pt.post_text, pt.bbcode_uid, pt.post_subject $ph_field
    FROM " . POSTS_TABLE . " p
    $ph_table
    LEFT JOIN " . POSTS_TEXT_TABLE . " pt ON (pt.post_id = p.post_id)
    LEFT JOIN " . USERS_TABLE . " u ON (u.user_id = p.poster_id)
    WHERE p.topic_id = $topic_id
        $limit_posts_time
    GROUP by p.post_id
    ORDER BY p.post_order, p.post_time $post_time_order
    LIMIT $start, $user_posts_per_page";

#
#-----[ REPLACE WITH ]------------------------------------------
#
$sql = "SELECT p.post_id, p.post_time, p.enable_sig, p.enable_html, p.enable_smilies, p.post_edit_count, p.post_edit_time, p.post_username, p.post_approve, p.poster_delete, p.post_edit_by, p.post_parent" . $sgv . "u.user_id, u.username, u.user_level, u.user_jr, u.user_allowhtml, u.user_posts, u.user_allowsig, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile, u.user_avatar_type, u.user_allowavatar, u.user_avatar, u.user_rank, u.user_viewemail, u.user_website, u.user_email, u.can_custom_ranks, u.user_custom_rank, u.user_session_time, u.user_allow_viewonline, pt.post_text, pt.bbcode_uid, pt.post_subject, count(l.post_id) as total, l.post_id as idpostu, l.type_id, (SELECT count(*) FROM " . OCENA_MOD_TABLE . " WHERE type_id>1 AND post_id=p.post_id ) as total1 $ph_field
    FROM " . POSTS_TABLE . " p
    $ph_table
    LEFT JOIN " . POSTS_TEXT_TABLE . " pt ON (pt.post_id = p.post_id)
    LEFT JOIN " . USERS_TABLE . " u ON (u.user_id = p.poster_id)
    LEFT JOIN " . OCENA_MOD_TABLE . " l ON (l.post_id = p.post_id AND l.type_id=1)
    WHERE p.topic_id = $topic_id
        $limit_posts_time
    GROUP by p.post_id, l.post_id
    ORDER BY p.post_order, p.post_time $post_time_order
    LIMIT $start, $user_posts_per_page";


juz nie znajde takiego kodu i go nie zamienie ;/

NineX - 25-08-2010, 18:44

kooza

Kod:
Znajdź: pt.post_subject

Zmień na: pt.post_subject, count(l.post_id) as total, l.post_id as idpostu, l.type_id, (SELECT count(*) FROM " . OCENA_MOD_TABLE . " WHERE type_id>1 AND post_id=p.post_id ) as total1

Znajdź:
 LEFT JOIN " . USERS_TABLE . " u ON (u.user_id = p.poster_id)

Dodaj po:
 LEFT JOIN " . OCENA_MOD_TABLE . " l ON (l.post_id = p.post_id AND l.type_id=1)

Znajdź:
GROUP by p.post_id

Zmień na:
GROUP by p.post_id, l.post_id


Nie testowałem, ale powinno działać.

Jeśli ktoś wie jak wykonać to w 1 zapytaniu, to zapraszam na PW.

NineX - 31-08-2010, 19:19

Aktualizacja do wersji 1.0.0 obejmuje:
- ustawienia w PA
- optymalizacja kodu
- flood
- limit dzienny
- blokada oceny swoich tematów
- blokada zmiany oceny

Wszelkie błędy/zmiany zgłaszać.

dream552 - 31-08-2010, 20:34

Po teście mod śmiga wyśmienicie..
Boltex - 20-09-2010, 10:50

NineX, u mnie na forum się gryzie ze spider friendly ;)
kogutkov - 20-09-2010, 11:42

Nie bardzo czaje na czym ten mod polega. Czy pole do oceny pojawia się tylko w poście , który ma w treści link? Czy jak?
Mario14125 - 20-09-2010, 21:55

Mam takie pytanie... Chcę odinstalować tą modyfikację bo mi coś nie działa i moje pytanie jest takie: jak usunąć wpisy z modyfikacji z bazy danych (SQL) :?:

Czyli jak usunąć to:
Kod:
CREATE TABLE `phpbb_ocena_mod` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`post_id` INT NOT NULL ,
`user_id` INT NOT NULL ,
`type_id` INT NOT NULL ,
`date` INT NOT NULL
);

INSERT INTO phpbb_config SET config_name='ocena_on_off', config_value='1';
INSERT INTO phpbb_config SET config_name='ocena_linki_on_off', config_value='1';
INSERT INTO phpbb_config SET config_name='ocena_linki', config_value='5';
INSERT INTO phpbb_config SET config_name='ocena_limit', config_value='4';
INSERT INTO phpbb_config SET config_name='ocena_flood', config_value='2';
INSERT INTO phpbb_config SET config_name='ocena_forums', config_value='1,2,3';
INSERT INTO phpbb_config SET config_name='ocena_linki_color', config_value='fef6ae';
INSERT INTO phpbb_config SET config_name='ocena_comment_height', config_value='60';
INSERT INTO phpbb_config SET config_name='ocena_comment_width', config_value='700';

Z bazy danych :?:

HardROoZi - 20-09-2010, 21:59

Mario14125, skasuj tabele phpbb_ocena_mod
Mario14125 - 20-09-2010, 22:01

HardROoZi, to wiem... Ale mi chodzi bardziej o to:

Kod:
INSERT INTO phpbb_config SET config_name='ocena_on_off', config_value='1';
INSERT INTO phpbb_config SET config_name='ocena_linki_on_off', config_value='1';
INSERT INTO phpbb_config SET config_name='ocena_linki', config_value='5';
INSERT INTO phpbb_config SET config_name='ocena_limit', config_value='4';
INSERT INTO phpbb_config SET config_name='ocena_flood', config_value='2';
INSERT INTO phpbb_config SET config_name='ocena_forums', config_value='1,2,3';
INSERT INTO phpbb_config SET config_name='ocena_linki_color', config_value='fef6ae';
INSERT INTO phpbb_config SET config_name='ocena_comment_height', config_value='60';
INSERT INTO phpbb_config SET config_name='ocena_comment_width', config_value='700';

Żeby mi po prostu nie robiło nie potrzebnych zapytań...

Boltex - 20-09-2010, 22:03

HardROoZi, to też, ale wchodzisz w tabele phpbb_config wybierasz przeglądaj u góry i szukasz wpisów ocena_on_off i tak dalej zaznaczasz i usuwasz.
NineX - 20-09-2010, 22:35

Mario14125, a co Ci dokładnie nie działa? bo nie wiem czy wiesz, ale nie wydaje modyfikacji przed uprzednim sprawdzeniu na localu :roll:
Mario14125 - 21-09-2010, 00:58

Ogólnie mi nie działa... Niby w PA wszystko dobrze a jak chcę coś kliknąć to nic nie reaguje...


Powered by phpBB modified by Przemo © 2003 phpBB Group