Помощник
Здравствуйте, гость ( Вход | Регистрация )
ХАК: добавление функции отображения аватара, Добавлена функция для более простого отображения аватары пользователя |
egysya |
2009-09-05, 19:06
Сообщение
#1
|
|
Любитель Группа: Eleanor user Сообщений: 180 Регистрация: 2009-05-21 Из: Ростов-на-Дону Репутация: нет Всего: 11 |
Возникла необходимость отображать аватару пользователя в системе. Стандартная функция GetAvatar работает только если пользователь залогинен в системе, иначе - амба.
Для этого, по совету Александра, создал по типу стандартной функции GetAvatar свою - MyGetAvatar. Итак, открываем файл: classes/login/class_account.php Вставляем следующий код, ну допустим, после функции public function GetAvatar (в районе 277 строки):
И наслаждаемся новой функцией! ) Использование:
Пример использования в моем блоке комментариев: avatara.png ( 18.26 килобайт ) Скачиваний: 169
Прикрепленные файлы
Одобрили: myk0lka
|
|
|
||
Alexander |
2009-09-05, 19:22
Сообщение
#2
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Я вот изменил свою функцию на:
Думаю, пользоваться можно |
|
|
||
egysya |
2009-09-05, 19:37
Сообщение
#3
|
|
Любитель Группа: Eleanor user Сообщений: 180 Регистрация: 2009-05-21 Из: Ростов-на-Дону Репутация: нет Всего: 11 |
Саша, подправь пжл, когда пользователь залогинен, то аватаре Гостя присваивается аватара залогиненного юзверя. Когда никто не залогинен, то все ок. |
|
|
||
Alexander |
2009-09-06, 12:56
Сообщение
#4
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
egysya, уточни, когда такое происходит и где..
|
|
|
||
egysya |
2009-09-06, 15:11
Сообщение
#5
|
|
Любитель Группа: Eleanor user Сообщений: 180 Регистрация: 2009-05-21 Из: Ростов-на-Дону Репутация: нет Всего: 11 |
Ну смотри. Я использую эту функцию в блоке отображения последних коментов. При использовании твоего врианта получается такое: Аватары пользователей, при присвоении функции $av=$Mainclass->Account->GetAvatar($uid); id пользователя, отображаются верно. Но к пользователю гость, аватара отображается не та, которая должна при условии $av['no']=true, т.е. к $my_avatar=$av['no'] ? 'аватара гостя' : 'аватара пользователя'; - не наступает условие для вывода 'аватара гостя'. Ему присваивается аватара залогиненного в данный момент времени пользователя. Если юзер не залогинен, то у меня в блоке комментариев аватара гостя отображается верно - 'аватара гостя' |
|
|
||
Alexander |
2009-09-06, 16:25
Сообщение
#6
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
egysya, так не передавайте той функции $uid равный нулю. Проверяйте заранее:
Или что Вы предлагаете? |
|
|
||
egysya |
2009-09-06, 16:30
Сообщение
#7
|
|
Любитель Группа: Eleanor user Сообщений: 180 Регистрация: 2009-05-21 Из: Ростов-на-Дону Репутация: нет Всего: 11 |
egysya, так не передавайте той функции $uid равный нулю. Проверяйте заранее: if($uid) $avatar=$Mainclass->Account->GetAvatar($uid); else $avatar_path=$Mainclass->vars['comments_guest'];//Тут хранится путь к аватару (настройка группы Комментарии).Или что Вы предлагаете? Alexander, да в том то и дело, в моем варианте, я проверяю, передается ли $uid значение нуля. У меня с аватарами все нормально отображается и работает. Просто хотел уточнить для твоего вариант, чтобы он работал как надо. Чтобы потом у пользователей не возникали лишние вопросы. ))) |
|
|
||
Alexander |
2009-09-06, 20:48
Сообщение
#8
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Хорошо. Вот, переделал:
|
|
|
||
sifflex |
2013-01-11, 7:54
Сообщение
#9
|
|
Новичок Группа: Eleanor user Сообщений: 35 Регистрация: 2012-05-08 Репутация: нет Всего: нет |
Попробовал вставить всё что вы описали не катит, выдаёт ошибку!!!! аватара у меня воообще нет((((. Прошу вашей помощи т.к я не продвинутый юзер!!! вот ошибка< Parse error: syntax error, unexpected T_ELSEIF, expecting T_STRING or T_VARIABLE or '$' in /home/privateg/public_html/classes/login/class_account.php on line 328>
Сообщение отредактировал sifflex - 2013-01-11, 8:09 |
|
|
||
sifflex |
2013-01-11, 8:18
Сообщение
#10
|
|
Новичок Группа: Eleanor user Сообщений: 35 Регистрация: 2012-05-08 Репутация: нет Всего: нет |
Попробовал вставить всё что вы описали не катит, выдаёт ошибку!!!! аватара у меня воообще нет((((. Прошу вашей помощи т.к я не продвинутый юзер!!! вот ошибка< Parse error: syntax error, unexpected T_ELSEIF, expecting T_STRING or T_VARIABLE or '$' in /home/privateg/public_html/classes/login/class_account.php on line 328> вот что стоит вместо этого !!!! public function GetAvatar($user=false) { if($user===false) $user=&$this->user; elseif(!$user) return array('avatar'=>'','w'=>'','h'=>'','no'=>true); elseif(!is_array($user)) { $this->Mainclass->Db->Query('SELECT `id`,`avatar_location`,`avatar_size`,`avatar_type` FROM `f_users_extra` WHERE `id`='.(int)$user.' LIMIT 1',__file__,__line__); $user=$this->Mainclass->Db->Fetch_assoc(); } if(empty($user['avatar_location'])) return array('avatar'=>$this->Mainclass->Template->GetImage($this->Mainclass->vars['noavatar']),'w'=>'auto','h'=>'auto','no'=>true); if(strpos($user['avatar_size'],'x')!==false) { $temp=explode('x',$user['avatar_size'],2); $width=$temp[0]; $height=$temp[1]; } else $width=$height='auto'; switch($user['avatar_type']) { case 'local': $avatar='images/avatars/'.$user['avatar_location']; break; case 'upload': $avatar=Mainclass::UPLOADS_DIR.'/uploaded_avatars/'.$user['avatar_location']; break; case 'url': $avatar=$user['avatar_location']; $temp=explode('x',$user['avatar_size'],2); break; default: $avatar=''; break; } return array('avatar'=>$avatar,'w'=>$width,'h'=>$height,'no'=>false); } аватара повторяю вообще нет. Люди добрые помогите чем сможете!!! Не могу настроить свою лошадку!!!!! |
|
|
||
Xenus |
2013-01-12, 1:53
Сообщение
#11
|
|
Любитель Группа: Eleanor user Сообщений: 180 Регистрация: 2011-11-01 Репутация: нет Всего: нет |
Какая у тебя версия системы? 1.0? Хак делался под RC версию eleanor. Актуальную на момент создания темы.
|
|
|
||
Alexander |
2013-01-14, 11:29
Сообщение
#12
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
sifflex, объясните, какого эффекта вы хотите достичь - сделаю.
|
|
|
||
sifflex |
2013-01-14, 16:12
Сообщение
#13
|
|
Новичок Группа: Eleanor user Сообщений: 35 Регистрация: 2012-05-08 Репутация: нет Всего: нет |
Система стоит RC 5 а эффект должен быть чтобы гости висели без аватарв а поситители с аватаром !!! Заранее спасибо !!!
|
|
|
||
Alexander |
2013-01-14, 17:36
Сообщение
#14
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
sifflex, где именно они должны "висеть"?
|
|
|
||
sifflex |
2013-01-14, 19:51
Сообщение
#15
|
|
Новичок Группа: Eleanor user Сообщений: 35 Регистрация: 2012-05-08 Репутация: нет Всего: нет |
блин я образно !!! что бы на саите гости без аватара а пользователи с аватаром, загрузка аватаров только для пользователей в любом формате !!!
Сообщение отредактировал sifflex - 2013-01-14, 22:05 |
|
|
||
Alexander |
2013-01-15, 9:39
Сообщение
#16
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
sifflex, у меня отпало желание вам помогать. Так истошно орать... Даже общаться с вами нет желания. Лечитесь что-ли...
|
|
|
||
sifflex |
2013-01-17, 21:11
Сообщение
#17
|
|
Новичок Группа: Eleanor user Сообщений: 35 Регистрация: 2012-05-08 Репутация: нет Всего: нет |
сам лечись..... я же написал что мне нужно что бы было с аватаром!!! я же не продвинутый юзер как вы
Добавлено через 2 минут, 30 секунд: висеть они нигде не должны !!!! повторяю висеть они нигде не должны!!!! |
|
|
||
Kaname26 |
2013-01-17, 21:18
Сообщение
#18
|
|
Любитель Группа: Eleanor user Сообщений: 395 Регистрация: 2010-03-09 Репутация: нет Всего: нет |
просто ты ореш на него!!!! вот он и тебе так и написал .
|
|
|
||
Alexander |
2013-01-17, 21:52
Сообщение
#19
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 262 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
При переписке, один знак ! - это уже "внимание, с собеседником что-то не то". Два - это уже диагноз. Три и больше - 100% клиника.
Напоминаю: я ничего никому не должен, чтобы на меня орали да еще так истошно. |
|
|
||
Текстовая версия | 0.0419 сек. 12 запросов GZIP включен Сейчас: 2024-09-25, 1:33 |