Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2012-05-04 21:44:26

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Имя фотографии в профиле пользователя

Вот код из файла upofile.php   плагина upofile.
Он, как я понимаю, отвечает за загрузку фотографии в профиле пользователя.   Как сделать, чтобы загружая фотографию, он не додавал к ее имени цифру id пользователя и точку? 
Очень нужно - делаю подобие многопользовательского блога

Код тут стоял неправильный, я его убрал, чтоб не путать

Изменено vl (2012-05-10 09:31:37)

Не в сети

#2 2012-05-05 20:26:55

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Имя фотографии в профиле пользователя

vl, это сделано специально - чтобы несколько пользователей не смогли попробовать залить одну и ту же картинку (к примеру, photo.jpg).
Ты уверен, что тебе цифру нужно убрать? Может в реальности требуется что-то иное? smile

Не в сети

#3 2012-05-06 01:06:39

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

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)

Не в сети

#4 2012-05-06 11:50:24

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

Пришла в голову классная идея: вместо додавания id пользователя  к имени  фотографии при ее  загрузке в профиле пользователя, надо чтобы в качестве имени фото вставлялся логин пользователя.  Это сразу решает все проблемы с фотографией блогера.

Не в сети

#5 2012-05-09 02:20:05

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Имя фотографии в профиле пользователя

vl, ну имя может быть и "неправильным".
А, может, в качестве имени просто использовать ID пользователя? Такой вариант подойдёт?

Не в сети

#6 2012-05-09 10:40:13

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

vitaly, не подойдет. 
Потому что эта же фотография потом отображается  в блогах  через  top_news, news.full.tpl,  news.table.tpl (см. выше)
Это легко реализуется, если имя фото, алтнейм категории, и логин пользователя - одно и то же слово (например - petrov)

Не в сети

#7 2012-05-09 11:37:13

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Имя фотографии в профиле пользователя

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']));

должно заработать как нужно smile

Не в сети

#8 2012-05-10 09:26:29

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

vitaly, выдает сообщение об ошибке

Ошибка:
Файлы с таким разрешением запрещены (petrov)!
Информация:
Вы можете использовать следующие форматы файлов: gif,jpg,jpeg,png

Изменено vl (2012-05-10 09:27:22)

Не в сети

#9 2012-05-13 21:53:59

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

Выложил на хостинг - тот же результат - ошибка.  Гляньте кто плис, как тут сделать, чтобы загружаемые фото переименовывались, используя логин пользователя, по такой форме:  petrov.jpg

Не в сети

#10 2012-05-15 01:34:45

KhadeR
Участник
Зарегистрирован: 2009-09-16
Сообщений: 207
Рейтинг :   17 

Re: Имя фотографии в профиле пользователя

Попробуй так:

$up = $fmanage->file_upload(array('type' => 'photo', 'http_var' => 'newphoto', 'replace' => 1, 'manualfile' => $currentUser['name'].'.'.strtolower(array_pop(explode(".", $_FILES['newphoto']['name'])))));

Не в сети

#11 2012-05-15 09:38:12

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

Спасибо, 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

Не в сети

#12 2012-05-17 10:10:37

vl
VIP любит этого пользователя.
Откуда ua
Зарегистрирован: 2008-10-14
Сообщений: 672
Рейтинг :   14 
Сайт

Re: Имя фотографии в профиле пользователя

Решение задачи такое

	$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)

Не в сети

Подвал раздела

Работает на FluxBB