Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

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

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

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

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

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

Отредактировано vl (2012-05-10 08:31:37)

Вне форума

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

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

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

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

Вне форума

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

vl
VIP любит этого пользователя.
Откуда: ua
Здесь с 2008-10-14
Сообщений: 664
Рейтинг :   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 00:35:38)

Вне форума

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

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

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

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

Вне форума

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

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

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

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

Вне форума

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

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

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

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

Вне форума

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

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

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

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

Вне форума

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

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

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

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

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

Отредактировано vl (2012-05-10 08:27:22)

Вне форума

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

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

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

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

Вне форума

#10 2012-05-15 00: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'])))));

Linkum
В ТОП без фильтров и банов - Оптимизм.

Вне форума

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

vl
VIP любит этого пользователя.
Откуда: ua
Здесь с 2008-10-14
Сообщений: 664
Рейтинг :   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 09:10:37

vl
VIP любит этого пользователя.
Откуда: ua
Здесь с 2008-10-14
Сообщений: 664
Рейтинг :   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 21:10:16)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.014 сек, 7 запросов выполнено - Использовано памяти: 579.75 Кбайт (Пик: 600.75 Кбайт) ]