суббота, марта 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"];
}
Надеюсь, теперь эта проблема решена окончательно.