Zastępczy avatar dostosowywany do płci
|
zsp2wagrowiec |
Dodany dnia 15.12.2008 19:00:20
|
Przedszkolak
Postów: 17
Data rejestracji: 15.02.2007 20:13
|
Witam
Wpadł mi do głowy pomysł aby avatar zastępczy był dostosowywany do płci. Przerobiłem więc user_info_panel.php dodając kod na avatar zastępczy i trochę kodu z ustawienia ikonki płci niestety nie jestem tak dobry w php i to co zrobiłem nie działa. Jak to przerobić żeby działało?
Oto co zrobiłem:
if ($userdata['user_avatar'] != "") {
echo "<p><center><img src='".BASEDIR."images/avatars/".$userdata['user_avatar']."' border='0'></center><br /></p>\n";
} else {
if ($data['user_sex'] == 2) {
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/woman.jpg' border='0'></center><br /></p>\n";
} elseif ($data['user_sex'] == 1) {
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/men.jpg' border='0'></center><br /></p>\n";
} elseif ($data['user_sex'] == 0) {
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/brak.jpg' border='0'></center><br /></p>\n";}
}
Z góry dziękuje za pomoc ;)
PW od moderatora:
- Przeniesienie tematu - Pieka 15.12 - 19:07
|
|
|
|
Wścibski Gość |
Dodany dnia 24.11.2024 17:47:51
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
kefirek |
Dodany dnia 15.12.2008 19:05:59
|
Zaawansowany
Postów: 1191 Pomógł: 418 Ostrzeżeń: 1
v6.00.xxx Data rejestracji: 06.04.2008 21:59
|
Nie sprawdzałem ale zobacz może tak
GeSHi: PHP if ($userdata['user_avatar'] != "" AND $data['user_sex'] == 1) { echo "<p><center><img src='".INFUSIONS."user_info_panel/images/men.jpg' border='0'></center><br /></p>\n"; } elseif ($userdata['user_avatar'] != "" AND $data['user_sex'] == 2) { echo "<p><center><img src='".INFUSIONS."user_info_panel/images/woman.jpg' border='0'></center><br /></p>\n"; } else { echo "<p><center><img src='".INFUSIONS."user_info_panel/images/brak.jpg' border='0'></center><br /></p>\n"; }
Zinterpretowano w sekund: 0.016, wykorzystano GeSHi 1.0.8.10
|
|
|
|
zsp2wagrowiec |
Dodany dnia 15.12.2008 19:15:32
|
Przedszkolak
Postów: 17
Data rejestracji: 15.02.2007 20:13
|
Sorry @Pieka
@kefirek - niestety nie pomogło. Nadal nie pokazuje |
|
|
|
rytek90 |
Dodany dnia 15.12.2008 19:49:00
|
Przedszkolak
Postów: 31 Pomógł: 5
Data rejestracji: 11.03.2005 16:52
|
Sprawdź tak:
if ($userdata['user_avatar'] != "") {
echo "<p><center><img src='".BASEDIR."images/avatars/".$userdata['user_avatar']."' border='0'></center><br /></p>\n";
} else {
if ($userdata['user_sex'] == 2) {
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/woman.jpg' border='0'></center><br /></p>\n";
} elseif ($userdata['user_sex'] == 1) {
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/men.jpg' border='0'></center><br /></p>\n";
} elseif ($userdata['user_sex'] == 0) {
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/brak.jpg' border='0'></center><br /></p>\n";}
}
Kliknij i zaczekaj na załadowanie kodu ...
Pozdro, Rytek.
|
|
|
|
zsp2wagrowiec |
Dodany dnia 15.12.2008 20:09:16
|
Przedszkolak
Postów: 17
Data rejestracji: 15.02.2007 20:13
|
Działa ;)
Dzięki rytek90
Może wiesz jak zrobić żeby na forum działało w taki sam sposób?
Taki kod poszukałem do zastępczego avatara na forum:
GeSHi: PHP if ($data['user_w;font-weight:bold;padding-left:2px;padding-right:2px'>avatar'] && file_exists(IMAGES."w;font-weight:bold;padding-left:2px;padding-right:2px' >avatars/".$data['user_w;font-weight:bold;padding-left:2px;padding-right:2px'>avatar'])) { echo " <img src='".IMAGES."w;font-weight:bold;padding-left:2px;padding-right:2px'>avatars/".$data['user_w;font-weight:bold;padding-left:2px;padding-right:2px'>avatar']."' alt='".$locale['567']."' /><br /><br />\n"; } else { echo "<img src=' ".IMAGES."w;font-weight:bold;padding-left:2px;padding-right:2px'>avatars/brak.gif' style='border:0' alt='".$locale['567']."' /><br /><br />\n"; }
Zinterpretowano w sekund: 0.017, wykorzystano GeSHi 1.0.8.10
|
|
|
|
rytek90 |
Dodany dnia 15.12.2008 21:48:44
|
Przedszkolak
Postów: 31 Pomógł: 5
Data rejestracji: 11.03.2005 16:52
|
Nie sprawdzałem, ale powinno działać:
if ($data['user_avatar'] && file_exists(IMAGES."avatars/".$data['user_avatar']))
{
echo "<img src='".IMAGES."avatars/".$data['user_avatar']."' alt='".$locale['567']."' />";
}
else
{
if ($data['user_sex'] == 2)
{
echo " <img src='".INFUSIONS."user_info_panel/images/woman.jpg' border='0'>";
}
elseif ($data['user_sex'] == 1)
{
echo " <img src='".INFUSIONS."user_info_panel/images/men.jpg' border='0'>";
}
elseif ($data['user_sex'] == 0)
{
echo "<img src='".IMAGES."avatars/brak.gif' style='border:none;' alt='".$locale['567']."' />";
}
echo "<br /><br />";
}
Kliknij i zaczekaj na załadowanie kodu ...
|
|
|
|
LAbUdZiN |
Dodany dnia 16.12.2008 11:57:34
|
Początkujący
Postów: 258 Pomógł: 8 Ostrzeżeń: 6
Data rejestracji: 16.06.2007 14:45
ZBANOWANY: Dożywotnio
|
A Jak dac to w "enhanced_user_info_panel" ?
Zamieniam pewien kod ale nie wyświetla mi w ogóle grafiki a ścieżki miałem dobre.
Oto kawałek kodu:
if (!defined("IN_FUSION")) { die("Access Denied"); }
if (file_exists(INFUSIONS."enhanced_user_info_panel/locale/".$settings['locale'].".php")) {
include INFUSIONS."enhanced_user_info_panel/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."enhanced_user_info_panel/locale/English.php";
}
add_to_head("<script type='text/javascript' src='".INFUSIONS."enhanced_user_info_panel/eui.js'></script>");
if (iMEMBER) {
openside($userdata['user_name']);
$msg_count = dbcount("(message_id)", DB_MESSAGES, "message_to='".$userdata['user_id']."' AND message_read='0'AND message_folder='0'");
if ($msg_count) {
echo "<div style='text-align:center'><strong><a href='".BASEDIR."messages.php' class='side'>".sprintf($locale['global_125'], $msg_count).($msg_count == 1 ? $locale['global_126'] : $locale['global_127'])."</a></strong></div>\n";
}
if ($userdata['user_avatar'] && file_exists(IMAGES."avatars/".$userdata['user_avatar'])) {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".IMAGES."avatars/".$userdata['user_avatar']."' alt='".$locale['eui_100']."' style='border:0' /></a></div>\n";
} else {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".IMAGES."avatars/brak.gif' style='border:0' /></a></div>\n";
}
echo "<div class='side-label eui_master_head' style='margin-bottom:1px' title='".$locale['eui_101']."'>".$locale['eui_102']."</div>\n";
echo "<div class='eui_master_body' style='margin-bottom:3px'>\n";
echo THEME_BULLET." <a href='".BASEDIR."edit_profile.php' class='side'>".$locale['global_120']."</a><br />\n";
Edytowane przez LAbUdZiN dnia 16.12.2008 11:57:57
|
|
|
|
rytek90 |
Dodany dnia 16.12.2008 17:34:39
|
Przedszkolak
Postów: 31 Pomógł: 5
Data rejestracji: 11.03.2005 16:52
|
Jeżeli nie działa, zacznijmy trochę kombinować, żeby się dowiedzieć dlaczego...
Najpierw zacznijmy od zmiennej:
Wyświetlamy zawartość elementu tablicy, którego sprawdzamy w ifie.
Najpierw piszemy samo wyświetlanie zmiennej.
echo $userdata['user_sex'];//zmienna, którą porównujemy w instrukcji if.
Kliknij i zaczekaj na załadowanie kodu ...
i sprawdzamy jaką przyjmuje aktualnie wartość, i czy w ogóle sięgamy do tej zmiennej (może ten element znajduje się w innej tablicy?)
Jeżeli to się nam zgadza (czyli zmienna jest dobra), czyli nie tędy droga, lecimy w głąb...
Sprawdzamy działanie ifów w ten sposób, że zamiast wyświetlania od razu tego co ma być, najpierw napisz samo, np (wrzuć echo do swojej instrukcji, tutaj tylko przykład - niekoniecznie dobry ;D ):
if ($userdata['user_sex'] == 1) echo "Mezczyzna";
elseif ($userdata['user_sex'] == 2) echo "Kobieta";
Kliknij i zaczekaj na załadowanie kodu ...
i teraz zmieniamy płeć w profilu (bez skojarzeń proszę ;p) i sprawdzamy jaki napis będzie wyświetlać.
Jeżeli dobrze, to robimy jeszcze jedno sprawdzenie.
Twierdzisz, że ścieżka do pliku jest dobra? łatwo to sprawdzić i skontrolować błąd:
Zamiast:
echo "<p><center><img src='".INFUSIONS."user_info_panel/images/woman.jpg' border='0'></center><br /></p>\n";
Kliknij i zaczekaj na załadowanie kodu ...
wpisujemy tak:
echo INFUSIONS."user_info_panel/images/woman.jpg";
Kliknij i zaczekaj na załadowanie kodu ...
Czyli pozbywamy się wszystkich tagów html i wpisujemy samą ścieżkę...
Teraz sprawdzamy czy ten tekst który nam się wyświetli, jest zgodny ze ścieżką do pliku (tj. wklejamy go do przeglądarki i odpalamy ;) ).
Jeżeli dalej nie działa i już naprawdę nie wiemy co robić, pytamy na forum ;)
Bo takie szukanie dziury w całym trochę męczy, każdy chciałby mieć dobrze, ale każdy chce mieć inaczej, każdy ma pliki w innych folderach i nie każdemu można pomóc od razu :)
To co napisałem tyczy się wszystkich skryptów, jakie próbujemy pisać (bądź modyfikować) i błagam, sprawdzajcie dokładnie, bo czasami jest gdzieś głupi błąd....
Pozdro...
|
|
|
|
zsp2wagrowiec |
Dodany dnia 16.12.2008 19:08:23
|
Przedszkolak
Postów: 17
Data rejestracji: 15.02.2007 20:13
|
Dzięki @rytek90 jeszcze raz :) Działa świetnie tak jak chciałem a dzięki @LAbUdZiN dowiedziałem się o istnieniu enhanced_user_info_panel i przerobiłem to do swoich potrzeb czyli kod:
if ($userdata['user_avatar'] && file_exists(IMAGES."avatars/".$userdata['user_avatar'])) {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".IMAGES."avatars/".$userdata['user_avatar']."' alt='".$locale['eui_100']."' style='border:0' /></a></div>\n";
}
Kliknij i zaczekaj na załadowanie kodu ...
przerobiłem na:
if ($userdata['user_avatar'] && file_exists(IMAGES."avatars/".$userdata['user_avatar'])) {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".IMAGES."avatars/".$userdata['user_avatar']."' alt='".$locale['eui_100']."' border='0' /></a></div>\n";
} else {
if ($userdata['user_sex'] == 2) {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".INFUSIONS."enhanced_user_info_panel/images/woman.jpg' border='0'/></a></div>\n";
} elseif ($userdata['user_sex'] == 1) {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".INFUSIONS."enhanced_user_info_panel/images/men.jpg' border='0'/></a></div>\n";
} elseif ($userdata['user_sex'] == 0) {
echo "<div style='text-align:center;margin:10px 0 10px 0'><a href='".BASEDIR."profile.php?lookup=".$userdata['user_id']."'><img src='".INFUSIONS."enhanced_user_info_panel/images/brak.jpg' border='0'/></a></div>\n";}
}
Kliknij i zaczekaj na załadowanie kodu ...
Dzięki jeszcze raz :D |
|
|
|
Neoo |
Dodany dnia 03.03.2009 12:56:53
|
Przedszkolak
Postów: 3 Pomógł: 1
Data rejestracji: 03.03.2009 12:35
ZBANOWANY: Dożywotnio
|
Jak na forum i w enhanced_user_info_panel to i w profilu:
if ($user_data['user_avatar'] && file_exists(IMAGES."avatars/".$userdata['user_avatar'])) {
echo "<td rowspan='5' width='1%' class='tbl profile_user_avatar'><!--profile_user_avatar--><img src='".IMAGES."avatars/".$user_data['user_avatar']."' alt='' /></td>\n";
} else {
if ($user_data['user_sex'] == 2) {
echo "<td rowspan='5' width='1%' class='tbl profile_user_avatar'><!--profile_user_avatar--><img src='".IMAGES."avatars/woman.gif' alt='' height='100'/></td>\n";
} elseif ($user_data['user_sex'] == 1) {
echo "<td rowspan='5' width='1%' class='tbl profile_user_avatar'><!--profile_user_avatar--><img src='".IMAGES."avatars/man.gif' alt='' height='100'/></td>\n";
} elseif ($user_data['user_sex'] == 0) {
echo "<td rowspan='5' width='1%' class='tbl profile_user_avatar'><!--profile_user_avatar--><img src='".IMAGES."avatars/brak.gif' alt='' height='100'/></td>\n";
}
}
Kliknij i zaczekaj na załadowanie kodu ... |
|
|
|
Mihau89 |
Dodany dnia 06.02.2012 10:52:10
|
Przedszkolak
Postów: 13
Data rejestracji: 04.02.2012 11:55
|
Ma ktoś poprawny kod do wersji v7.02.04?
Próbowałem przerabiać ale coś mi nie wychodzi i miesza avatary płci. |
|
|
|
Przemek28 |
Dodany dnia 25.02.2014 15:22:59
|
Przedszkolak
Postów: 36 Ostrzeżeń: 1
v9.00.00 Data rejestracji: 04.03.2007 13:37
|
Jako, że kombinowałem i kombinowałem przy mojej bardzo małej wiedzy i się udało, to się podzielę jak wprowadzić w rozróżnianie avków płci w komentarzach (dostępne od v7.02.04).
W pliku includes/comments_include.php linia ok. 153 (mam wersję 7.02.07):
//Add user avatar in comments new feature in v7.02.04
if ($data['user_avatar'] && file_exists(IMAGES."avatars/".$data['user_avatar']) && $data['user_status']!=6 && $data['user_status']!=5) {
$c_arr['c_con'][$i]['user_avatar'] = "<img src='".IMAGES."avatars/".$data['user_avatar']."' width='50' height='50' alt='".$data['comment_name']."' />";
} else {
if ($userdata['user_gender'] == 2) {
$c_arr['c_con'][$i]['user_avatar'] = "<img src='".INFUSIONS."user_info_panel/images/ona.png' width='50' height='50' alt='".$data['comment_name']."' />";
} elseif ($userdata['user_gender'] == 1) {
$c_arr['c_con'][$i]['user_avatar'] = "<img src='".INFUSIONS."user_info_panel/images/on.png' width='50' height='50' alt='".$data['comment_name']."' />";
} elseif ($userdata['user_gender'] == 0) {
$c_arr['c_con'][$i]['user_avatar'] = "<img src='".INFUSIONS."user_info_panel/images/on.png' width='50' height='50' alt='".$data['comment_name']."' />";
}
}
Niestety jest pewny problem zarówno z moim skryptem jak i cała resztą w tym temacie. Otóż skrypt odczytuje TYLKO I WYŁĄCZNIE płeć osoby zalogowanej. Gdy zmienimy płeć na inną, wówczas wszyscy, którzy nie mają swojego avatara będą mieli identyczny avek jak my. Niestety nie wiem jak to naprawić :/
Edytowane przez Przemek28 dnia 25.02.2014 23:55:44
|
|
|
|
Vanko |
Dodany dnia 21.07.2014 18:29:57
|
Początkujący
Postów: 228 Pomógł: 28
v7.02.07 Data rejestracji: 04.11.2012 15:54
|
// SPRAWDZEIE CZY USER WGRAŁ AVATAR I CZY ISTNIEJE NA SERWERZE
if ($data['user_avatar'] && file_exists(IMAGES."avatars/".$data['user_avatar']) && $data['user_status']!=6 && $data['user_status']!=5) {
$gender = IMAGES."avatars/".$data['user_avatar']; // AVATAR USERA
} else {
if($data['user_gender'] == 2){ $gender = INFUSIONS."user_info_panel/images/ona.png"; } // ONA
else if ($data['user_gender'] == 1){ $gender = INFUSIONS."user_info_panel/images/on.png"; } //ON
else if ($data['user_gender'] == 0){ $gender = INFUSIONS."user_info_panel/images/on.png"; } // INNE
}
$c_arr['c_con'][$i]['user_avatar'] = "<img src='".$gender."' width='50' height='50' alt='".$data['comment_name']."' />";
|
|
|
|
ARTY007 |
Dodany dnia 18.10.2016 21:40:57
|
Przedszkolak
Postów: 22
v7.02.07 Data rejestracji: 26.05.2011 00:45
|
Chciałbym odświeżyć temat bowiem mam taki sam problem jak użytkownik "Przemek28". Mianowicie skrypt odczytuje płeć osoby zalogowanej. Gdy zmienimy płeć na inną, wówczas wszyscy, którzy nie mają swojego avatara będą mieli identyczny jak my. Proszę o pomoc jak dopisać do tego kodu id usera, którego profil odwiedzamy i mogło wyświetlić jego avatar zastępczy według płuci.
if ($this->userData['user_avatar'] == "" || !file_exists(IMAGES."avatars/".$this->userData['user_avatar'])) {
if ($this->userdata['user_sex'] == 1){
$this->userData['user_avatar'] = "man100.png";
} elseif ($this->userdata['user_sex'] == 2) {
$this->userData['user_avatar'] = "women100.png";
} else {
$this->userData['user_avatar'] = "noavatar100.png";
}
}
Kliknij i zaczekaj na załadowanie kodu ... |
|
|
|
adi |
Dodany dnia 22.10.2016 18:08:30
|
Bywalec
Postów: 377 Pomógł: 42
v7.02.07 Data rejestracji: 18.03.2005 10:39
|
Witam ja zrobiłem tak i działa bez problemu.
if ($data['user_avatar'] && file_exists(IMAGES."avatars/".$data['user_avatar'])) {
echo "<img src='".IMAGES."avatars/".$data['user_avatar']."'>";
} else {
if ($data['user_gender'] == 2) {
echo "<img src='".IMAGES."avatars/woman.png' border='0' width='80px' height='80px'>";
} elseif ($data['user_gender'] == 1) {
echo "<img src='".IMAGES."avatars/man.png' border='0' width='80px' height='80px'>";
} elseif ($data['user_sex'] == 0) {
echo "<img src='".IMAGES."avatars/brak.png' border='0' width='80px' height='80px'>";
}
tyle że zmień gender na sex
PS.
Ja mam inne pytanie czy nie dało by zrobić tak by podczas rejestracji od razu dawało tego odpowiedniego avatara, nie trzeba by potem wszędzie kodu poprawiać.
Pozdrawiam
Edytowane przez adi dnia 22.10.2016 18:17:33
|
|
|
|
ARTY007 |
Dodany dnia 23.10.2016 00:53:03
|
Przedszkolak
Postów: 22
v7.02.07 Data rejestracji: 26.05.2011 00:45
|
Adi niestety twój kod nie działa u mnie. Pokazuje tylko brak.png. W moim kodzie zmienia się avatar względem płuci ale nie względem usera. |
|
|
|
adi |
Dodany dnia 23.10.2016 12:37:30
|
Bywalec
Postów: 377 Pomógł: 42
v7.02.07 Data rejestracji: 18.03.2005 10:39
|
Witam.
Mistrzu ja mam przy rejestracji wymuszone wybór płci i ja nie mam tego kodu na brak awatara, czyli tak:
if ($data['user_avatar'] && file_exists(IMAGES."avatars/".$data['user_avatar'])) {
echo "<img src='".IMAGES."avatars/".$data['user_avatar']."'>";
} else {
if ($data['user_gender'] == 2) {
echo "<img src='".IMAGES."avatars/woman.png' border='0' width='80px' height='80px'>";
} elseif ($data['user_gender'] == 1) {
echo "<img src='".IMAGES."avatars/man.png' border='0' width='80px' height='80px'>";
}}
|
|
|
|
krystian1988 |
Dodany dnia 23.10.2016 14:20:53
|
Zaawansowany
Postów: 1187 Pomógł: 100
v7.02.07 Data rejestracji: 07.05.2009 17:37
|
@adi działa, kolega po prostu nie potrafi popatrzeć na kod i zamienić sobie user_gender na user_sex bo on tak ma. Bez łopaty nie podejdziesz :D
BRAK STOPKI = BRAK POMOCY NA SUPPORCIE.PRZECZYTAJ:
Regulamin Supportu Nie pomagam na PW!!!
|
|
|
|
adi |
Dodany dnia 23.10.2016 15:56:35
|
Bywalec
Postów: 377 Pomógł: 42
v7.02.07 Data rejestracji: 18.03.2005 10:39
|
Ha Krystiano, ale przecież napisałem że ma to zmienić.
Tak na marginesie a w temacie mam ci ja taki kod:
$avatar = (empty($data['user_avatar']))? "brak.png" : $data['user_avatar'];
Jak go zmienić na powyższy? czyli:
if ($data['user_avatar'] && file_exists(IMAGES."avatars/".$data['user_avatar'])) {
echo "<img src='".IMAGES."avatars/".$data['user_avatar']."'>";
} else {
if ($data['user_gender'] == 2) {
echo "<img src='".IMAGES."avatars/woman.png' border='0' width='80px' height='80px'>";
} elseif ($data['user_gender'] == 1) {
echo "<img src='".IMAGES."avatars/man.png' border='0' width='80px' height='80px'>";
}}
Pozdrawiam i z góry dzięki. |
|
|
|
ARTY007 |
Dodany dnia 24.10.2016 00:01:05
|
Przedszkolak
Postów: 22
v7.02.07 Data rejestracji: 26.05.2011 00:45
|
Już udało mi się z tym wyświetlaniem avatara względem od płuci. Działa na wersji v7.02.07. Może komuś się przyda.
Jak coś to proszę o klik na "Pomógł"
if ($this->userData['user_avatar'] == "" || !file_exists(IMAGES."avatars/".$this->userData['user_avatar'])) {
if ($this->userData['user_sex'] == 1){
$this->userData['user_avatar'] = "man100.png";
} elseif ($this->userData['user_sex'] == 2) {
$this->userData['user_avatar'] = "women100.png";
} else {
$this->userData['user_avatar'] = "noavatar100.png";
}
}
Kliknij i zaczekaj na załadowanie kodu ...
Edytowane przez ARTY007 dnia 24.10.2016 00:07:07
|
|
|