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

Архивы

Фишка для 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

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

Фраза года «у мегалайнеров не учитывается трафик»

октября 23, 2008

Меня постоянно удивляет фраза «у мегалайнеров не учитывается трафик» мелькающая, то в одном блоге или сайте, то в другом. Скажите мне, какой трафик может создать блог или простецкий сайт? Пишешь ты в блоге раз в день максимум, какой тут может быть трафик?

Или это такая мода, типа, а я чем хуже, возьму и ляпну?

Многие стремятся сконцентрировать свои ресурсы в пределах РК. Вроде как вот вам бесплатный трафик. В тоже время продвигают их в поисковиках.
А вы не задумывались над тем, что поисковые системы то не в РК? Да в РК всё красиво, а попробуй до него добраться от другого ISP. Опять же можно попасть в тот момент, когда поисковик тупо не достучится до этого ресурса по причине загаженности внешнего канала КТ или вообще отсутствии линка в данный момент.

Или скажем если трафик с поисковых систем будет больше чем от пользователей РК? Получается что, располагая ресурс в РК, мы еще больше нагружаем внешние каналы Казахтелекома.

Я считаю, что тяжелый контент типа BT, должен быть местного значения, а всё остальное уже значение не имеет. А Мегалайн (megaline)  неплохая штука как ни крути.
Хватит уже писать лишние буквы, или вам просто нечем разбавить свой контент? :)