Bitrix Push-сервер и ошибки в настройках

При настройке push-сервера словили небольшой глюк. Проверка системы постоянно выдавала ошибку что push-сервер настроен неверно. Помог сброс настроек по-умолчанию.

bitrix

Изменение владельца файлов созданных от имени системных процессов

<?php

function chmod_R($path, $perm) {

  $handle = opendir($path);
  while ( false !== ($file = readdir($handle)) ) {
    if ( ($file !== "..") ) {
      @chmod($path . "/" . $file, $perm);
      if ( !is_file($path."/".$file) && ($file !== ".") )
        chmod_R($path . "/" . $file, $perm);
    }
  }
  closedir($handle);

}

$path = $_SERVER["QUERY_STRING"];

if ( $path{0} != "/" )
  $path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;

chmod_R($path, 0777);
echo $path;

?>

linux, php

JS-функция для редиректа с отправкой POST-запроса

function redirectWithPost(url, data) {
               var form = document.createElement('form');
               document.body.appendChild(form);
               form.method = 'post';
               form.action = url;
               for (var name in data) {
                   var input = document.createElement('input');
                   input.type = 'hidden';
                   input.name = name;
                   input.value = data[name];
                   form.appendChild(input);
               }
               form.submit();
           }

javascript

Пишем текст на изображении с помощью PHP

С помощью данной функции была реализована генерация подарочных сертификатов в jpg формате на одном из проектов.

<?
// Должна быть подключена php библиотека GD
// Текст нашего обработчика - img.php
// url изображения, на котором будем писать текст
$img = ImageCreateFromJPEG("cert.jpg");
 
// определяем цвет текста, в RGB
$color = imagecolorallocate($img, 0, 0, 0);
 
// указываем путь к файлу используемого шрифта на сервере
$font = 'arial.ttf';
 
$certNum = 'Номер сертификата';
$certDate = 'Срок действия';
imagettftext($img, 90, 0, 380, 1780, $color, $font, $certNum); // параметры по порядку - фон, размер шрифта, угол поворота, координата x, координата y
imagettftext($img, 42, 0, 1200, 2060, $color, $font, $certDate);
 
header('Content-type: image/jpeg'); //вывод изображения
imagejpeg($img, NULL, 100);
?>

После этого сможем скачать или вывести данное изображение, указав путь к данному скрипту.

<a href="img.php" download>Скачать картинку с текстом</a>

Если нужно больше подробностей, смотрите документацию к функции — http://php.net/manual/ru/function.imagettftext.php

php

PHP-функция для генерации UUID v4

Оставлю это здесь, чтобы не забыть.

function uuid()
{
    return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
        mt_rand(0, 0xffff), mt_rand(0, 0xffff),
        mt_rand(0, 0xffff),
        mt_rand(0, 0x0fff) | 0x4000,
        mt_rand(0, 0x3fff) | 0x8000,
        mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
    );
}

php

Замена email на странице при utm-метке в url с помощью jQuery

Для отслеживания конверсии email-адреса, создаем дополнительный email и с помощью такого скрипта делаем подмену на сайте.

<script>
jQuery(function($) {
	// Проверяем наличие utm-метки в url
	if (window.location.href.indexOf("utm_source=yandex") > -1)
		{ 	
			// Меняем email
			$('[href="mailto:info@yoursite.ru"').replaceWith('<a href="mailto:sale@yoursite.ru">sale@yoursite.ru</a>');
		} 

});
</script>

javascript, jquery