Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Okrągłe awatary w pluginie lastposteravatar

Założony przez  Qurczax_.

wersja skryptu MyBB: 1.8
adres forum: www.utysia.pl
na czym polega problem (screen, opis, komunikaty, nazwa i wersja wtyczki):

Chciałbym przerobić plugin aby awatary wyświetlane przy ostatnim poście (screen) były okrągłe.
Korzystam z tego kodu:

border-radius: 50%;1px solid #444;padding: 1px;float: left;width: ZWpx;height: ZWpx;margin-right: 5px;
 ZW- zmienna wartość

Plugin nie dodaje szablonów, ale w pliku php z inc/plugins są wszystkie parametry.
Zawartość pliku php:
<?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" => "18*"
    
);
}

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=\"max-height: "
.$mybb->settings['lastposteravatar_size']."; max-width: ".$mybb->settings['lastposteravatar_size']."; 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=\"max-height: "
.$mybb->settings['lastposteravatar_size']."; max-width: ".$mybb->settings['lastposteravatar_size']."; 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=\"border-radius: 50%;1px solid #444;padding: 1px;max-height: ".$mybb->settings['lastposteravatar_size']."; max-width: ".$mybb->settings['lastposteravatar_size']."; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" />"$contents);
        
$contents str_replace("<!-- ".$lastposteravatar_rand."-avatar""<img src=\"".$mybb->settings['lastposteravatar_defaultsource']."\" style=\"border-radius: 50%;1px solid #444;padding: 1px;max-height: ".$mybb->settings['lastposteravatar_size']."; max-width: ".$mybb->settings['lastposteravatar_size']."; float: left; margin: 5px;\" alt=\"avatar\" class=\"favimg\" /><!-- avatar"$contents);
    }
    
    return 
$contents;
    
}


?>
Link do pluginu:
http://fklar.pl/download/14/
Screen:
[Obrazek: dOoQOAy.png]
Jeśli podałem za mało informacji to proszę powiedzieć :)
Pozdrawiam
Masz w tym pliku w kilku miejscach wyświetlanie awatara. Dodałeś w złym miejscu border-radius.
Najprościej, dodaj do global.css
.favimg {
border-radius: 50%;
}
Dziękuję :) jeśli mam jeszcze inny problem to mogę tutaj czy nowy wątek?
Matslom napisał 26.09.2015, 13:11:
1 wątek = 1 problem. Załóż nowy wątek



Użytkownicy przeglądający ten wątek:

1 gości