1С-Бітрікс Розробникам - Водяний знак у вигляді зображення

зображення

Нойманн Артур

Створюємо файл watermark.php і кладемо його в /bitrix/php_interface/

Файл watermark.php містить таке:

//Спрацьовуємо за зміни елемента

//Те ж саме, вказуємо ID ІБ

if ($arFields["IBLOCK_ID"] == 14)

//Якщо заповнено зображення анонсу

//Якщо заповнено детальне зображення

//Тут наносимо на додаткове фото, 78 це ID властивості ІБ

foreach ($arFields["PROPERTY_VALUES"]["78"] as $key=>$moreimg)

//Отримуємо папку для завантажень

//Відкриваємо картинку для накладання $7m$$$$$$$$$$$$$$$$$$$$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SERVER['DOCUMENT_ROOT'] ."/bitrix/php_interface/watermark.png"; $resultImage = imagecreatefromjpeg($_image); imagealphablending($resultImage, true);

//Створюємо тимчасову картинку $_image = $_SERVER['DOCUMENT_ROOT'] . "/". $_upload_dir. "/tmp/".md5(microtime()).".jpg";

//Завантажуємо PNG ватермарка $finalWaterMarkImage = imagecreatefrompng($wmTarget);

//Дізнаємося розміри картинки водяного знака $finalWaterMarkWidth = imagesx($finalWaterMarkImage); $finalWaterMarkHeight = imagesy($finalWaterMarkImage);

//Дізнаємося розміри завантажуваної картинки $imagesizeW = imagesx($resultImage); $imagesizeH = imagesy($resultImage);

imagealphablending($resultImage, false); imagesavealpha($resultImage, true); imagejpeg($resultImage, $_image, 100); imagedestroy($resultImage); imagedestroy($finalWaterMarkImage) ; >

//Очищаємо тимчасову папку function Clear()$_upload_dir = COption::GetOptionString("main", "upload_dir"); $_WFILE = glob($_SERVER['DOCUMENT_ROOT'] . "/ " . $_upload_dir . "/tmp/*.jpg"); foreach($_WFILE як $_file) unlink($_file);

Допоможіть будь ласка,хтось. Свариться: Fatal error: Call-time pass-by-reference has been removed in . /bitrix/php_interface/watermark.php on line 15

MyWatermark::PostWaterMark(&$arFields["PREVIEW_PICTURE"]["tmp_name"];

Що необхідно виправити?

Викладаю змінений код для тих, хто такий же криворукий як я:

У файлі init.php:

У файлі watermark.php:

//Спрацьовуємо за зміни елемента

//Те ж саме, вказуємо ID ІБ

if ($arFields["IBLOCK_ID"] == 12)

//Якщо заповнено зображення анонсу

//Якщо заповнено детальне зображення

//Тут наносимо на додаткове фото, 132 це ID властивості ІБ

foreach ($arFields["PROPERTY_VALUES"]["132"] as $key=>$moreimg)

//Отримуємо папку для завантажень

//Відкриваємо картинку для накладання $7m$$$$$$$$$$$$$$$$$$$$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"SERVER['DOCUMENT_ROOT'] ."/bitrix/php_interface/watermark.png"; $resultImage = imagecreatefromjpeg($_image); imagealphablending($resultImage, true);

//Створюємо тимчасову картинку $_image = $_SERVER['DOCUMENT_ROOT'] . "/". $_upload_dir. "/tmp/".md5(microtime()).".jpg";

//Завантажуємо PNG ватермарка $finalWaterMarkImage = imagecreatefrompng($wmTarget);

//Дізнаємося розміри картинки водяного знака $finalWaterMarkWidth = imagesx($finalWaterMarkImage); $finalWaterMarkHeight = imagesy($finalWaterMarkImage);

//Дізнаємося розміри завантажуваної картинки $imagesizeW = imagesx($resultImage); $imagesizeH = imagesy($resultImage);

imagealphablending($resultImage, false); imagesavealpha($resultImage, true); imagejpeg($resultImage, $_image, 100); imagedestroy($resultImage); imagedestroy($finalWaterMarkImage) ; >

//Очищаємо тимчасову папку function Clear()$_upload_dir =COption::GetOptionString("main", "upload_dir"); $_WFILE = glob($_SERVER['DOCUMENT_ROOT'] . "/" . $_upload_dir . "/tmp/*.jpg "); foreach($_WFILE як $_file) unlink($_file);