Подменю, автообновление, пингбеки - исправления в новой версии блоголёта
08.04.2009Выпустил новую версию блоголета. Файлы этой версии рекомендовал бы залить на сервер вручную из zip файла, так было обнаружено, что функция crc32, используемая в zip распаковщики дает разные результаты на разных хостингах: где то signed, а где то unsigned целое число, а в результате не все файлы распаковывались. Исправил zip распаковщик.
Добавил всплывающее подменю. Если в меню имеет подменю, то в админке Настройки-Просмотр убрать галочку подменю в виджете (это принято по умолчанию). Чтобы темы на сервере поддерживали эту новую фичу надо заново загрузить для каждой темы файл theme.ini, так как не все темы поддерживают всплывающее подменю.
Исправлена ошибка с пингбеками - досадная мелкая ошибка, а в результате получалось что пингбек на самого себя добавлялся.
Исправлены ссылки на страницы - это после анонсов ссылки с цифрами на следующие страницы. Избавился таким образом от наследия WordPress, где было всего две ссылки - ранее и позже.
Исправлен недавно выявленный баг с урлами, заканчивающиеся слешом (/). Например IE в своей истории хранил адреса без слешей, и получалось, что зайдя на страницу без слеша выдавалась ошибка не найдено. Теперь адреса могут набираться без слешей, но вот внутренняя линковка остается со слешами. Для меня остается до сих пор открытым вопрос о необходимости 302 или 301 редеректа: вдруг поисковики сочтут отсутствие редиректа как дублированный контент. У меня нет однозначного ответа, как быть.
Наверно что то еще подправил, но уже не помню, что конкретно, основные изменения перечислил.
Комментарии (24) на запись “Подменю, автообновление, пингбеки - исправления в новой версии блоголёта”
Оставить комментарий
Закачал ппаку lib и исправленный плагин. Зашёл в админку, а там такое:
Caught exception: The requested property submenuinwidget not found in class TTemplate
trace error
0 /usr/home/interbi/data/www/rublikom.ru/lib/dataclass.php(26): TDataClass->Error('The requested p...')
1 /usr/home/interbi/data/www/rublikom.ru/lib/eventclass.php(45): TDataClass->__get('submenuinwidget')
2 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(67): TEventClass->__get('submenuinwidget')
3 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(236): TTemplate->__get('submenuinwidget')
4 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(56): TTemplate->Getsitebar()
5 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(381) : eval()'d code(35): TTemplate->__get('sitebar')
6 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(381): eval()
7 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(345): TTemplate->ParseFile('index.tml')
8 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(135): TTemplate->Request(Object(THomepage))
9 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(123): TUrlmap->PrintClassContent('THomepage', Array)
10 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(55): TUrlmap->PrintContent(Array)
11 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(34): TUrlmap->DoRequest('/')
12 /usr/home/interbi/data/www/rublikom.ru/index.php(39): TUrlmap->Request('www.rublikom.ru', '/')
13 {main}
Файл есть. Залил. Попал в админку. Нажал первую кнопку.
А потом опять выскочило то же самое:
Caught exception: The requested property submenuinwidget not found in class TTemplate
trace error
0 /usr/home/interbi/data/www/rublikom.ru/lib/dataclass.php(26): TDataClass->Error('The requested p...')
1 /usr/home/interbi/data/www/rublikom.ru/lib/eventclass.php(45): TDataClass->__get('submenuinwidget')
2 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(67): TEventClass->__get('submenuinwidget')
3 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(236): TTemplate->__get('submenuinwidget')
4 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(56): TTemplate->Getsitebar()
5 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(381) : eval()'d code(35): TTemplate->__get('sitebar')
6 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(381): eval()
7 /usr/home/interbi/data/www/rublikom.ru/lib/templateclass.php(345): TTemplate->ParseFile('index.tml')
8 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(135): TTemplate->Request(Object(TAdminService))
9 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(123): TUrlmap->PrintClassContent('TAdminService', Array)
10 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(55): TUrlmap->PrintContent(Array)
11 /usr/home/interbi/data/www/rublikom.ru/lib/urlmapclass.php(34): TUrlmap->DoRequest('/admin/service/')
12 /usr/home/interbi/data/www/rublikom.ru/index.php(39): TUrlmap->Request('www.rublikom.ru', '/admin/service/')
13 {main}
Зато если нажать на вторую кнопку, то есть уже всё сам закачал на хостинг и теперь обновляться, то появляется следующее:
Информация о состоянии блога на платформе блоголёт.
Количество записей: 32
Количество комментариев: 0
Версия: 1.80
У вас свежая версия блоголёта и вы не нуждаетесь в обновлении
Потом я залил новый файл templateclass.php? Тот, что в последней сборке блоголёта. Вроде как всё стало нормально.
Caught exception: The requested property submenuinwidget not found in class TTemplate
trace error
0 /home/.../public_html/домен/lib/dataclass.php(26): TDataClass->Error('The requested p...')
1 /home/.../public_html/домен/lib/eventclass.php(45): TDataClass->__get('submenuinwidget')
2 /home/.../public_html/домен/lib/templateclass.php(67): TEventClass->__get('submenuinwidget')
3 /home/.../public_html/домен/lib/templateclass.php(236): TTemplate->__get('submenuinwidget')
4 /home/.../public_html/домен/lib/templateclass.php(56): TTemplate->Getsitebar()
5 /home/.../public_html/домен/lib/templateclass.php(381) : eval()'d code(37): TTemplate->__get('sitebar')
6 /home/.../public_html/домен/lib/templateclass.php(381): eval()
7 /home/.../public_html/домен/lib/templateclass.php(345): TTemplate->ParseFile('index.tml')
8 /home/.../public_html/домен/lib/urlmapclass.php(130): TTemplate->Request(Object(THomepage))
9 /home/.../public_html/домен/lib/urlmapclass.php(118): TUrlmap->PrintClassContent('THomepage', Array)
10 /home/.../public_html/домен/lib/urlmapclass.php(55): TUrlmap->PrintContent(Array)
11 /home/.../public_html/домен/lib/urlmapclass.php(34): TUrlmap->DoRequest('/')
12 /home/.../public_html/домен/index.php(39): TUrlmap->Request('домен....', '/')
13 {main}
Сейчас посмотрел, 301 - это Moved Permanently, а вот Temporary Redirect - это уже 307. Поставлю ка 301. Правда вот заметил в панели вэбмастера в яндексе, что он 301 редиректы обозначает как ошибки. С другой стороны на части блогов на WordPress у меня шаблон страниц заканчивается на .htm без слеша в конце. Так или иначе надо подхватывать урлы без слешей, если урл со слешом и редиректить.
Бориген: скажи, смог решить проблему? Автоматическое обновление может сработать еще следующим образом на старой версии: скопировать из новой версии на сервер два файла
lib/include/strunzip.lib.php
lib/updater.php
первый как раз и есть распаковщик, второй апдейтер - после их копирования обновление можно провести в автоматическом режиме. за ошибу в zip распковщике я не отвечал: испольовал готовую библиотеку, и только вот совсем недавно, после тестов, вдруг выяснил, что одна и та же функция с одинаковыми данными дает разный результат(это я про стандартную crc32).
Что то колбасит мой сервер сейчас - делал только что ребут, вчера заказал прогон одного домена с wordpress,наверно сегодня боты нагрянули и устроили мне праздник, но ничего - скоро все блоги переведу на блоголёт, благо уже скрипт есть для этого. Бориген: специально для тебя закачал файл
http://blogolet.ru/files/templateclass.php.txt
переименовать его без .txt и залит на сервер, после чего сайт становиться доступным, тогда можно обновляться (предварительно залив туда еще два предыдущих файла) в полностью автоматическом режиме
Да, спамеры нынче изобретательные. Кстати, у Вас на blogclient был спамер с ником «Порнофильм». Ссылка была соответствующая. Причём комментарий-то вразумительный, то есть по теме поста.
Я раньше не мог понять, что значит СМО-спам. Теперь всё чаще с ним сталкиваюсь. Видимо, автоматический спам совсем ничего не даёт, вот народ и рыскает по блогам, чтобы получить халявную ссылку.