Блог Евгения Неверова

Если ты работаешь с одним письмом, то элементы управления письмом находятся под темой:

При этом моё любимое архивирование спрятано в выпадающее меню и вытащить его оттуда нет никаких шансов.

Но стоит вам с шифтом выделить несколько писем, как появляются контролы в шапке и теперь уже контролы в письме бесполезны:

Пользоваться неудобно.

Возникла тут задча, готовое решение за пять минут гугления не обнаружилось, пришлось сделать.

<?
$index = $_REQUEST['index'];
$d = 40; // ширина цифры

$h = imagecreatetruecolor(345, 105);

$w = imagecolorallocate($h, 255, 255, 255);
$b = imagecolorallocate($h, 0, 0, 0);

imagefill($h, 0, 0, $w);

imagefilledrectangle($h, 0, 0, $d, 10, $b);
imagefilledrectangle($h, 0, 15, $d, 20, $b);

$left = $d + 10;
for ($i = 0; $i < strlen($index); $i++) {
	$char = $index{$i};
	imagefilledrectangle($h, $left, 0, $left + $d, 10, $b);

	imagesetthickness($h, 3);

	switch($char) {
		case 0:
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 2, 6, $b);
			drawLine($h, $left, 1, 5, $b);
			drawLine($h, $left, 5, 6, $b);
			break;

		case 1:
			drawLine($h, $left, 3, 2, $b);
			drawLine($h, $left, 2, 6, $b);
			break;

		case 2:
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 2, 4, $b);
			drawLine($h, $left, 5, 4, $b);
			drawLine($h, $left, 5, 6, $b);
			break;

		case 3:
			drawLine($h, $left, 3, 2, $b);
			drawLine($h, $left, 5, 4, $b);
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 3, 4, $b);
			break;

		case 4:
			drawLine($h, $left, 1, 3, $b);
			drawLine($h, $left, 2, 6, $b);
			drawLine($h, $left, 3, 4, $b);
			break;

		case 5:
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 1, 3, $b);
			drawLine($h, $left, 3, 4, $b);
			drawLine($h, $left, 4, 6, $b);
			drawLine($h, $left, 5, 6, $b);
			break;

		case 6:
			drawLine($h, $left, 2, 3, $b);
			drawLine($h, $left, 4, 3, $b);
			drawLine($h, $left, 5, 3, $b);
			drawLine($h, $left, 5, 6, $b);
			drawLine($h, $left, 4, 6, $b);
			break;

		case 7:
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 3, 2, $b);
			drawLine($h, $left, 3, 5, $b);
			break;

		case 8:
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 2, 6, $b);
			drawLine($h, $left, 1, 5, $b);
			drawLine($h, $left, 5, 6, $b);
			drawLine($h, $left, 3, 4, $b);
			break;

		case 9:
			drawLine($h, $left, 1, 2, $b);
			drawLine($h, $left, 1, 3, $b);
			drawLine($h, $left, 4, 2, $b);
			drawLine($h, $left, 3, 4, $b);
			drawLine($h, $left, 5, 4, $b);
			break;
	}

	$left += $d + 10;
}

/**
 * @param $p1 , $p2 — точки:
 *            1   2
 *            3   4
 *            5   6
 */
function drawLine($h, $l, $p1, $p2, $c) {
	global $d; $p1--; $p2--;
	$points = [[$l, 20], [$l + $d, 20], [$l, 20 + $d], [$l + $d, 20 + $d], [$l, 20 + $d * 2], [$l + $d, 20 + $d * 2]];

	imageline($h, $points[$p1][0], $points[$p1][1], $points[$p2][0], $points[$p2][1], $c);
}

header('Content-Type: image/png');
imagepng($h);
5 августа 2014, 13:15

input type=search и placeholder в Chrome

С появлением новых типов инпутов в HTML 5, появились и новые проблемы с их отображением в некоторых браузерах.

Так, например, Chrome последних версий выводит поисковое поле

<input type="search" />

следующим образом:

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

Для решения проблемы необходимо указать следующий CSS-стиль полю:

input[type=search] {
    -webkit-appearance: textfield; // ещё можно указать none
}

После переноса Эгеи на новый хостинг уже дважды сталкивался с такой проблемой: при выводе обрезаются названия и тексты заметок, хотя в базе данных всё в полном виде.

Проблема заключается во включённом mbstring.func_overload. Чтобы всё починить, нужно установить для хоста следующие параметры:

php_admin_value mbstring.func_overload 0
php_admin_value mbstring.internal_encoding UTF-8

После установки параметров следует удалить кэши, уже созданные Эгеей.
Для этого просто удалите всё содержимое папки /user/caches/.

28 июля 2014, 15:20

Про комьют

Комьют — это то время, которое вы проводите в транспорте по пути на работу и домой. Ну и в других жизненных ситуациях в общественном транспорте.

Вот, что пишут про комьют старшие ребята:

Самое бессмысленное времяпрепровождение — комьют. … Сколько времени люди проводят в автобусах, метро и в пробках, мешая друг другу, чтобы добраться до места, ничем не отличающегося от исходного? Сколько топлива ежедневно сжигается в мире на эту хрень? Где возмущённые экологи?

Комьют, Илья Бирман, июнь 2011

…лично для меня в Месте есть фундаментальный недостаток — комьют. Я живу в таком месте Ростова, что путь в центр длиною в шесть километров — это ад на час пробок, где пятиполосные дороги, превращаются в двухполосные узкие мостики. А ещё надо попасть обратно.

«Место» — хороший коворкинг в Ростове. Эффективная удалённая работа, Николай Товеровский, декабрь 2013

Часто приходится жить в той ситуации, которая сложилась, поэтому из комьюта нужно извлекать максимум пользы. Для меня такой пользой стало чтение. Обычно на книги практически не остаётся времени: ну серьёзно, какой смысл садиться за книгу, если вот компьютер и какая-нибудь работа в нём. Сейчас, я живу в пяти минутах от работы, поэтому устраиваю себе искусственный комьют на выходных — езжу в удалённый район города по делам и иногда к родителям.

С ужасом вспоминаю, сколько чрезвычайно полезного времени я потерял на сон в транспорте, когда учился в университете и работал первые годы. Быть бы умнее.

22 июля 2014, 22:21

vsftpd: 500 OOPS: priv_sock_get_cmd

Допишите в vsftpd.conf следующие строки:

allow_writeable_chroot=YES
seccomp_sandbox=NO
Ctrl + ↓ Ранее