Всем привет!
Не даёт покоя насущный вопрос: "
Как добавить имя пользователя (загрузившего картинку) в ватермарк?"
Курил блоги и ФАК, но везде вопрос оставался без ответа. Ковырялся сам, но нюанс остался. Итак.
С добавлением статичного текста всё ясно — правим конфиг.
Сама функция добавления ватермарка, насколько я понимаю, находится в файле 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 , за помощь!