Three js — заготовка класса для разработки 3d приложения

На коленке набросал небольшую заготовку класса для будущих разработок 3d приложений на Three JS. М.б. кому пригодится.
Поддерживается изменение размеров окна браузера (вьюшка резировая с динамическим перерисовыванием сцены)
В примере ниже рисуется кубик с осями ординат. Поддерживается изменение положения камеры с помощью мышки.

Читать далее

HTML в PDF средствами Dompdf

Давненько я тут не писал.

Сразу к делу: недавно столкнулся с задачей реализовать простенькую печатную форму.

На голом HTML её делать бесполезняк — можно легко столкнуться с «особенностями» браузера из которого производится печать. Собственно решил перегнать html в PDF и уже этот формат использовать в качестве печатного.

В качестве библиотеки выбрал Dompdf — она понимает стили вроде max-width и max-height и умеет работать с картинками.

Порядок действий:

  1. Собственно качаем dompdf: тык
  2. Заливаем содержимое на свой сервак.
  3. Формируем сниппет кода. Принцип прост: html-ку запихиваем в буфер вывода, а уже потом её используем в качестве содержимого PDF-ки:
Читать далее

Элементарные социальные share-кнопки

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

HTML

<a onclick="Share.vkontakte('URL','TITLE','IMG_PATH','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.facebook('URL','TITLE','IMG_PATH','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.mailru('URL','TITLE','IMG_PATH','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.odnoklassniki('URL','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.twitter('URL','TITLE')"> {шарь меня полностью}</a>

JS

Читать далее

VK API и access token

Не совсем понятно почему, но VK ввели ограничение на получение данных с публичных методов вроде wall.get и т.п.

В случае, если, к примеру, делаем запрос на получение контента стены какой-нибудь группы вк (corporationofhumor)

$url = 'https://api.vk.com/api.php?oauth=1&method=wall.get&domain=corporationofhumor&count=100';
$wall = json_decode(file_get_contents($url));
print_r( $wall );

получаем

stdClass Object
(
    [error] => stdClass Object
        (
            [error_code] => 8
            [error_msg] => Invalid request: method is unavailable without access token
            [request_params] => Array
                (
                    [0] => stdClass Object
                        (
                            [key] => oauth
                            [value] => 1
                        )

                    [1] => stdClass Object
                        (
                            [key] => method
                            [value] => wall.get
                        )

                    [2] => stdClass Object
                        (
                            [key] => domain
                            [value] => sarsar
                        )

                    [3] => stdClass Object
                        (
                            [key] => count
                            [value] => 100
                        )

                )

        )

)

Я лично решил проблему так: зарегал приложение в VK и скопировал сервисный ключ:

Читать далее