Webboard

Pełna wersja: Miniatury Avatarów w tym samym rozmiarze.
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam ustawiłem na forum maksymalny rozmiar avatara. Jednak miniatury są roznych kształtów. Prostokąt, kwadrat. Chciałbym żeby wszyscy mieli stały rozmiar miniatury najlepiej w kształcie kwadrata.

[Obrazek: 7d9aaa292601662.jpg]

to samo dzieje się na chacie :(

ustawiłem rozmiar 20x20 ale i tak jest albo kwadrat albo prostokąt.

Z góry dziękuje za pomoc.
W miejscu gdzie ma się wyświetlać avatar wpisz
Kod PHP:
<image src="{$mybb->user['avatar']}style="max-height: 50px; max-width: 50px; " /> 
ustal na swoje rygory. {$mybb->user['avatar']} pobiera Twój awatar, ale w te miejsce można wstawić inną zmienną odpowiadającą za pobranie jakogoś tam avataru.
Snake to znaczy chciałbym zeby rozmiar został zachowany na chacie i forum.
Szczerze mówiąc nie wiem gdzie to wkleić. Może do global.css ?

Chodzi mi tylko o miniatury bo rozmiar w postach jest już odpowiedni.

Jednak gdy pokazuje się miniatura jest albo prostokąt albo kwadrat.

Skupię się na dodaniu zmiennej na chacie dvz shoutbox.

Dane z global.css z dvz shoutbox

konkretnie dotyczące avatara

Cytat:#shoutbox img.avatar {
float: left;
display: inline-block;
margin-top: -1px;
margin-right: 5px;
max-height: 20px;
max-width: 20px;
border: solid 1px #d4d4d4;
box-shadow: 0 0 2px #c3c3c3;
}

Ustawiłem wielkość minimalną 20x20 jednak niektórzy mają avatar np 10x20

Chciałbym żeby wielkość była stała "kwadrat" czyli 24x24

Czy mam usunąć linie
max-height: 20px;
max-width: 20px;

a w ich miejsce wstawić

<image src="{$mybb->user['avatar']}" style="max-height: 50px; max-width: 50px; " />

Później chciałbym takie ustawienia zastosować dla Avatary przy ostatnich postach 1.5

Z góry dziękuję za każdą podpowiedź, radę.
Wpisz stanowczo, height i width, ponieważ przez max-height i max-width ustalasz maksymalne wymiary, nie te co mają być.

A to, że niektórzy mają kwadraty i prostokąty to z mojej perspektywy chodzi o to, że bieżące awatary nie przekraczają maksymalnych wymiarów. (to co wcześniej pisałem).
Ustawiłem tak jak powiedziałeś i działa. Teraz jeszcze pytanie jak zastosować takie ustawienia dla "Avatary przy ostatnich postach (1.5)"
Gdyż w global.css nie widzę żadnego ustawienia dla tego pluginu. Mógłbyś mi doradzić gdzie mam szukać rozwiązania ?.
ACP → Konfiguracja → Ustawienia → Avatary przy ostatnich postach → Maksymalny rozmiar avatara wpisz np. te 20px.

Sprawdzone, przed chwilą instalowałem i testowałem. Śmiało możesz zmieniać.
Dziękuje :). Tylko tutaj także występuje problem który był wcześniej z chatem. Chciałbym ustawić tylko height i width.
Otwórz plik lastpooster avatar.php i odszukaj:
Kod PHP:
$contents str_replace("<!-- ".$lastposteravatar_rand."-avatar-".$rekord['uid']." -->""<a href=\"".$mybb->settings['bburl']."/".get_profile_link($rekord['uid'])."\"><img src=\"".$mybb->settings['lastposteravatar_defaultsource']."\" style=\"max-height: ".$mybb->settings['lastposteravatar_size']."; max-width: ".$mybb->settings['lastposteravatar_size']."; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" /></a>"$contents); 
zmień
Kod PHP:
style=\"max-height: ".$mybb->settings['lastposteravatar_size']."; max-width: ".$mybb->settings['lastposteravatar_size']."; 
na
Kod PHP:
style=\"height: 20px; width: 20px; 

Czy ile tam sobie ustawisz. Zrób tak w każdej zmiennej $contents, która zawierała w sobie ['size']. Jeśli nie rozumiesz, podeślij mi plik, zerknę okiem.
Witaj. Podmieniłem tak jak mówisz i teraz wszyscy mają taki sam rozmiar miniatury avatara.

Pozwolę sobie wrzucić kod dla sprawdzenia czy wszystko jest ok. Może przyda się innym użytkownikom.

Kod:
<?php

/**
* Avatary przy ostatnich postach - Filip Klar 2011-12
*/

if(!defined("IN_MYBB")) {
    die("Otwarcie tego pliku jest zabronione.");
}

$plugins->add_hook("global_start", "lastposteravatar_rand");
$plugins->add_hook("index_start", "lastposteravatar_parents");
$plugins->add_hook("forumdisplay_start", "lastposteravatar_parents");
$plugins->add_hook("build_forumbits_forum", "lastposteravatar_forums");
$plugins->add_hook("forumdisplay_thread", "lastposteravatar_threads");
$plugins->add_hook("pre_output_page", "lastposteravatar_replace");

function lastposteravatar_info() {
    return array(
        "name"            => "Avatary przy ostatnich postach",
        "description"    => "Wyświetla avatar użytkownika, który napisał ostatni post w danym dziale lub wątku",
        "website"        => "http://fklar.pl",
        "author"           => "Filip Klar",
        "authorsite"    => "http://fklar.pl",
        "version"        => "1.5",
        "guid"             => "",
        "compatibility" => "16*"
    );
}

function lastposteravatar_activate() {
    global $db, $mybb;
    
    $lastposteravatar_group = array(
        "gid"             => "NULL",
        "name"             => "lastposteravatar",
        "title"             => "Avatary przy ostatnich postach",
        "description"     => "Wyświetlanie avatarów na liście działów i wątków",
        "disporder"     => "25",
        "isdefault"     => "yes",
    );
    $db->insert_query("settinggroups", $lastposteravatar_group);
    $gid = $db->insert_id();    
    
    $lastposteravatar_size = array(
        "sid"                => "NULL",
        "name"            => "lastposteravatar_size",
        "title"            => "Maksymalny rozmiar avatara",
        "description"    => "",
        "optionscode"    => "text",
        "value"            => "35px",
        "disporder"        => "1",
        "gid"                => intval($gid),
    );
    $db->insert_query("settings", $lastposteravatar_size);
    
    $lastposteravatar_forums = array(
        "sid"                => "NULL",
        "name"            => "lastposteravatar_forums",
        "title"            => "Wyświetlanie na liście działów",
        "description"    => "",
        "optionscode"    => "yesno",
        "value"            => "1",
        "disporder"        => "2",
        "gid"                => intval($gid),
    );
    $db->insert_query("settings", $lastposteravatar_forums);
    
    $lastposteravatar_threads = array(
        "sid"                => "NULL",
        "name"            => "lastposteravatar_threads",
        "title"            => "Wyświetlanie na liście wątków",
        "description"    => "",
        "optionscode"    => "yesno",
        "value"            => "1",
        "disporder"        => "3",
        "gid"                => intval($gid),
    );
    $db->insert_query("settings", $lastposteravatar_threads);
    
    $lastposteravatar_showdefault = array(
        "sid"                => "NULL",
        "name"            => "lastposteravatar_showdefault",
        "title"            => "Przypisanie domyślnego avatara użytkownikom, którzy go nie posiadają",
        "description"    => "",
        "optionscode"    => "yesno",
        "value"            => "1",
        "disporder"        => "4",
        "gid"                => intval($gid),
    );
    $db->insert_query("settings", $lastposteravatar_showdefault);
    
    $lastposteravatar_defaultsource = array(
        "sid"                => "NULL",
        "name"            => "lastposteravatar_defaultsource",
        "title"            => "Adres domyślnego avatara",
        "description"    => "",
        "optionscode"    => "text",
        "value"            => $mybb->settings['bburl']."/admin/styles/default/images/default_avatar.gif",
        "disporder"        => "5",
        "gid"                => intval($gid),
    );
    $db->insert_query("settings", $lastposteravatar_defaultsource);
    
    rebuild_settings();
    
    require MYBB_ROOT."/inc/adminfunctions_templates.php";
    find_replace_templatesets("forumbit_depth1_forum_lastpost", "#".preg_quote('<span class="smalltext">') . "#i", '<span class="smalltext">{$forum[\'lastposteravatar\']}');
    find_replace_templatesets("forumbit_depth2_forum_lastpost", "#".preg_quote('<span class="smalltext">') . "#i", '<span class="smalltext">{$forum[\'lastposteravatar\']}');
    find_replace_templatesets("forumdisplay_thread", "#".preg_quote('<span class="lastpost smalltext">') . "#i", '<span class="lastpost smalltext">{$thread[\'lastposteravatar\']}');
    
}

function lastposteravatar_deactivate() {
    global $db;
    
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='lastposteravatar'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='lastposteravatar_size'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='lastposteravatar_forums'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='lastposteravatar_threads'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='lastposteravatar_showdefault'");
    $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='lastposteravatar_defaultsource'");
    
    rebuild_settings();
    
    require MYBB_ROOT."/inc/adminfunctions_templates.php";
    find_replace_templatesets("forumbit_depth1_forum_lastpost", "#".preg_quote('{$forum[\'lastposteravatar\']}') . "#i", '');
    find_replace_templatesets("forumbit_depth2_forum_lastpost", "#".preg_quote('{$forum[\'lastposteravatar\']}') . "#i", '');
    find_replace_templatesets("forumdisplay_thread", "#".preg_quote('{$thread[\'lastposteravatar\']}') . "#i", '');
    
}

function lastposteravatar_rand() {
    global $lastposteravatar_rand;
    $lastposteravatar_rand = uniqid();    
}

function lastposteravatar_parents() {
    global $db, $avForum;
    
    $query = $db->query("SELECT `fid`, `pid`, `lastpost`, `lastposteruid` FROM `".TABLE_PREFIX."forums` WHERE `threads` > '0'");
    $n = 1;
    while($tempforum = $db->fetch_array($query)) {
        $avForum[$n]['fid'] = $tempforum['fid'];
        $avForum[$n]['parent'] = $tempforum['pid'];
        $avForum[$n]['lastpost'] = $tempforum['lastpost'];
        $avForum[$n]['lastposteruid'] = $tempforum['lastposteruid'];
        $n++;
    }
}

function lastposteravatar_forums(&$forum) {
    global $mybb, $fcache, $listOfUsers, $avForum, $lastposteravatar_rand;    
    
    if($mybb->settings['lastposteravatar_forums'] == 1) {
        $numberOfForums = count($avForum);
        $listOfUsers[0] = 0;
        $thisParent = $fcache[$forum['pid']][$forum['disporder']][$forum['fid']]['fid'];
        $fid = $thisParent;
        $lastpost = $fcache[$forum['pid']][$forum['disporder']][$forum['fid']]['lastpost'];
        $uid = $fcache[$forum['pid']][$forum['disporder']][$forum['fid']]['lastposteruid'];
        for($i = 0; $i <= $numberOfForums; $i++) {
            if($avForum[$i]['parent'] == $thisParent && $avForum[$i]['lastpost'] > $lastpost) {
                $lastpost = $avForum[$i]['lastpost'];
                $uid = $avForum[$i]['lastposteruid'];
            }
        }
        if(in_array($uid, $listOfUsers) == FALSE) {
            $listOfUsers[] = $uid;
        }
    
        $forum['lastposteravatar'] = "<!-- ".$lastposteravatar_rand."-avatar-".$uid." -->";
    
    }
    
}

function lastposteravatar_threads() {
    global $mybb, $thread, $listOfUsers, $lastposteravatar_rand;
    
    if($mybb->settings['lastposteravatar_threads'] == 1) {
    
        $listOfUsers[0] = 0;
        $uid = $thread['lastposteruid'];
        if(in_array($uid, $listOfUsers) == FALSE) {
            $listOfUsers[] = $uid;
        }
        
        $thread['lastposteravatar'] = "<!-- ".$lastposteravatar_rand."-avatar-".$uid." -->";
        
    }
    
}

function lastposteravatar_replace($contents) {
    global $db, $mybb, $listOfUsers, $lastposteravatar_rand;
    
    $numberWithAvatar = count($listOfUsers);
    $partQuery = "`uid` = '0'";
    for($i = 0; $i <= $numberWithAvatar; $i++) {
        $partQuery .= "OR `uid` = '".$listOfUsers[$i]."'";
    }
    
    $query = $db->query("SELECT `uid`, `avatar` FROM `".TABLE_PREFIX."users` WHERE ".$partQuery);
    while($rekord = $db->fetch_array($query)) {
        if(empty($rekord['avatar']) && $mybb->settings['lastposteravatar_showdefault'] == 0) {
            $contents = str_replace("<!-- ".$lastposteravatar_rand."-avatar-".$rekord['uid']." -->", "", $contents);
        }
        elseif(empty($rekord['avatar']) && $mybb->settings['lastposteravatar_showdefault'] == 1) {
            $contents = str_replace("<!-- ".$lastposteravatar_rand."-avatar-".$rekord['uid']." -->", "<a href=\"".$mybb->settings['bburl']."/".get_profile_link($rekord['uid'])."\"><img src=\"".$mybb->settings['lastposteravatar_defaultsource']."\" style=\"height: 32px; width: 32px; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" /></a>", $contents);    
        }
        else {
            $contents = str_replace("<!-- ".$lastposteravatar_rand."-avatar-".$rekord['uid']." -->", "<a href=\"".$mybb->settings['bburl']."/".get_profile_link($rekord['uid'])."\"><img src=\"".$rekord['avatar']."\" style=\"height: 32px; width: 32px; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" /></a>", $contents);    
        }
    }
    
    if($mybb->settings['lastposteravatar_showdefault'] == 0) {
        $contents = str_replace("<!-- ".$lastposteravatar_rand."-avatar-0 -->", "", $contents);
    }
    else {
        $contents = str_replace("<!-- ".$lastposteravatar_rand."-avatar-0 -->", "<img src=\"".$mybb->settings['lastposteravatar_defaultsource']."\" style=\"height: 32px; width: 32px; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" />", $contents);
        $contents = str_replace("<!-- ".$lastposteravatar_rand."-avatar", "<img src=\"".$mybb->settings['lastposteravatar_defaultsource']."\" style=\"height: 32px; width: 32px; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" /><!-- avatar", $contents);
    }
    
    return $contents;
    
}


?>
(05.12.2013, 11:56)tabaluga napisał(a): [ -> ]Witaj. Podmieniłem tak jak mówisz i teraz wszyscy mają taki sam rozmiar miniatury avatara.

Pozwolę sobie wrzucić kod dla sprawdzenia czy wszystko jest ok. Może przyda się innym użytkownikom.
KOD

No chyba taki efekt chciałeś uzyskać, czyż nie?

Co do kodu... chyba jest ok.