Как добавить username в ватермарк?
Всем привет!
Не даёт покоя насущный вопрос: "Как добавить имя пользователя (загрузившего картинку) в ватермарк?"
Курил блоги и ФАК, но везде вопрос оставался без ответа. Ковырялся сам, но нюанс остался. Итак.
С добавлением статичного текста всё ясно — правим конфиг.
Сама функция добавления ватермарка, насколько я понимаю, находится в файле engine\modules\image\Image.class.php
Непосредственно добавление ватермарка происходит здесь (строка 180):
За сам текст отвечает первый параметр:
Если добавить
Остаётся каким-то образом добавить переменную, отвечающую за имя пользователя, некий {username}. Пробовал $aParams['user_login'] — не прокатывает… ((
Вопрос, что это за переменная и как её правильно добавить? Люди добрые, и прогеры злобные, помогите, плиз.
Добавляем в код следующие элементы:
$usver = $this->User_GetUserCurrent();
$oImage->watermark(
«Posted by ». $usver->getLogin(). " | ". $aParams['watermark_text'],
explode(',',$aParams['watermark_position'],2),
explode(',',$aParams['watermark_font_color']),
explode(',',$aParams['watermark_back_color']),
$aParams['watermark_font_alfa'],
$aParams['watermark_back_alfa']
);
И получаем результат вида «Posted by {имя_пользователя} | {текст_ватермарка_из_конфига}».
Спасибо, spolischook , за помощь!
Не даёт покоя насущный вопрос: "Как добавить имя пользователя (загрузившего картинку) в ватермарк?"
Курил блоги и ФАК, но везде вопрос оставался без ответа. Ковырялся сам, но нюанс остался. Итак.
С добавлением статичного текста всё ясно — правим конфиг.
Сама функция добавления ватермарка, насколько я понимаю, находится в файле engine\modules\image\Image.class.php
Непосредственно добавление ватермарка происходит здесь (строка 180):
$oImage->watermark(
$aParams['watermark_text'],
explode(',',$aParams['watermark_position'],2),
explode(',',$aParams['watermark_font_color']),
explode(',',$aParams['watermark_back_color']),
$aParams['watermark_font_alfa'],
$aParams['watermark_back_alfa']
);
За сам текст отвечает первый параметр:
$aParams['watermark_text']
Если добавить
. " | "
, выводится текст |— значит иду верным путём.
Остаётся каким-то образом добавить переменную, отвечающую за имя пользователя, некий {username}. Пробовал $aParams['user_login'] — не прокатывает… ((
Вопрос, что это за переменная и как её правильно добавить? Люди добрые, и прогеры злобные, помогите, плиз.
UPD
Вопрос решился благодаря spolischook .Добавляем в код следующие элементы:
$usver = $this->User_GetUserCurrent();
$oImage->watermark(
«Posted by ». $usver->getLogin(). " | ". $aParams['watermark_text'],
explode(',',$aParams['watermark_position'],2),
explode(',',$aParams['watermark_font_color']),
explode(',',$aParams['watermark_back_color']),
$aParams['watermark_font_alfa'],
$aParams['watermark_back_alfa']
);
И получаем результат вида «Posted by {имя_пользователя} | {текст_ватермарка_из_конфига}».
Спасибо, spolischook , за помощь!
17 комментариев
Но спасибо, что не прошёл мимо, а откликнулся!
загрузка изображения вообще не проходит. Что-то не так обрабатывается.
И посмотрите что получится.
Подозреваю, что нужно создать отдельную переменную и уже ей присваивать значение приведённой вами конструкции. И только потом вставлять переменную в $aParams['watermark_text']. $переменная
Но не до конца понимаю, как.
public function Init() {
$this->aParamsDefault = array(
'watermark_use'=>true,
'round_corner' =>false);
var_dump($this->User_GetUserCurrent());
die();
}
теперь в строке добавления ватермарка пишу:
$oImage->watermark(
$aParams['watermark_text']. " | ". $this->User_GetUserCurrent('user_login'), // далее не интересующий нас код
Резёльтат — отрицательный. Картинка не подгружается, скрипт не работает.
Вы хотя бы прочитали хотя бы в гугле что, а особенно зачем вы пишите?
Nubilus Скрипт должен был вывести все свойства обьекта который возвращает ф-я GetUserCurrent(), которая идет без параметров тоесть не нужно указывать в скобках ничего, и остановиться.
Nubilus У меня заработала следующая конструкция:
$usver->getLogin() — отдаст логин текущего пользователя. Пользуйтесь :)
но облом, не работает