Tertium |
Отправлено: 15.07.2005, 16:55 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Г-да управленцы!
Не слишком напряжно было бы вам выложить по адресу, к примеру, www.cbuilder.ru/forums/ файлик post_test.php, такой что:
при вызове его post_test.php?post_id=...&how_many он бы возвращал текущее количество релик в посте, а на вызов
post_test.php?post_id=...&name — выдавал бы имя поста?
Всё plain text, разумеется, без всяки х там тагов.
Просто появилась идея следилки за постами.
Программка позволяет ввести 1 или несколько постов для слежения (вводится ид — содержимое переменной t из строки адреса). Она сливает имена постов и раз в пять минут чекает количество ответов. Дёшево и сердито, и трафик по минимуму ест. Если меняется количество — говорит всплывающей окошкой, что поменялось и даёт ссылку, куда тебе идти. И никакого фидбека по почте не надо (да и фидбек по почте вещь ненадёжная). Правда, это только для тех кто онлайн по жизни.
QUOTE |
От себя добавлю, что закончилось всё хорошо и не только для тех, кто онлайн по жизни Где-то в последних реплаях — текущая завершительная версия проги. Поставьте топик на слежение — возможна дальнейшая разработка программы. Хочу подчеркнуть что всё-таки прога не имеет ничего общего с RSS-клиентом, а запрашиваемые ей данные — с xml. Трафик минимален — насколько он может быть минимален для http:) Исходник ранней версии выложен на первой странице. Исходники дальнейших версий выкладываться не будут. Считайте, что я стесняюсь своего кода Прога разрабатывалась для себя, но возможно учтение и ваших пожеланий — буде таковые будут — и при наличии свободного времени. Справкой по программе призван явиться этот топик. Он же и хистори. Когда администрация выйдет из отпуска, возможны организационные изменения, то есть топик останется, но можетпоявиться отдельная страничка по проге или просто ссылка, там видно будет.
И немножко мании величия.
Если вы часто бываете на этом форуме, часто задаёте вопросы или отвечаете, то эта прога для вас. Превратим форумы в чаты!!! |
Отредактировано Tertium — 06/08/2005, 22:03
|
|
Admin |
Отправлено: 18.07.2005, 12:52 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Попробую.
Только вот что значит — возвращал бы — в каком виде ?
Кое-что сделал — попробуйте, это то что Вы хотели или нет.
http://www.rxlib.ru/forums/post_test.php?post_id=4677
возвращает через *
post_id поста, кол-во ответов, назв темы, описание темы.
4677*0*хоцца написать следилку за постами*но нужен минимальный суппорт от админа
если ввести
CODE |
post_test.php?post_id=...&how_many — то количество ответов,
если
post_test.php?post_id=...&name — имя поста.
|
Отредактировано Admin — 18/07/2005, 13:01
|
|
Tertium |
Отправлено: 18.07.2005, 21:30 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Спасибо, что откликнулись.
Оно. Но не совсем. Хотелось бы, что бы оно, например, вот так работало (все дело в экономии трафика):
post_test.php?post_id=...&op=name — имя поста в win1251
post_test.php?post_id=...&op=description — описание поста в win1251
post_test.php?post_id=...&op=answers — количество ответов.
то есть, условно:
CODE |
<?
if (!isset($HTTP_GET_VARS['post_id']) || !$HTTP_GET_VARS['post_id'])
exit(0);
if (isset($HTTP_GET_VARS['op']) && $HTTP_GET_VARS['op']=='name')
{
$result=mysql_query('select name from .... where post_id='.$HTTP_GET_VARS['post_id']);
echo mysql_result($result,0);
}
if (isset($HTTP_GET_VARS['op']) && $HTTP_GET_VARS['op']=='description')
{
$result=mysql_query('select description from .... where post_id='.$HTTP_GET_VARS['post_id']);
echo mysql_result($result,0);
}
if (isset($HTTP_GET_VARS['op']) && $HTTP_GET_VARS['op']=='answers')
{
$result=mysql_query('select .... from .... where post_id='.$HTTP_GET_VARS['post_id']);
echo mysql_result($result,0);
}
?>
|
Коряво, конечно, но в общих чертах я думаю ясно. Запрос на имя и описание будет выслан по http 1 раз (при добавлении в список слежения), а запрос post_test.php?post_id=...&op=answers будет посылаться каждые N минут (конечно, если есть коннект). Получается,что нет нужды в потсоянном повторе, что за тема. Необходимость есть только в количестве реплаев.
Сегодня, к сожалению, мне нашли в офисе работу, но как только относительно освобожусь — допишу софтинку и выложу на ваш сайт. Может кому приглянётся.
|
|
Admin |
Отправлено: 19.07.2005, 09:03 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
QUOTE |
Оно. Но не совсем. Хотелось бы, что бы оно, например, вот так работало (все дело в экономии трафика):
post_test.php?post_id=...&op=name — имя поста в win1251
post_test.php?post_id=...&op=description — описание поста в win1251
post_test.php?post_id=...&op=answers — количество ответов.
|
Так так оно и есть, проверьте.
post_test.php?post_id=...&name — имя поста.
post_test.php?post_id=...&how_many — количество ответов
post_test.php?post_id=... — все вместе через разделитель *
http://www.rxlib.ru/forums/post_test.php?post_id=4677
http://www.rxlib.ru/forums/post_test.php?p...d=4677&how_many
http://www.rxlib.ru/forums/post_test.php?p...st_id=4677&name
|
|
Tertium |
Отправлено: 19.07.2005, 20:40 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Спасибо! Сразу просто не сообразил
|
|
Tertium |
Отправлено: 20.07.2005, 13:19 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
ok
Отредактировано Tertium — 20/07/2005, 21:22
|
|
Tertium |
Отправлено: 21.07.2005, 01:42 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
тест
|
|
Tertium |
Отправлено: 21.07.2005, 02:23 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 02:34 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 02:34 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 02:36 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 03:04 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Первая версия пост-контроля готова. Завтра пропишу обработку всяких трубностей жизни типа оффлайна и тд и будет готово. Прошу прощение за флейм в теме, если хотите можете перекинуть тему во флейм даже. Просто в горячке что было, на том и тестил
Кстати, странная вещь: для темы 4677 — когда пишу st=10, где 10 — это то что мне вернули Вы скриптом, он переходит на последнюю запись (как и надо), а для темы 4650 — почему-то на предпоследнюю... Это, конечно, не критично, но странно.
|
|
Tertium |
Отправлено: 21.07.2005, 03:05 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 03:08 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 03:10 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
test
|
|
Tertium |
Отправлено: 21.07.2005, 03:22 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
в архиве — скриншот
|
|
Tertium |
Отправлено: 21.07.2005, 04:04 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
а вот и сама прога. билдера для запуск не требует. если интересно, могу выложить исходники.
закрывается — правый щелчок на иконке в трее -> выход. \
Создаёт два файла — настроек и списка постов (т.е. она запоминает всё).
Висит только в трее. Раз в N секунд (выставляется) чекает количество реплаев (в отдельном потоке, так что интерфейс живёт). Когда появился новый реплай или тему удалили — всплывает у трея окошко. Правый клик — закрыть,левый — перейти к реплаю. Пока ещё не пофиксил — может выйти накладка, если одновременно несколько постов будут отвечены — всплывающее окошко одно.
Двойной клик на строке в таблице постов — в последнем эксплорере открывается пост.
Что такое act=ST не разобрался, поэтому в настройках это "допстрока" Остальное по полочкам.
К иконкам чур не придираться Что было то взял. По крайней мере — не с нета, свои.
Ну, в общем если что непонятно, пишите
ЗЫ статус RC1
Отредактировано Tertium — 21/07/2005, 10:01
|
|
Tertium |
Отправлено: 21.07.2005, 04:16 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
вот уже первое исправление
|
|
Tertium |
Отправлено: 21.07.2005, 10:06 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
второе исправление — теперь можно менять интервал опроса и это реально во время ожидания будет учтено (делится на n* sleep(250) и постоянно смотрит какой интервал).
CODE |
int delay=0;
int seconds=0;
do
{
EnterCriticalSection(&cs);
seconds=mainWnd->getSetup().check_period;
LeaveCriticalSection(&cs);
delay++;
Sleep(250);
}
while(!Terminated && delay<seconds*4);
|
На всякий случай следите за темой. Если глюки найду ещё буду править и класть здесь
Отредактировано Tertium — 21/07/2005, 10:07
|
|
olegenty |
Отправлено: 21.07.2005, 10:17 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
ну на тебе первый глюк: а прокси где указывать? у меня инет хоть и быстрый, но за таким числом fairwall'ов, что не хочет твоя прога соединяться. давай строки, куда прокси вводить...
|
|
olegenty |
Отправлено: 21.07.2005, 10:21 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
ещё — а как отреагирует твоя следилка, если я поудаляю нафиг строки test, как модератор? захочешь ты 10-ю реплику, скажем, посмотреть, а её нет, из-за уменьшения общего количества постов...
|
|
Tertium |
Отправлено: 21.07.2005, 10:44 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
надо пофиксить не> а !=
НАсчёт проксей пока не в курсе, ща убегаю, потом гляну.
вот сырцы если что
ЗЫ всё впопыхах, в рабочее (почти) время, в передверии защиты, так что код не материть
Отредактировано Tertium — 21/07/2005, 10:45
|
|
Tertium |
Отправлено: 21.07.2005, 22:13 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Исправлено:
- при изменении состояния постов оно не сохранялось.
- корректная обработка ситуации удаления поста или части ответов.
- ряд мелких потенциальных проблем.
Добавлено:
- возможность соединения через прокси
- состояние "свежести" — то есть пока не кликнешь либо по всплывающеу окошку, либо дважды по строке в таблице, иконка в трее анимирована, а сам топик имеет жёлтую иконку (в противовес зелёной). Чтоб как в аське было видно, есть ли что в эфире.
- пункт о программе и нормальное название
Изменено:
- три типа всплывающих окошек (добавился ответ, удалили ответ(ы), удалили тему)
- теперь хоть 25 одновременно отвеченных тем. Окошки будут всплывать по всему экрану, одно за другим.
- нек-рые иконки
- форумы теперь именуются по-человечьи.
Короче, покамест реализовано всё что задумано.
Пробуйте, может у кого взглючит, тада дайте знать.
Для тех кто не знает — номер поста это содержимое переменной t строки адреса, напр. номер этой темы — 4677.
Отредактировано Tertium — 22/07/2005, 04:11
|
|
Tertium |
Отправлено: 22.07.2005, 04:12 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
а вот сам бинарник
PS: всплывающие окошки гаснут сами через секунд 5
Отредактировано Tertium — 22/07/2005, 04:27
|
|
Tertium |
Отправлено: 22.07.2005, 14:35 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Есть предложение после тестирования и отловли большинства блох буде такие найдутся выложить это гденть для загрузки — для этого ведь форума писалось как-никак, можно сказать именное изделие
Пишите отзывы что ли ну или там багрепорты, если не влом
|
|
Tertium |
Отправлено: 22.07.2005, 17:13 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
тесмте
|
|
Tertium |
Отправлено: 22.07.2005, 17:20 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Всё вроде пофиксил. Там не только в потоках дело было.
|
|
Tertium |
Отправлено: 22.07.2005, 17:23 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
вуаля, однако:
|
|
Tertium |
Отправлено: 24.07.2005, 12:02 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
И — версия для братьев наших меньших — с модемами
Там есть кнопка "проверить сейчас". Подключаетесь по момеду и жмёте кнопку. Программа проверяет наличие новых реплаев и говорит вам. Периодический чек никто не отменял, просто при нажатии "проверить сейчас" пауза между проверками на один раз сводится к нулю.
ВНИМАНИЕ: добавлять новые реплаи только будучи подключёнными к нету!!! И к ADSL-щикам относится. Да прога сам скажет.
|
|
Tertium |
Отправлено: 24.07.2005, 12:49 |
|
Машинист паровоза
Группа: Почетный участник
Сообщений: 192
|
Достало, что свои ответы регистрируются. Вот, не отходя от кассы, версия 0.3:
- поддержка модемных братьев как в 0.21
- поддержка своих ответов
- слегка пофиксен интерфейс
поддержка своих ответов:
когда сам отвечаешь на тему программа это тоже регистрирует, поскольку на вход она получает просто количество реплаев. Соответственно, чтоб не доставала, у каждого поста заведён счётчик своих ответов. Кнопка "Был свой ответ" прибавляет его на 1. Если далее программа видит изменение колва реплаев на 1, она просто убавляет счётчик обратно, а всплываний там и сообщений о свежести нет. Если она зарегистриует больше ответов, чем содержимое счётчика своих ответов — то сообщение о свежести будет. Енджой
|
|