Greasemonkey-скрипт для Redmine
Redmine, конечно, настраиваемый и гибкий, но иногда очень не удобный. Захотелось сделать кнопочку «Взять в работу», которая появлялась бы на странице тикета. Делать плагин долго, просто подключить яваскрипт в шаблон — плохо, проблемы при обновлении Redmine. В итоге решил написать Greasemonkey-скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
// ==UserScript== // @name Redmine Ticket // @namespace hc // @include [урл к Redmine]/issues/* // ==/UserScript== var tt = document.createElement('DIV'); tt.innerHTML = "<script>\ var linkInWork = '<a href=\"javascript:void(0);\" onclick=\"setInWork(); return false;\" class=\"icon\">In work</a>';\ $A( $$( '#content .contextual a.icon-del' ) ).each( function( Elem ) {\ Elem.insert( {'after': linkInWork} );\ });\ function setInWork()\ {\ var t = $('loggedas').innerHTML;\ var userId = /\\/users\\/([0-9]*)/.exec(t);\ if ( userId !== null ) {\ userId = userId[1];\ }\ var statusValue = 2;\ setSelectOptionSelected( 'issue_assigned_to_id', userId );\ setSelectOptionSelected( 'issue_status_id', statusValue );\ $('issue-form').submit();\ }\ function setSelectOptionSelected( SelId, Value )\ {\ var sel = $( SelId );\ $A( sel.options ).find( function( option, index ) {\ if( option.value == Value ) {\ sel.selectedIndex = index;\ }\ });\ }\ </script>"; document.getElementById('content').appendChild(tt); |
Добавляет ссылки «In work» в список ссылок вверху и внизу страницы.
Как написать плагин для jQuery
Перепечатка статьи, ссылка на оригинал в конце статьи. За последнее время было много просьб рассказать о том, как написать свой собственный плагин к jQuery. Идя навстречу пожеланиям трудящихся бескрайних полей Интернета – выполняю эти просьбы… Для того, чтобы лучше понять принципы, поставим себе какую-нибудь несложную задачу, имеющую хотя бы минимальную практическую пользу. Давайте вместе напишем …
Как сдампить базу данных PostgreSql в локальную базу через командную строку в Windows
1 |
pg_dump.exe -U [user_remote] -h [host_remote] [database_name] | psql -U [user_local] -d [local_db_name] |
Полезные вещи в phpUnit
Ниже приведён код теста
PostgreSQL EXPLAIN
При работе с MySql’овским EXPLAIN’ОМ всё просто (а может просто привычно). Postgres предоставляет больше информации, но с ним сложнее разобраться. Далее — вольный перевод статьи про PostgreSQL EXPLAIN (ссылка на оригинал в конце статьи).
Генерация моделей в Symfony 1.4
Я пользуюсь Doctrine. Генерация из созданного ранее файла /config/doctrine/schema.yml состоит из трёх команд:
1 2 3 |
symfony doctrine:build --model symfony doctrine:build --sql symfony doctrine:insert-sql |
Если изменялись названия моделей, то надо запустить ещё и
1 |
symfony doctrine:clean-model-files |
Кстати, при генерации может выводиться ошибка There are no tasks defined in the «doctrine» namespace. Нигде толком не написано, отчего она возникает. Возникает она (по крайней мере, у меня, в Windows) …
Внутренняя переадресация в nginx (красивые урлы)
В апаче есть есть замечательная библиотека — mod_rewrite. При переносе проекта на nginx для сохранения интерфейса и структуры сайта необходимо использовать что-то подобное. Соответствующий модуль для nginx называется ngx_http_rewrite_module. Вот пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
location ~ \.php { if ( !-e $request_filename ) { rewrite ^(.+)$ /index.php break; } fastcgi_pass 127.0.0.1:9900; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME <DOCUMENT_ROOT>$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location = /index.php { fastcgi_pass 127.0.0.1:9900 fastcgi_param SCRIPT_FILENAME <DOCUMENT_ROOT>$fastcgi_script_name; include /etc/nginx/fastcgi_params; } |
Почитать: Официальная документация модуля ngx_http_rewrite_module Пример конфигурации Куча примеров
Свойства системы в Windows 7
То окно, которое было доступно в Windows XP при клике правой кнопкой мыши на «мой компьютер»->свойства, можно получить в Windows 7, если в командной строке ввести sysdm.cpl Я сделал ярлык на рабочем столе — не так удобно, как в XP, но хоть что-то.
Проблемы со ждущим режимом в Windows 7
Бывают проблемы с выводом компьютера из ждущего режима (или просыпается сам, или не просыпается по кнопке). Обычно проблема в драйверах устройств. Вывести список все устройства, которые могут будить Windows, можно, набрав в командной строке powercfg /devicequery wake_armed
PHP_CodeSniffer + VCS = боремся за соблюдение стандарта форматирования кода при командной разработке
http://habrahabr.ru/blogs/php/89192/