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 - Who Viewed My Profile by lui754 v2.0a

krystianr - 25-06-2010, 16:01

cyfilis,
zobacz ten post : http://www.przemo.org/php...p=422434#422434

cyfilis - 27-06-2010, 11:57

zaden blad juz mi nie wyskakuje ale czemu gdy wejde testowym userem w inny profil sprawdze go to nie widze ostatnich gosci?
lsteam - 27-06-2010, 16:43

Wykonałeś zapytanie do bazy ?
Magnetix - 30-06-2010, 17:24

cyfilis napisał/a:
zaden blad juz mi nie wyskakuje ale czemu gdy wejde testowym userem w inny profil sprawdze go to nie widze ostatnich gosci?

Też taki problem mam
lsteam napisał/a:
Wykonałeś zapytanie do bazy ?

Tak na samym początku.

[ Dodano: 04-08-2010, 14:57 ]
Refresh... Refresh...

Może ktoś pomóc? To ważne.

Helper - 26-09-2010, 20:55

nie wyświetla mi avków :<
Polaczek - 26-09-2010, 21:29

Helper, to akurat normalne że w viewprofile nie wyświetla.
Helper - 27-09-2010, 13:36

tzn? Da się zrobić tak by były avki w przeglądzie profilu?
Żelazko - 23-10-2010, 12:45

Ej ten mod pokazuje kto oglądał mój profil. A jak zrobić tak aby pokazywało innych użytkowników którzy przeglądali profil kogoś innego? Tak żeby można było wiedzieć kto przeglądało profili innego usera.

[ Dodano: 24-10-2010, 22:33 ]
Okej moja wina. Moda działa tak przeciw względnie do tego co napisałem. Wykonałem źle polecenie. :)

BenQ77 - 27-03-2011, 09:45

A to wygląda tak, że tylko nicki pokazuje, jak we VB? Jeżeli tak to dobrze, bo z avatarem nie chce.
Majkelo - 27-03-2011, 09:46

Lui napisał/a:
Co potrafi?
:arrow: W profilu każdego usera wyswietlana jest tabelka z userami, którzy ostatnio odwiedzili dany profil.
:arrow: Możemy ustawić domyślny avatar dla userów którzy nie posiadają aktualnie żadnego.
:arrow: Zmniejsza avatary do rozmiarów 50x50 (mozna zmienić, w instrukcji jest podane rozwiązanie).
:arrow: Dodaje oddzielną strone ze statystykami wyświetleń


[ Dodano: 27-03-2011, 10:47 ]
Ale zapewne można to zmienić na same nicki bez avatarów - nie wiem bo nigdy nie miałem do czynienia z tą modyfikacją ;)

BenQ77 - 27-03-2011, 10:23

No to właśnie czekam, aby ktoś zrobił, by nie było avatarów, tzn. powiedział jak to zrobić. Same nicki kolorowe :)
bastekoko - 18-02-2013, 18:20

ma ktoś tego moda zainstalowanego żeby można było zobaczyć jak to wygląda?
DILL - 28-03-2013, 15:55

a jak zrobic zeby dodac avatary wyslwietlenia i Kiedy (czas) dodac odrazu do profilu bez kikania w pokaz wiecej.
Dartam - 28-03-2013, 23:02

Witam,
mam jedno pytanie odnośnie modyfikacji. Dlaczego spisuje ona nazwy użytkowników do nowej tabeli? Powoduję to, że gdy użytkownik zmieni nick to dalej wyświetla się ten stary.

Można to naprawić zmieniając w includes/usercp_viewprofile.php i w profile_view_user.php (ten sam kod)

Z
Kod:
$nick = '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&amp;".POST_USERS_URL."=$viewer").'"' . $colored_username[1] . '>' . $name5 . '</a>';


Na
Kod:
$nick = '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&amp;".POST_USERS_URL."=$viewer").'"' . $colored_username[1] . '>' . $row['username'] . '</a>';


I z

Kod:
$sql = "SELECT p.*, u.user_avatar_type


Na

Kod:
$sql = "SELECT p.*, u.username, u.user_avatar_type


I wtedy wszystko działa. No i pasowałoby jeszcze usunąć dodawanie nazw użytkowników do sql, bo to zbędne, ale właśnie moje pytanie brzmi czy ta czynność nie ma a może jakiegoś większego sensu?

----

bastekoko, możesz zobaczyć na moim forum.

DILL,

W pliku includes/usercp_viewprofile.php

Zmień:

Kod:
////// Kto ostatnio przegladal profil [POCZATEK]/////
$user = $profiledata['user_id'];
$viewer = addslashes($userdata['username']);
$viewer_id = $userdata['user_id'];
$current_time = time();
if ($user <> $viewer_id)
{
    $sql = "UPDATE " . USERS_TABLE . "
            SET user_profile_view = '1'
            WHERE user_id = " . $user. "";
        if ( !mysql_query($sql) )
        {
           message_die(GENERAL_ERROR, "Could not update user data.", '', __LINE__, __FILE__, $sql);
        }

    $sql = "SELECT * FROM " . PROFILE_VIEW_TABLE . "
        WHERE user_id = " . $user . "
        AND viewer_id = " . $viewer_id;

    if ( $result = mysql_query($sql) )
    {
        if ( !$row = mysql_fetch_array($result) )
        $sql = "INSERT INTO " . PROFILE_VIEW_TABLE . "
           (user_id, viewername, viewer_id, view_stamp, counter)
           VALUES ('$user', '$viewer', '$viewer_id', '$current_time', '1')";
        if ( !$db->sql_query($sql) )
        {
           message_die(GENERAL_ERROR, "Could not insert profile views.", '', __LINE__, __FILE__, $sql);
        }
        else
        {
            $count = $row['counter'] + 1;
            $sql = "UPDATE " . PROFILE_VIEW_TABLE . "
                    SET view_stamp = '$current_time', counter = '$count'
                    WHERE user_id = " . $user. "
                    AND viewer_id = " . $viewer_id;
            if ( !mysql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Could not update profile views.", '', __LINE__, __FILE__, $sql);
            }
        }
    }
}

$sql = "SELECT p.*, u.user_avatar_type, u.user_allowavatar, u.user_avatar, u.user_level, u.user_jr FROM ".PROFILE_VIEW_TABLE." p, ".USERS_TABLE." u
    WHERE p.viewer_id = u.user_id
        AND p.user_id = ".$user."
    ORDER BY p.view_stamp DESC
    LIMIT 5";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
    $viewer = $row['viewer_id'];
   $colored_username = color_username($row['user_level'], $row['user_jr'], $row['viewer_id'], $row['viewername']);
   $name5 = $colored_username[0];
   if ($row['viewer_id'] > 0)
    {
    $nick = '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&amp;".POST_USERS_URL."=$viewer").'"' . $colored_username[1] . '>' . $name5 . '</a>';
    }
    else
    {
    $nick = $lang['gosc'];
    }
    $template->assign_block_vars('row', array(
        'AVATAR' => $viewer_avatar,
        'VIEW_BY' => $nick)
    );
}
////// Kto ostatnio przegladal profil [KONIEC]/////


Na:
Kod:
////// Kto ostatnio przegladal profil [POCZATEK]/////
$user = $profiledata['user_id'];
$viewer = addslashes($userdata['username']);
$viewer_id = $userdata['user_id'];
$current_time = time();
if ($user <> $viewer_id)
{
    $sql = "UPDATE " . USERS_TABLE . "
            SET user_profile_view = '1'
            WHERE user_id = " . $user. "";
        if ( !mysql_query($sql) )
        {
           message_die(GENERAL_ERROR, "Could not update user data.", '', __LINE__, __FILE__, $sql);
        }

    $sql = "SELECT * FROM " . PROFILE_VIEW_TABLE . "
        WHERE user_id = " . $user . "
        AND viewer_id = " . $viewer_id;

    if ( $result = mysql_query($sql) )
    {
        if ( !$row = mysql_fetch_array($result) )
        $sql = "INSERT INTO " . PROFILE_VIEW_TABLE . "
           (user_id, viewername, viewer_id, view_stamp, counter)
           VALUES ('$user', '$viewer', '$viewer_id', '$current_time', '1')";
        if ( !$db->sql_query($sql) )
        {
           message_die(GENERAL_ERROR, "Could not insert profile views.", '', __LINE__, __FILE__, $sql);
        }
        else
        {
            $count = $row['counter'] + 1;
            $sql = "UPDATE " . PROFILE_VIEW_TABLE . "
                    SET view_stamp = '$current_time', counter = '$count'
                    WHERE user_id = " . $user. "
                    AND viewer_id = " . $viewer_id;
            if ( !mysql_query($sql) )
            {
               message_die(GENERAL_ERROR, "Could not update profile views.", '', __LINE__, __FILE__, $sql);
            }
        }
    }
}

$sql = "SELECT p.*, u.username, u.user_avatar_type, u.user_allowavatar, u.user_avatar, u.user_level, u.user_jr FROM ".PROFILE_VIEW_TABLE." p, ".USERS_TABLE." u
    WHERE p.viewer_id = u.user_id
        AND p.user_id = ".$user."
    ORDER BY p.view_stamp DESC
    LIMIT 5";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result))
{
   $viewer = $row['viewer_id'];
   if (!empty($row['user_avatar']))
   {
        $viewer_avatar = "<img src=\"" . $row['user_avatar'] . "\" style=\"max-width: 50px; max-height: 50px;\" />";
   }
   else
   {
        $viewer_avatar = "<img src=\"images/noav.png\" style=\"max-width: 50px; max-height: 50px;\" />";
   }
   
   $colored_username = color_username($row['user_level'], $row['user_jr'], $row['viewer_id'], $row['viewername']);
   $name5 = $colored_username[0];
   if ($row['viewer_id'] > 0)
    {
    $nick = '<a href="'.append_sid("profile.$phpEx?mode=viewprofile&amp;".POST_USERS_URL."=$viewer").'"' . $colored_username[1] . '>' . $row['username'] . '</a>';
    }
    else
    {
    $nick = $lang[''];
    }
   
    if(!(empty($row['user_avatar'])) AND ($row['viewer_id'] > 0))
    {
        $template->assign_block_vars('row', array(
            'AVATAR' => $viewer_avatar,
            'KIEDY' => create_date($userdata['user_dateformat'], $row['view_stamp'], $userdata['user_timezone']),
            'VIEW_BY' => $nick)
        );
    }
}
////// Kto ostatnio przegladal profil [KONIEC]/////


Oraz w pliku templates/twoj_styl/profile_view_body.tpl

Zmień z:
Kod:
            <table width="100%" border="0" colspan="2" cellspacing="1" cellpadding="1" class="forumline">
            <tr>
                <td width="100%" class="catRight" align="center" colspan="2"><strong>{L_VIEWER}</strong>{USERNAME}</td>
            </tr>
            <tr>
                <td class="row1" colspan="2" align="right"><!-- BEGIN row --> {row.VIEW_BY}<!-- END row --></td>
            </tr>
            <tr>
                <td width="100%" height="12" class="row2" valign="top" align="right" colspan="2">{L_LINK_USERS}{LINK_USERS}</td>
            </tr>


Na:

Kod:
    <table width="100%" border="0" colspan="2" cellspacing="1" cellpadding="1" class="forumline">
            <tr>
                <td class="catLeft" align="center" height="28" colspan="2"><b><span class="gen">{L_VIEWER}<u>{USERNAME}</u></span></b></td>
            </tr>
            <tr>
                <td class="row1" colspan="2" align="right">
                    <div style="float: right; margin: 4px; text-align: center;">
                        <!-- BEGIN row -->
                        <div style="float: left">
                            <div style="width: 120px; height: 50px;">
                            {row.AVATAR}
                            </div>
                            <div style="width: 120px; height: 15px;">
                            {row.VIEW_BY}
                            </div>
                            <div style="width: 120px; height: 10px;">
                                <span style="font-size: 9px;">{row.KIEDY}</span>
                            </div>
                        </div>
                        <!-- END row -->
                    </div>
                </td>
            </tr>
            <tr>
                <td width="100%" height="12" class="row2" valign="top" align="right" colspan="2">{L_LINK_USERS}{LINK_USERS}</td>
            </tr>
    </table>


Tylko musisz jeszcze zmienić w ovreall_header doctype na html5, a jeśli nie możesz tego zrobić to musisz w pliku includes/usercp_viewprofile.php wartości z CSS dla $viewer_avatar - "max-width" zmienić na "width" i to samo z "height". Jeśli zostawisz z max-* to avatary będą się ładnie skalować, tylko własnie wymagany jest doctype pod html5, bo inaczej nie będzie to działało poprawnie w Internet Explorerze, więc zrób jak uważasz.

W załączniku przesyłam foto jak to się ogólnie prezentuje.

DILL - 29-03-2013, 00:07

A Wyświetlenia w profilu??


Powered by phpBB modified by Przemo © 2003 phpBB Group