7
Авг

Получил перевод от Google AdSense

Вот сегодня собственно, получил от гугла, заработанные на рекламе 6900 рублей :)
Получил на почте, все просто, показал паспорт и мне отдали денежку.

5
Авг

PowerDesigner и Symfony

Первоначально при проектировании базы данных, мне очень удобно рисовать ее в специальной программе Sybase PowerDesigner. Но потом переносить это все добро в scheme.yml, просто наказание какето :) . Поэтому наколбасил скрипт на VB, который генерирует содержимое scheme.yml из модели PowerDesigner.
На VB до это я ни строчки в своей жизни не написал, делал все по аналогии в других скриптах. Так что сильно не пинайте, а лучше помогите привести его к нормальному виду :)
Скрипт берем от сюда tables2scheme-yml.

Инсталяция:
Кладем скрипт в директорию «VB Scripts» дистрибутива PowerDesigner, в моем случае «C:\Program Files\Sybase\PowerDesigner 12\VB Scripts» .
Дальше идем меню PowerDesigner Tools -> Execute Commands -> Customize Сommands,
добавляем команду по аналогии со скриншотом:

Дальше жмем ctrl+shift+0, в появишемся редакторе копируем код и вставляем в scheme.yml проекта.
Скрипт работает с глюками, так что вам скорее всего прийдется подправить содержимое scheme.yml, чтобы генерация в symfony происходила успешно.

4
Авг

mod_rpaf

При конфигуации когда апач прикрыт прокси (у меня nginx), в переменой окружения REMOTE_ADDR будет присутствовать адрес фронтенда (например: 127.0.0.1). Эту проблему решает модуль mod_rpaf, он подменяет значение REMOTE_ADDR на бекэнде, на значение переданное с фронтэнда в заголовке X-Forwarded-For.

4

Symfony, расширение визуального редактора (symfony 1.0)

Понадобилось мне встроить в FCKeditor (http://www.fckeditor.net/), файл менеджер CKFinder (http://www.ckfinder.com/).

Из php встраивается он таким способом:

$fckeditor = new FCKeditor( 'FCKeditor1' ) ;
CKFinder::SetupFCKeditor( $fckeditor, '../../' ) ;

Также можно черех JS конфиг, но при каждом создании редактора, пришлось бы все время совершать лишние телодвижения, от которых хочется избавится.

Для этого можно сделать такой трюк, копируем файл sfRichTextEditorFCK.class.php в каталог lib

cp symfony_dir/lib/helper/sfRichTextEditorFCK.class.php my_project/lib/

Добавляем в файл my_project/lib/sfRichTextEditorFCK.class.php, строку

CKFinder::SetupFCKeditor($fckeditor) ;

В методе toHTML(), перед строкой

$content = $fckeditor->CreateHtml();

В итоге мы получаем:

CKFinder::SetupFCKeditor($fckeditor) ;

$content = $fckeditor->CreateHtml();

// fix for http://trac.symfony-project.com/ticket/732
// fields need to be of type text to be picked up by fillin. they are hidden by inline css anyway:
//
<input id="name" style="display:none" name="name" type="hidden" value="<p>default</p> <p>" />
$content = str_replace('type="hidden"','type="text"',$content);

return $content;
}

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

$fckeditor->Config['EditorAreaCSS']='/css/main.css,/css/inner.css';
$fckeditor->Config['EditorAreaStyles']='body{ padding: 10px; }';

P.S. Есть еще способ, через конфиги, но так мне было сделать проще и удобней.
P.P.S Любой критике в комментах, буду благодарен, так как не считаю себя знатоком symfony.

4

PHP 5.3

Вышел альфа релиз PHP, долгожданной версии  5.3

В данной версии появились возможности, которых ну очень не хватало, такие как:
- Неймспейсы (namespaces)
- Замыкания (closures)

Жить станет лучше  и веселей ;)