суббота, сентября 02, 2006

Выкладывание моей версии Sapid'а откладывается...

Причина: Как только закончу все нынешние проекты, буду писать кандидатскую, что займет много времени видимо. Кстати тема дисертации будет касаться Ajax и SEO. :) Прошу простить, не держите на меня зла. :) Постараюсь периодически что-нибудь сюда выкладывать полезное по возможности. Выложить свою версию Sapid'а смогу только после того, как соберу там всё в кучу и приведу в порядок.

воскресенье, августа 13, 2006

Учимся произносить "Ё" и "ё"

После перевода системы на UTF-8 разработчики упустили две буквы, которые играют в русском языке очень важную роль. А если без шуток, то наткнулся на такой казус: Открываем Структуру в "ФаерФоксе", добавляем раздел "Ёлки" и жмем "Сохранить". Потом обновляем структуру. Вместо Ё обнаруживаем её HEX код. А если теперь открыть Структуру в «Ослике», то вообще получим ошибку и остановку отрисовки.

Чтобы этого избежать - требуется открыть /mvc/basics.inc.php, опуститься к функции decode и добавить в неё коды и буквы ё и Ё, а именно: ё0451, Ё0401.

PS: В CVS влить не могу - почему-то пароль не пускает. :(

get_mysql v0.9

Как говорится, обещанного три года ждут. Проламывая дедлайн, выкладываю долгожданное расширение для работы с MySQL – get_mysql.

Всё что нужно – описано в Readme.

В архиве три примера:

• get_mysql_news.xml – новостная лента;
• get_mysql_catalog.xml – каталог;
• get_mysql_search.xml – поиск по каталогу.

Download: get_mysql.zip
For version: Sapid 1.2.3.06

суббота, июля 08, 2006

Немного новостей

1. Запостил сальюшн по мета-тегам в инфоканалах вот тут: http://sapid-club.com/ru/viewtopic.php?t=800

2. Появился сайт с модулем Classic Gallery. Желающие могут ознакомиться: http://www.lifeinmotion.ru/photos/.

3. На последнем указанном сайте раздел "Туры" сделан на модуле get_mysql, который после небольшой доработки и обкатки будет выложен тут (в течение недели планирую это сделать).

суббота, июня 24, 2006

Вот и всё :)

Сдал госы на отлично, защитился на отлично. Теперь занят доведением до ума всех начатых коммерческих проектов и поиском высокооплачиваемой постоянки. :) Как-только решу все текущие вопросы - приступлю к выполнению плана на лето по Сапиду. :)

пятница, мая 19, 2006

Планы на лето

Итак, сейчас я сдаю госы, потом диплом. Это займет какое-то время, но на лето я запланировал следующее:
  1. Выложить здесь свою рабочую версию Сапида со всеми своими расширениями, т.е. полностью готовый к работе комплект, который я сам использую в работе.
  2. Создать демо-сайт своих расширений.
  3. Выложить наконец-то полную версию расширения get_mysql, которое позволят работать с БД MySQL, извлекать данные, добавлять и редактировать их, ну и удалять ессесно. Это будет именно отдельное модульное приложение, а не вариант слоя хранилища, как сделано у Димы Шейко. Просто его вариант мне не подошел, и я сделал по-свойму.
  4. Написать пару коротких статей по работе с Сапидом, в частности нашел решение для использования мета-данных в инфоканалах, т.е. как задавать keywords в мета-тегах для каждой новости например. Короче трюки и подсказки. Одну уже запостил на форуме - смотреть тут.
Для тех, кто не очень следит за форумом и новостями, хотелось бы особо подчеркнуть, что разработчики не собираются сварачивать проект Sapid и продолжать работу только с Sapid CMF, как пояснил Дмитрий Шейко, два проекта будут идти паралельными курсами. Во-всяком случае, как мне кажется, такая ситуация будет до тех пор пока Sapid CMF не станет на колеса, потом потребность в первой версии отпадет. Но будет это не скоро, так что уверен, что до своего дня рождения (в сентябре) классический Sapid доживет. :) Чего и Вам всем желаю! Пожелайте мне удачного госа и сдачи диплома. :)

суббота, марта 25, 2006

Темы оформления для раздела администрирования

Это грязная работа, но кто-то должен её делать. Закончил, наконец-то, возиться с разделом для смен тем оформления "админки" Sapid'а. Вот получилась пока что даже не beta, а alpha версия. Но работает. Даже одну тему нарисовал :) Потестируйте, кому интересно, и если будет не трудно, отпишитесь тут, пожалуйста.

Скачать: themes.zip
Для версии: Sapid CMS 1.2.3.06

пятница, марта 03, 2006

Classic Photo Gallery v1.1

Изменения незначительны:

  • исправлен ряд мелких багов и ошибок;
  • исправлен баг с определением GD (см. предыдущий пост);
  • добавлены параметры ALBUMORDER и PHOTOSORDER, которые заменили существовавший до этого параметр ORDER. Теперь сортировки Альбомов и фотографий независимы друг от друга;
  • оптимизация под последнюю версию Sapid’а в плане кодировки UTF-8.
Скачать: classic_gallery.zip
Для версии: Sapid 1.2.3.06

Версия с комментариями (в архив помимо галереи включен модуль и приложение комментариев, которые работают на виртуальных страницах)

Скачать: classic_gallery+comments.zip
Для версии: Sapid 1.2.3.06

Баг с определением GD. Подход №2

Решил пойти простым путем, но 100% работающим. Если есть функция createimagetruecolor(), то определяем как GD2, если нет, то GD. Собственно, наверно, только у меня ещё до сих пор стоит GD, поэтому я и парился с этим, но все-таки для чистоты совести выкладываю.

В файле /usr/system/image_resize.inc.php вместо этого (содержимое стандартного /usr/system/image_resize.inc.php из Sapid 1.2.3.06):
function _sysB_chkgd2()
{
$rep=false;
if(isset($GLOBALS["gBGDVersion"])) {
$rep=$GLOBALS["gBGDVersion"];
} else {
if(function_exists("gd_info")) {
$gdver=gd_info();
$GLOBALS["gBGDVersion"]=$rep=preg_replace("/^(.*)(\d+?\.?\d+?\.?)(.*)$/", "\\2", $gdver["GD Version"]);
} else {
$arr=get_loaded_extensions();
if(in_array("gd", $arr) and $im=@imagecreatetruecolor(1,1)) {
imagedestroy($im);
$GLOBALS["gBGDVersion"]=$rep="2.0";
}elseif (in_array("gd", $arr) and $im=@imagecreate(1,1)){
imagedestroy($im);
$GLOBALS["gBGDVersion"]=$rep="1.6";
}
}
}
return $GLOBALS["gBGDVersion"];
}
Вставляем следующее:
function _sysB_chkgd2()
{
$rep=false;
if(isset($GLOBALS["gBGDVersion"])) {
$rep=$GLOBALS["gBGDVersion"];
} else {
$arr=get_loaded_extensions();
if(in_array("gd", $arr) and function_exists(imagecreatetruecolor)) {
$GLOBALS["gBGDVersion"]=$rep="2.0";
}elseif (in_array("gd", $arr) and !function_exists(imagecreatetruecolor)){
$GLOBALS["gBGDVersion"]=$rep="1.6";
}
}
return $GLOBALS["gBGDVersion"];
}
Надеюсь, теперь эта проблема решена окончательно.