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.8 - Avatar in Ajax jQuery Shoutbox 1.4 by Lui

INIM - 19-01-2012, 00:34
Temat postu: Avatar in Ajax jQuery Shoutbox 1.4 by Lui
Avatar in Ajax jQuery Shoutbox 1.4 by Lui

Dodaje avatar w shoutboksie Luiego


Kod:
################################################################
## MOD Title: Avatar in Ajax jQuery Shoutbox 1.4 by Lui
## MOD Version: 1.0
## MOD Author: INIM
## MOD Description: Dodaje avatar w shoutboksie Luiego           
##
## Installation Level: Easy
## Installation Time: 2 Minutes
## Files To Edit: (2)   
##                       shoutbox_view.php
##            images/shoutbox.js
##         
################################################################


MODYFIKACJA JEST KOMPATYBILNA TYLKO I WYŁĄCZNIE Z SB LUIEGO, CZYLI NIE Z TYM, KTÓRY JEST STANDARDOWO W 1.12.6p4.

Nie zezwalam aby moja modyfikacja była wdrążana w coś w stylu Shoutbox 3.14.3. by XXX

Standardowo avatary są wyświetlane w wielkości 35x35. Jeśli ktoś chce to zmienić może to zrobić w pliku shoutbox_view.php.
Znajdź trzykrotnie:
Kod:
width="35" height="35"

I trzykrotnie dwa razy 35 zmień na swoje wymiary. width to szerokość, a height to wysokość. Jeśli chcesz, aby avatary były wyświetlane w naturalnych rozmiarach po prostu usuń trzykrotnie kod, który wcześniej podałem.

Tommekk80 - 19-01-2012, 00:55

INIM,fajna sprawa.

Tylko mam pytanie - może na js się nie znam do końca, ale tabela jest konieczna? Może pokombinować z divem dodanym przed?

Kod:
<div style="float: left; width: 35px;"><img src="'+data.d[x].a+'" width="35px" height="35px"></div>

Czy coś takiego...właśnie nie wiem czy się da. Pobawię się ;)

INIM - 19-01-2012, 00:57

Kombinowałem, nie wychodziło mi. Ogólnie to jestem przeziębiony i nie chciało mi się już kombinować, więc wrzuciłem to w tabelę.
xlesiu - 19-01-2012, 15:16

Dodałem sobie linijkę kodu aby wyświetlało mi avatara domyślnego. Za
Kod:
                if ( $row['user_avatar_type'] == USER_AVATAR_GALLERY)
                {
                    $avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" width="35" height="35" />' : '';
                }
dodałem
Kod:
                if ( $row['user_avatar_type'] != (USER_AVATAR_UPLOAD || USER_AVATAR_REMOTE || USER_AVATAR_GALLERY))
                {
                $avatar = '<img src="/images/whosonline.png" alt="avatar" border="0" width="35" heigh="35" />';
                }

INIM - 19-01-2012, 16:57

Wtedy możesz wyrzucić kod
Kod:
$avatar = '';

który jest przed pierwszym ifem. Albo po prostu ten:
Kod:
$avatar = '';

zamienić na
Kod:
$avatar = '<img src="/images/whosonline.png" alt="avatar" border="0" width="35" heigh="35" />';

I wtedy cały ten if, który dodałeś jest niepotrzebny. Ale to chodzi tylko o kilka niepotrzebnych bitów w kodzie.

mlodydzani - 23-01-2012, 20:33

INIM, Otóż mam takie problem podczas instalacji. W pliku shoutbox_view.php
Brakuje mi tego:
Kod:
#
#-----[ FIND ]------------------------------------------
                    'p' => $usercall,
#-----[ AFTER, ADD ]------------------------------------------
                    'a' => $avatar,

Dodaje plik w załączniku.

INIM - 23-01-2012, 22:49

Nie wiem jaką Ty masz wersję tego SB i skąd masz na przykład:
Kod:
                    'av' => $awatary,

I możesz za tym wrzucić.

a9u9u - 23-01-2012, 23:58

INIM, nie lepiej w shoutbox.js zamiast:
Kod:
htmlMessage += '<table id="sb_msg_' + data.d[x].i + '" class="' + row + ' table0" width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td>' + data.d[x].a + '</td><td width="100%"><div id="sb_msg_' + data.d[x].i + '" class="' + row + ' table0">';


dać
Kod:
htmlMessage += '<table id="sb_msg_' + data.d[x].i + '" class="' + row + ' table0" width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td>' + data.d[x].a + '</td><td width="100%"><div id="sb_msg_' + data.d[x].i + '" >';


wtedy nie powieli się klasa dla row i nie będzie 2 poziomych separatorów (border-bottom)

i dodałbym jeszcze do CSS:
Kod:
.table0 img {margin:0 4px 0 0}


aby odsunąć trochę avatar od ikonek edycji itd.

mlodydzani - 24-01-2012, 19:06

INIM, Dzięki pomogło.
Tommekk80 - 24-01-2012, 23:45

Próbowałem i wykombinowałem :D

Trochę inaczej jak sposób INIM, ale mam swojego diva zamiast tabeli ;)

Dodałem też avatar domyślny wg postów xlesiu i INIM :

Kod:
#
#-----[ OPEN ] [ OTWÓRZ ]------------------------------------------------
#

shoutbox_view.php

#
#-----[ FIND ] [ ZNAJDŹ ]------------------------------------------------
#

$sql = 'SELECT s.timestamp, s.sb_user_id, s.id, s.msg, u.username, u.user_level, u.user_id, u.user_jr

#
#-----[W LINII PO, DODAJ][ IN-LINE AFTER, ADD ]-------------------------------
#

, u.user_avatar_type, u.user_avatar

#
#-----[ FIND ] [ ZNAJDŹ ]------------------------------------------------
#

$name = charset_utf_fix($name);

#
#-----[ AFTER, ADD ] [ PO, DODAJ ]------------------------------------------
#
                $avatar = '<img src="link_do_domyslnego_avatara" alt="avatar" border="0" width="35" heigh="35" />'; //avatar domyślny
                if ( $row['user_avatar_type'] == USER_AVATAR_UPLOAD)
                {
                    $avatar = ( $board_config['allow_avatar_upload'] ) ? '<img src="' . $board_config['avatar_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" width="35" height="35" />' : '';
                }
                if ( $row['user_avatar_type'] == USER_AVATAR_REMOTE)
                {
                    $avatar = ( $board_config['allow_avatar_remote'] ) ? '<img src="' . $row['user_avatar'] . '" alt="" border="0" width="35" height="35" />' : '';
                }
                if ( $row['user_avatar_type'] == USER_AVATAR_GALLERY)
                {
                    $avatar = ( $board_config['allow_avatar_local'] ) ? '<img src="' . $board_config['avatar_gallery_path'] . '/' . $row['user_avatar'] . '" alt="" border="0" width="35" height="35" />' : '';
                }
               
#
#-----[ FIND ] [ ZNAJDŹ ]------------------------------------------------
#

'p' => $usercall,

#
#-----[ AFTER, ADD ] [ PO, DODAJ ]------------------------------------------
#

'a' => $avatar,

#
#-----[ OPEN ] [ OTWÓRZ ]------------------------------------------------
#

images/shoutbox.js

#
#-----[ FIND ] [ ZNAJDŹ ]------------------------------------------------
#

htmlMessage += '<div id="sb_msg_' + data.d[x].i + '" class="' + row + ' table0"> ';

#
#-----[ REPLACE WITH ] [ ZAMIEŃ NA ]------------------------------------------
#

                htmlMessage += '<div id="sb_msg_' + data.d[x].i + '" class="' + row + ' table0" style="min-height: 35px;"><div style="float: left; width: 35px; height: 35px; padding-right: 5px;">' + data.d[x].a + '</div>';

#
#-----[ SAVE/CLOSE ALL FILES ] [ ZAPISZ/ZAMKNIJ WSZYSTKIE PLIKI ]-------------------------------
#


Mi działa, ale proszę i tak o sprawdzenie.

//edit - mała poprawka (padding w avatarze i zmiana wysokości głównego diva) + screen

Czaston - 25-01-2012, 00:02

Tommekk80, jakieś demo czy wygląd pozostaje bez zmian?
szeju - 03-03-2012, 15:03

dlaczego nie mam pliku shoutbox.js
xlesiu - 03-03-2012, 17:23

szeju, a masz zainstalowany ajaxowy shoutbox?
martino - 28-03-2012, 23:40


Mam problem na IE z układem w SB.
Zrobiłem wg instrukcji Tommekk80.

dinotmrc - 16-04-2012, 21:53

Tommekk80, nie mam takich linijek, jakie karzesz wyszukać w twojej instrukcji...


Powered by phpBB modified by Przemo © 2003 phpBB Group