Вы не зашли.
Страницы 1
Вот код из файла upofile.php плагина upofile.
Он, как я понимаю, отвечает за загрузку фотографии в профиле пользователя. Как сделать, чтобы загружая фотографию, он не додавал к ее имени цифру id пользователя и точку?
Очень нужно - делаю подобие многопользовательского блога
Код тут стоял неправильный, я его убрал, чтоб не путать
Изменено vl (2012-05-10 09:31:37)
Не в сети
vl, это сделано специально - чтобы несколько пользователей не смогли попробовать залить одну и ту же картинку (к примеру, photo.jpg).
Ты уверен, что тебе цифру нужно убрать? Может в реальности требуется что-то иное?
Не в сети
vitaly, я уверен.
В файл entries.tpl плагина top_news, через который я вывожу новости на главную страницу я вставляю конструкцию
<img src="http://mysite.ru/uploads/images/autors/{author_name}.jpg" alt="" >
Тоже сомое вставляю в файл news.full.tpl
<img src="http://mysite.ru/uploads/images/autors/{author_name}.jpg" alt="" >
В файл news.table.tpl вставляю конструкцию
<img src="http://mysite.ru/uploads/images/autors/{category.alt}.jpg" alt="" border="0" width="100" >
, она выводит фотку автора вверху страницы с его короткими новостями
Логин автора, алт.имя категории с его новостями и имя его фотографии я делаю одинаковыми.
А в качестве заголовка категории пишу имя и фамилию автора.
Если еще сделать, чтобы при загрузке фотографии через профиль пользователя не изменялось ее имя, то автор сможет самостоятельно добавлять и менять свою фотографию, которая выводится во всех уместных местах через приведенные выше конструкции
Блоги я делаю на поддомене, на отдельном движке. Через плагин top_news и плавающий фрейм вывожу последние записи на главную страницу сайта. В боковой колонке вывожу категории с количеством новостей, последние комментарии, т.п. Новости авторы публикуют через плагин addnews_2, со статусом журналистов.
Получается отличный многопользовательский блог.
Одно небольшое неудобство, что авторизовавшийся автор при добавлении новости должен из списка категорий выбрать категорию со своим именем и фамилией. Неудобство в том, что для хохмы он может выбрать чужое имя, хотя фотография автора новости на первой странице сайта и в полной новости будет все равно по логину.
Но это несущественный недостаток. Зато администратору будет много легче, если и сайт и блог работают на таком же движке.
Если же оставить существующее добавление к имени фотографии id пользователя, то так было бы безопаснее: автор никак не сможет через свой профиль менять фотографии других авторов. Но тогда возникает задача автоматического добавления id пользователя в конструкцию
<img src="http://mysite.ru/uploads/images/autors/{author_name}.jpg" alt="" >
Изменено vl (2012-05-06 01:35:38)
Не в сети
Пришла в голову классная идея: вместо додавания id пользователя к имени фотографии при ее загрузке в профиле пользователя, надо чтобы в качестве имени фото вставлялся логин пользователя. Это сразу решает все проблемы с фотографией блогера.
Не в сети
vitaly, не подойдет.
Потому что эта же фотография потом отображается в блогах через top_news, news.full.tpl, news.table.tpl (см. выше)
Это легко реализуется, если имя фото, алтнейм категории, и логин пользователя - одно и то же слово (например - petrov)
Не в сети
vl, вообще можешь в файле engine/plugins/uprofile/uprofile.php заменить строку ~338:
$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $currentUser['id'].'.'.strtolower($_FILES['newphoto']['name'])));
на
$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $currentUser['name']));
должно заработать как нужно
Не в сети
vitaly, выдает сообщение об ошибке
Ошибка:
Файлы с таким разрешением запрещены (petrov)!
Информация:
Вы можете использовать следующие форматы файлов: gif,jpg,jpeg,png
Изменено vl (2012-05-10 09:27:22)
Не в сети
Выложил на хостинг - тот же результат - ошибка. Гляньте кто плис, как тут сделать, чтобы загружаемые фото переименовывались, используя логин пользователя, по такой форме: petrov.jpg
Не в сети
Попробуй так:
$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $currentUser['name'].'.'.strtolower(array_pop(explode(".", $_FILES['newphoto']['name'])))));
Не в сети
Спасибо, KhadeR, так нужная картинка не загружается в папку.
Самій близкий вариант:
$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $currentUser['name'].'.'.strtolower($_FILES['newphoto']['name'])));
Загружает картинку с именем petrov.myfoto.jpg , где petrov- логин, myfoto.jpg - первоначальное название фотки.
А нужно, чтобы загружалась картинка petrov.jpg
Не в сети
Решение задачи такое
$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $currentUser['name'].'.jpg'));
И заменить в строке 206
$photo = $currentUser['id'].'.'.$currentUser['photo'];
на $photo =$currentUser['photo'];
Спасибо откликнувшимся.
Изменено vl (2012-05-17 22:10:16)
Не в сети
Страницы 1