- 1 Апр 2008 - 22:45
- 1 Мар 2008 - 19:47
- 23 Фев 2008 - 10:44
Баги и особенности SapExtension v.0.1a
Опубликовано andyceo в 1 Март, 2008 - 19:52.
Для версии SapExtension v0.1a пока замечено следующее:
- Cбор информации по сайтам (файлы
get_sites.phpиSAPE_Site.php) работает некорректно. Возможны мелкие глюки, типа не может распознать статус сайта - на модерации, индексируется и т.д. - связано с тем, что когда я тестировал скрипт у меня не было таких сайтов, все были в статусе работает - этот статус распознаётся нормально).Эту ситуацию можно подправить следующим кодом, если Вы разбираетесь в PHP:
<?php
//обработка главной страницы сайта: $this->pages[0] и $this->html[0]
//парсим главную страницу - берём инфу:
//статус:
if ( (int)preg_match('/Статус:</td><td><[^>]+>([^<]+)</[^>]+>/',$this->htmls[0],$tmp) == 0 )
$this->raise_error('parse(): не могу взять информацию о статусе сайта.',__FILE__,__LINE__,1);
switch ($tmp[1]){
case 'работает' : $tmp = 'working'; break;
case 'индексируется' : $tmp = 'indexing'; break;
case 'ожидает модерации' : $tmp = 'moderating'; break;
case 'сайт не прошёл модерацию':$tmp = 'failed'; break;
default : $this->raise_error("parse(): Неясный статус сайта: $tmp[2]",__FILE__, __LINE__,1);
}
$this->parsed[$table]['s'] = $tmp;
?>
Его нужно вставить вместо кода в строках примерно 110-120 файла SAPE_Site.php - там идёт анализ статуса сайта.
- Коррекция времени записи в таблицу пока не работает, т.е. в БД будет записана та дата и время, с которыми работает сервер MySQL (используется функция MySQL
NOW()) - Возможно использовать MySQL версии 4 для SapExtension. Для совместимости с MySQL 4 Вы должны исправить все табличные поля, которые используют тип данных VARCHAR, на TINYTEXT. Это потому, что MySQL обрезает концевые пробелы у типа VARCHAR при записи в БД. И никак это не исправить, никакими настройками, это свойство ядра MySQL 4, исправлено в MySQL 5. Впрочем, в требованиях написано что нужно именно MySQL 5, но всё же. Иначе возможна ситуация, когда текст ссылки будет таким, например: "мама мыла раму ", с пробелом на конце. При записи пробел уберётся, а при следующем обновлении SapExtension посчитает, что текст ссылки изменился, и запишет новые значения, однако пробел опять уберётся, и т.д. SapExtension будет записывать каждый раз.
»
- Комментировать
- 188 просмотров
