Рубрика: WEB
Здесь собраны статьи, наработки, исправление ошибок и решение проблем связанных с разработкой для WEB
2domains.ru взвинтили цены на продление доменов..
Хотел сегодня продлить домен www.gstorgi.ru, где висит DEMO «учет оргтехники» в виде заглушки. Опаньки — а продление то оказывается вместо 99 рублей, уже 199 рублей. Подняли цену, даже не уведомив. Это как «Ходишь, ходишь в школу, а потом БАЦ, вторая смена». Не буду продлевать. Если так поступят многие, а еще лучше из принципа озаботятся переносом домена к другому регистратору, я думаю регистратор поймет что так не поступают.
Сортировка многомерного массива PHP
Сначала хотел городить огород с asort(), но после поисков, нашел что разработчики PHP уже давным давно все придумали до нас. Оказывается есть функция array_multisort. Как работает эта функция:
array_multisort( array &$arr [, array &$arr [, array &$arr… ]] )
Грубо говоря каждый массив будет отсортирован в соответствии с предыдущим массивом. Вот пример:
1 2 3 4 5 6 |
//Сортируемый масив $array_main=array('foo','bar','foobar',); //Определяющий массив $array_id=array(3,1,2,); array_multisort($array_id, $array_main); var_dump($array_main); |
Выведет:
array(4) {[0]=> string(3) «bar»[1]=> string(3) «foobar»[2]=> string(3) «foo»}
А это как раз то что нам надо!
Пример сортировки массива по полю year:
1 2 3 4 5 6 |
$data_year=array(); //Генерируем "определяющий" массив foreach($data as $key=>$arr){ $data_year[$key]=$arr['year']; } array_multisort($data_year, SORT_NUMERIC, $data); |
Пример сортировки массива по полям year и author:
1 2 3 4 5 6 7 8 9 |
$data_author=array(); foreach($data as $key=>$arr){ $data_author[$key]=$arr['author']; } $data_year=array(); foreach($data as $key=>$arr){ $data_year[$key]=$arr['year']; } array_multisort($data_year, SORT_NUMERIC, $data_author, $data); |
ClipBucket и проигрывание видео в браузере без FLASH
video.js, который хорош тем, что если обнаруживает поддержку FLASH в браузере, то использует плеер на основе FLASH (в нем побольше «рюшечек»), а в противном случае использует только возможности HTML5 по воспроизведению видео.
Плагин для ClipBucket 2.6 можно взять здесь. Для установки достаточно скопировать в папку с плеерами и активировать его из админки.
UPDATE: тот-же самый плагин, но с поддержкой плейлистов можно взять здесь.
UPDATE2: оказывается videojs, будет «из коробки» в версии ClipBucket 3 и выше. Так что мартышкин труд, чуток подождать просто.
Организация собственного видео портала на основе ClipBucket
. Конечно у некоторых может быть проблема с хостингом, в смысле размера диска, но у меня такой проблемы нет .
Итак, путем перебора остановился на бесплатном движке с открытым кодом ClipBucket. Для его установки потребуются дополнительно установленные на хостинге FFMPEG, FLVtool2, MP4Box, PHPShield, cURL. У меня оказались не установленные только FLVtool2, MP4Box и PHPShield. Далее инструкция по установке недостающих FLVtool2, MP4Box,cURL на Ubuntu :
1 |
sudo apt-get install flvtool2 gpac |
1 |
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt |
Далее необходимо установить PHPShield — набор скриптов для декодирования «защищенного» кода на PHP. Идем на http://www.phpshield.com/, скачиваем дистрибутив, в моем случае это http://www.phpshield.com/loaders/ixed4.lin.x86-32.zip, распаковываем в любую папку. Далее узнаем нашу версию PHP:
1 |
php -v |
Узнаем путь расположению подгружаемых PHP модулей:
1 |
php -i | grep extension_dir |
и выполняем копирование файла *.lin для вашей версии PHP
Теперь нам нужно подгрузить это расширение в PHP. Узнаем место расположение вашего php.ini файла:
1 |
php -i | grep php.ini |
Редактируем файл php.ini и добавляем extension=»ixed.5.2.lin»
Сохраняем и выходим из редактора. Перезапускаем Apache HTTP-сервер,проверяем, подгрузился ли модуль
1 |
php -i | grep phpSHIELD |
должно быть: phpSHIELD Support => enabled
Далее устанавливаем собственно ClipBucket инсталлятором. Из нюансов отмечу, что мне для нормальной работы пришлось править includes/classes/conversion/ffmpeg.class.php, руками удаляя параметры запуска ffmpeg «-acodec libfaac » и «-vpre normal», т.к. так и не мог добиться чтобы они корректно обрабатывались.
Так-же для версии 2.6 нет нормального полноценного русификатора.