CentOS 5 php-ffmpeg

wget http://www.mplayerhq.hu/MPlayer/releases/codecs/mplayer-codecs-20061022-1.i386.rpm
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/mplayer-codecs-extra-20061022-1.i386.rpm
rpm -ivh mplayer-codecs-*
rpm -ivh /home/distr/CentOS/automake-1.9.6-2.1.noarch.rpm
rpm -ivh /home/distr/CentOS/libtool-1.5.22-6.1.i386.rpm
yum install -y flvtool2 lame lame-devel libogg libogg-devel libvorbis libvorbis-devel ffmpeg ffmpeg-devel mplayer mencoder
wget http://dfn.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.3.1.tbz2
bunzip2 ffmpeg-php-0.5.3.1.tbz2
tar xvf ffmpeg-php-0.5.3.1.tar
cd ffmpeg-php-0.5.3.1
phpize
./configure
make && make test && make install

Скрипт проверки: Читать полностью »

Структура базы данных UCOZ

Описание полей от материалов разных модулей

Структура таблицы users

user
unetID
password
avatar
flags
fullname
gender
email
homepage
icq
country
state
city
signature
title
regdate
ip
o ld-field
aol
msn
yahoo
ispm
birthday
verify
options
lastmodified

Остальные таблицы Читать полностью »

Метель из картинок на javascript

Рецепт приготовления очень прост:

1) заходим на любую страницу, где побольше картинок
2) в строку адреса копируем код

javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName("img"); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+"px"; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+"px"}R++}setInterval('A()',5); void(0);

3) жмем ENTER и наблюдаем красивую метел из картинок )))

Выпущен phpDays 1.1 beta2

Сегодня вышел очередной релиз phpDays 1.1 beta2.

В данном релизе было исправлено множество ошибок и добавлены новые возможности, такие как Days_Event (observer), Days_Helper (помощники вида) и Days_Tool_AppGenerator (создает новое приложение в командной строке и в браузере).

Так же были созданы UnitTests (спасибо Letlite и Xaoc2007) и проведен
рефакторинг многих частей кода.

Наша команда улучшила приложения (смотрите директорию "apps").
Изменено приложение "apps/phpdays.org" (продолжается его улучшение для использования на официальном сайте).

Наши переводчики помогли перевести документацию на 6 языков (English, Русский, Deutsche, French, Italiano, T?rk?e). Спасибо Volkirik,
Cristian Giustini, Hilmar Ackermann, Plodski, Letlite, Informpro Erelis.

Спасибо Вам за хорошую работу! В данном году мы выпустим финальную версию phpDays 1.1. В нее войдут новые возможности и исправления для работы в реальных приложениях. Мы продолжаем привлекать новых людей в проект.

С наилучшими пожеланиями!
Антон Данильченко.

Полноценные классы в Javascript. ООП в javascript. Структуры в javascript

К сожалению, в своей практике освоения Javascript мне не приходилось встречать толковой реализации классов и механизмов наследования. Хотя сам язык достаточно гибок и имеет огромный потенциал. Не доводилось видеть и удобной организации приватных методов. Обычно для этого использую следующий трюк. В качестве приватного метода создают функцию прямо в конструкторе, где должны быть описаны и все методы использующие её:

    function MyClass() {
      function privateMethod() {
      }
      this.publicMethod = function() {
        // используем privateMethod();
      }
    }

Данный подход имеет недостатки, поскольку privateMethod в указанном примере грубо назвать «методом класса». Все публичные методы приходиться описывать прямо в конструкторе, а значит, они будут создаваться каждый раз при создании нового объекта.
Также невозможно вне конструктора дополнить класс новыми методами. Читать полностью »

Вирус: X-connect. Как вылечить

Вирус: X-connect
Главный симптом — в папке сетевых подключений появляется новое vpn-подключение с названием вида X-connect (i-connect, v-connect, z-connect), которое обрывает сессии через 10-50 секунд после запуска.

К слову, лечится любым адекватным антивирусом со свежими базами. Но вот беда — юзеры не могут скачать обновления: чтобы получить свежие базы, надо удалить вирус, а чтобы удалить вирус, нужны свежие базы. Замкнутый круг. Как быть? Читать полностью »

Слушаем вызовы функций javascript

Многие знают о механизме Event-Dispatcher-Listener'ов, реализованному во многих языках программирования. Я же создам подобный механизм не для Event'ов, а для любого метода объекта Javascript — Object.
Я не претендую на оригинальность, нет. Основная цель статьи — рассмотреть интересные механизмы прототипирования в Javascript, создание декораторов и, собственно, постараться хоть немного раскрыть мощь и гибкость это чудесного языка, который так часто обижают и недооценивают.

Итак, первый (и, надеюсь, не последний) рецепт в моей поваренной книге Javascript. Читать полностью »

Взломать сайт или редактирование страниц

Заходим на любой сайт в интернете (к другу — пошутить, к врагу — напакостить), и в адресной строке вашего браузера пишем следующую строчку, и нажимаем ENTER:

javascript:void(document.body.contentEditable = true);

После этого «переделываете» страничку так как вам вздумается (меняете текст, картинки и т.д.), а готовую «работу» выводим на принтер. Читать полностью »

Делаем 301 редирект для сайтов на asp

Бывает необходимость сделать 301 редирект, например, когда сайт переезжает на новый домен (адрес).
Для сайтов, расположеных на сервере в web-сервером Apache достаточно создать в корне файл .htaccess и прописать в нем необходимые директивы серверу.

Но так как web-сервер IIS не поддерживает управление через .htaccess, его использовать нельзя.

Но и тут ничего сложного нет. Необходимо в начале asp скрипта добавить

Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.site.ru"

"http://www.site.ru" - адрес, на который нужно редиректить

Доработанный antileech модуль к nginx (ngx_http_secure_link_module)

В конфигурационный файл добавлена директива secure_link_timeout, которая определяет время жизни ссылки в секундах (по умолчанию 3600 секунд - 1 час).

URL защищённой ссылки теперь выглядит так:

/prefix/hash/timestamp/file

Поле timestamp представляет собой hex-предстваление unixtime.
MD5-хэш счиается от имени файла, поля timestamp и секретного слова (указывается директивой secure_link_secret).

Таким образом, сначала сравнивается поле timestamp с разницей текущего времени и таймаута. Затем проверяется md5-хэш.

Ссылку можно сформировать таким образом: (пример на php):

< ?php $secret = 'topsecretword'; $fname = 'file.ext'; $ts = sprintf("%08x",strtotime("now")); echo '/' . md5($fname . $ts . $secret) . "/{$ts}/{$fname}n"; ?>

Патч применяется к файлу ngx_http_secure_link_module.с web-сервера nginx версии 0.7.41. Читать полностью »