Рабочие будни

Архивы

снять квартиру посуточно в Москве . скачать фильмы . Диспетчерская служба АЗБУКА ТАКСИ: печи для саун. . стальные трубы цена, хинкали. . кресло, stolline производитель мягкой мебели кресла кровати.  

Archive for the ‘Опыт’ Category

Фишка для SAPE

Суббота, ноября 8, 2008

Написал интересную фишку для wordpress. Фишка в том, что она делает из обычных SAPE ссылок, контекстные ссылки. Получилось неплохо. Нет навязчивых блоков с фразами рекламодателей. Теперь попробуй, определи, где они натыканы. :) Главное что бы рекламодатель их увидел и не снял по ошибке купленную ссылку. :(

Посмотрим, как рекламодатели отнесутся к этой приятной фишке.

P.S. Кстати это возможность использовать разные торговые площадки на одном проекте.

Show keywords — плагин добавляющий ссылки с поисковых переходов

Четверг, ноября 6, 2008

За основу был взят плагин Search keywords Владимира Юшко. Спасибо ему за идею и начало. От оригинального плагина мало что осталось, поэтому было принято решение сделать его отдельным вариантом.

Плагин увеличивает связность страниц блога и повышает насыщенность ключевыми словами.

Качаем, активируем…

Для вывода ссылок указываем в нужном месте  <?php AddSearchLinks (); ?>

P.S. Если есть желание отблагодарить автора, то можете сами разместить ссылку на мой блог в любом месте вашего блога.

show-keywords(1.5) (1.54 KB)

P.S. Обновил. Проблем с кодировками теперь нет, убраны уязвимости доставшиеся от предыдущего автора. Добавлена зачистка html тэгов в принимаемой строке.

Лечим Show Top Commentators

Понедельник, ноября 3, 2008

Плагин Show Top Commentators для WordPress некорректно обрезает имена комментаторов. Как оказалось он не способен правильно работать с текстом utf8 отличным от латиницы. Но всё поправимо. Открываем файл show_top_commentators.php

Находим строки:

function ns_substr_ellipse($str, $len) {
if(mx_strlen($str, 'utf-8') > $len) {
$str = mb_substr($str, 0, $len-3, 'utf-8') . "...";
}
return $str;
}

И заменяем их на эти:

function ns_substr_ellipse($str, $len) {
if ( iconv_strlen( $str, 'utf-8' ) > $len ) $str = iconv_substr( $str, 0, $len, 'utf-8' ). "...";
return $str;
}

P.S. Багфикс отправил автору, поди исправит в следующей версии...

Оптимизация pagenavi

Понедельник, ноября 3, 2008

Прочитав пост уважаемого Жомарта (после увидев статью Ярослава Бирзул) и посмотрев функционал navi.php, решил внести свои 5ть копеек.

В итоге взял функцию пагинации из темы уважаемого www.acosmin.com и чуток доработал.

Получилось вот что:

function wp_pagenavi2() {
global $paged, $wp_query;
$pages_to_show = 5; //сколько ссылок делать по сторонам
$max_page = $wp_query->max_num_pages;
if($max_page>1){
if(empty($paged)) {
$paged = 1;
}
$prelabel  = '<strong>&amp;laquo;</strong>';
$nxtlabel = '<strong>&amp;raquo;</strong>';
$half_pages_to_show = round($pages_to_show/2);

if($max_page > 1) {
echo "$before <div class='Nav'><span>Стр. ($max_page): </span>";
if ($paged >= ($pages_to_show-1)) {
echo '<a href="'.get_pagenum_link().'">&amp;laquo; Первая</a> ... ';
}
previous_posts_link($prelabel);
for($i = $paged — $half_pages_to_show; $i  <= $paged + $half_pages_to_show; $i++) {
if ($i >= 1 &amp;&amp; $i <= $max_page) {
if($i == $paged) {
echo "<strong class='on'>$i</strong>";
} else {
echo ' <a href="'.get_pagenum_link($i).'">'.$i.'</a> ';
}
}
}
next_posts_link($nxtlabel, $max_page);
if (($paged+$half_pages_to_show) < ($max_page)) {
echo ' ... <a href="'.get_pagenum_link($max_page).'">Последняя &amp;raquo;</a>';
}
echo "<div class='NavEnd'></div></div> $after";
}
}
}

Вызывается оно просто:

<?php if(function_exists('wp_pagenavi2')) { wp_pagenavi2(); } ?>

Кода не намного больше, но есть некоторые полезные детали.

Отличия от navi.php: возможность перемещения на пред. и след. страницу.

Прячем SAPE от проверок

Четверг, октября 30, 2008

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

Работает только при условии наличия ЧПУ на сайте. Проверялось как на Drupal, так и на WordPress.

И так открываем sape.php

Находим строки

{

$this->_request_uri = $_SERVER['REQUEST_URI'];

}

Добавляем после них

$auri = explode("?", $this->_request_uri);

$this->_request_uri=preg_replace("(\/+)",'/', $auri[0]);

Всё! :)

Проверить на сколько верно оно работает можно тут

Openfire/Miranda или LCS/Windows Messenger?

Суббота, октября 25, 2008

На подробный анализ не претендую. Это то с чем пришлось столкнуться на практике.

Openfire&Miranda

LCS&Windows Messenger

Стабильность работы клиента +Зависит от сборки и рук админа +Вполне на уровне
Стабильность работы сервера +На unix-like среде проблем не возникает. В windows замечено чрезмерное потребление ресурсов -Постоянные проблемы при массовом перезапуске серверов. В частности проблема запуска, когда AD стартует позже. Полностью завязан на AD и требует видимости глобального каталога. Приходится поднимать сервис вручную
Ресурсоёмкость сервера +360 MB на 500 активных контактов. Текущее потребление памяти взято с рабочего сервера. -512 MB. Взято с описания сервера. Это минимум, который необходим для запуска, потому как не указано какое количество клиентов сможет обитать в таком объёме
Вызов удалённого помощника +Плагин помощника написан к миранде и qip. Что характерно, запускается намного быстрее, чем в том же Messenger. Работает так же на Vista -Изначально присутствует в клиенте. На Windows Vista вообще отсутствует потому как клиент там не Windows Messenger
Аудио-видео связь ?Наверняка есть плагины для этого дела. Но по причине невостребованности, поиск их не производился +Изначально присутствует в клиенте
Централизованное развёртывание и настройка клиента. +Устанавливается через GPO. Настройка производится централизованно +Устанавливается и настраивается через GPO. Настроек минимум, потому как в клиенте и настраивать собственно нечего
Централизованное развертывание и настройка плагинов для клиента. +Да -Нет
Возможность пересылки сразу нескольких файлов +Да +Да
Отправка сообщения в офлайн +Да -Нет
Возможность настройки с клиента собственной информации (адрес, телефон и т.д.) +Да -Нет
Работа только в среде Active Directory +Работает как с AD так и с собственной базой -Да
Ведение локальной хистори +Установкой плагина +Установкой плагина
Ведение хистори на сервере +Да -Требует отдельного MS SQL сервера
Глобальный поиск по локальной хистори в клиенте +Да -Нет
Бесплатность +Да -Нет
Требует наличие Windows Server 2003 +Нет -Да
Сложность установки сервера +Нет -Да
Готовых плагинов для клиента +Их так много, что сложно посчитать -От силы штук 20
Расширяемость сервера плагинами +Да -Нет
Возможность правки кода сервера под свои нужды +Да -Нет
Возможность отправки широковещательных сообщений +Да -Нет
Считаем плюсы: 20 5

Если есть вопросы, могу ответить за свои слова...

Немного ассемблера

Вторник, октября 14, 2008

 

xor ax,bx
xor bx,ax
xor ax,bx

А кому не слабо сказать, что будет в результате? :)