Админ не может изменить аватар пользователя

собственно, теперь может...

 
Посетитель
small user social cms
Медаль
Сообщений: 172
Был приятно удивлен тем, что админ не может изменять аватар пользователя. А вдруг кто то загрузит себе красивую похабную картинку с попрно звездой? И че делать, лезть в базу что бы сменить ее на котенка?

Собственно пара строк кода:

в users/frontend.php в условии if ($do=='avatar')

находим

Код PHP:
  1. if (!$inUser->id || ($inUser->id && $inUser->id != $id)){ cmsCore::error404(); }
заменяем на

Код PHP:
  1. if (!$inUser->id || ($inUser->id && $inUser->id != $id && !$inUser->is_admin)){ cmsCore::error404(); }
в ваша тема оформления/components/com_user_profile.tpl

находим

Код PHP:
  1.  
  2. {if $is_admin && !$myprofile}
  3. <tr>
  4. <td><img src="/templates/_default_/images/icons/profile/edit.png" /></td>
  5. <td><a href="/users/{$usr.id}/editprofile.html" title="{$LANG.CONFIG_PROFILE}">{$LANG.CONFIG_PROFILE}</a></td>
  6. </tr>
  7. {/if}
  8.  
  9.  
  10.  
заменяем на

Код PHP:
  1.  
  2.  
  3. {if $is_admin && !$myprofile}
  4. <tr>
  5. <td><img src="/templates/_default_/images/icons/profile/edit.png" /></td>
  6. <td><a href="/users/{$usr.id}/editprofile.html" title="{$LANG.CONFIG_PROFILE}">{$LANG.CONFIG_PROFILE}</a></td>
  7. </tr>
  8. <tr>
  9. <td><img src="/templates/_default_/images/icons/profile/avatar.png" /></td>
  10. <td><a href="/users/{$usr.id}/avatar.html" title="{$LANG.SET_AVATAR}">{$LANG.SET_AVATAR}</a></td>
  11. </tr>
  12. {/if}
  13.  
  14.  
Вот и все. Админ теперь может менять аватары других юзверей пользователей. Проверено на Василии и Федоре.

p.s. как насобираю кармы продублирую в блоге.
Если я молчу, это еще не значит, что я ничего не читаю.
Модератор
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1341
как насобираю кармы
+ в карму от себя отправил smile
почему я задаю мало вопросов? потому, что на 90% из них уже кто-то ответил...
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 337
+1 в карму joke
иногда пишу полезные вещи, мои контакты в профиле
Посетитель
small user social cms
Медаль
Сообщений: 209
Щас добавлю кармы, столкнулся недавно с этой проблемой)
Посетитель
small user social cms
Медаль
Сообщений: 209
Попробовал у юзера сменить - в ленте вывело что я (админ) изменил аватар)
Это ничего, главное начать в нужном направлении)
Посетитель
small user social cms
Медаль
Сообщений: 172
xxuuu:
в ленте вывело что я (админ) изменил аватар)

упс...
да есть такой косяк

там при смене аватара пишется в ленту событие

Код PHP:
  1.  
  2.  
  3. cmsActions::log('add_avatar', array(
  4. 'object' => '',
  5. 'object_url' => '',
  6. 'object_id' => $id,
  7. 'target' => '',
  8. 'target_url' => '',
  9. 'description' => '<a href="'.cmsUser::getProfileURL($usr['login']).'" class="act_usr_ava">
  10. <img border="0" src="/images/users/avatars/small/'.$filename.'">
  11. </a>'
  12. )
  13.  
  14.  
и получается берется id пользователя который меняет аватар. Когда меняешь сам себе, то все нормально, а вот другому пользователю, выходит не кошерно.

Надо подумать над этим вопросом.
Если я молчу, это еще не значит, что я ничего не читаю.
Посетитель
small user social cms
Медаль
Сообщений: 172
в принципе нашел где можно подсмотреть вариант решения

что то типа

Код PHP:
  1.  
  2.  
  3.  
  4. if ($author_id != $user_id){
  5. //регистрируем событие
  6. cmsActions::log('add_avatar', array(
  7.  
  8. ));
  9. } elseif($author_id == $user_id) {
  10. cmsActions::log('add_avatar', array());
  11. }
  12.  
  13.  
осталось подобрать и заполнить что и как брать и куда записывать в таблицу cms_actions_log

далi будЭ...
Если я молчу, это еще не значит, что я ничего не читаю.
Посетитель
small user social cms
Медаль
Сообщений: 337
я бы вообще убрал из ленты если админ меняет аватар пользователю, а не сам пользователь. не к чему это, чтоб было написано типо админ меняет пользователю аватар
иногда пишу полезные вещи, мои контакты в профиле
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 257
mexanik, Ох приходилось мне ковыряться в БД чтоб поменять аватарку! Спасибо, действительно странно что Админ может с профилем пользователя делать что угодно, а вот аватар сменить - миссия не выполнима.
Мне лично пофиг, что в ленте написано что Админ сменил кому-то аватар, во-первых такие детали вообще не считаю нужным отображать в ленте, (ну кому интересно что пользователи авки меняют?), во-вторых даже если бы показывалось - пущай знают, что если Админ кому то поменял, значит так надо! и рука админа владыка!

жаль не могу вам +10 поставить, но один плюс в карму от меня уже отправлен.
Еще раз спасибо!! Очень нужная поправка, надеюсь в версии 2.0 разработчики учтут такую деталь.
Посетитель
small user social cms
Сообщений: 77
site.ru/5/avatar.html. Вместо "5" может быть id любого юзера.
Посетитель
small user social cms
Медаль
Сообщений: 209
Таня:
Админ кому то поменял, значит так надо! и рука админа владыка!
Админ мужчина и все его знают
в ленте выводится надпись Админ изменил аватар и женская фотка crazy
Посетитель
small user social cms
Сообщений: 77
Припишите только в components/users/frontend.php то что сказал mexanik. И меняйте аватары по ссылке сайт.ру/user_id/avatar.html. И в ленте ничего не появится smile
Редактировалось: 1 раз (Последний: 10 июня 2012 в 17:10)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 257
xxuuu:
Админ изменил аватар и женская фотка
Ну мало ли))
а вообще конечно да, не айс.
А нафиг вообще это в ленте выводить? Понимаю новые публикации и фотки интересно а смена авки не столь важна.
Посетитель
small user social cms
Медаль
Сообщений: 172
iLoveNY

site.ru/5/avatar.html. Вместо "5" может быть id любого юзера.

Не понял, ну да, это ссылка на изменение аватара... Где цифра - айди юзера. Если админ по ней переходит, то открывается смена аватара. Если пользователь, и айди пользователя нажавшего на ссылку не совпадает с цифрами в ссылке то ему будет показана 404 страница. Если совпадает страница загрузки аватара.

По поводу вывода в ленту. Выводить или нет можно настроить в самом модуле активности.

А по поводу самой выводимой надписи. Уже почти готово решени. Как доберусь до нормального инета, выложу.

Пока что
если пользователь меняет аватар сам себе - пишет: Федор изменил аватар:

если админ меняет пользователю - пишет:
Админ изменил аватар Федор:

если админ меняет сам себе - пишет:
Админ изменил аватар Админ:

вот с последним косячок...

Как исправлю, что бы писало Админ изменил аватар:
то выложу решение.
Если я молчу, это еще не значит, что я ничего не читаю.
Посетитель
small user social cms
Сообщений: 77
mexanik, проверил, вы правы, облажался laugh
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: