Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 3976 Просмотров
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Написал решение для одноразового использования, автоматическое вычесление местоположения водяного знака не стал делать ибо настрйки элементарны.

Просто пропишите свои размеры в местах где я отметил экранами и замените фнкцию в файле  /administrator/components/com_adsmanager/models/adsmanager.php

function createImageAndThumb($src_file,$image_name,$thumb_name,
                        $max_width,
                         $max_height,
                        $max_width_t,
                        $max_height_t,
                        $tag,
                        $path,
                        $orig_name)
   {
      if (intval(ini_get('memory_limit')) < 64)
         ini_set('memory_limit', '64M');
      
      $src_file = urldecode($src_file);
      
      $orig_name = strtolower($orig_name);

      $ext = strtolower(JFile::getExt($orig_name));
      switch($ext) {
         case "jpg":
         case "jpeg":   
            $type = "jpeg";break;
         case "png":
            $type = "png";break;
         case "gif":
            $type = "gif";break;
         default:
            return;
      }
      
      $max_h = $max_height;
      $max_w = $max_width;
      $max_thumb_h = $max_height_t;
      $max_thumb_w = $max_width_t;
      
      if ( file_exists( "$path/$image_name")) {
         JFile::delete( "$path/$image_name");
      }
      
      if ( file_exists( "$path/$thumb_name")) {
         JFile::delete( "$path/$thumb_name");
      }
      
      $read = 'imagecreatefrom' . $type;
      $write = 'image' . $type;
      
      $src_img = $read($src_file);
      
      // height/width
      $imginfo = getimagesize($src_file);
      $src_w = $imginfo[0];
      $src_h = $imginfo[1];
      //Вычисляем положение знака
      $watermark_width = (($src_w)/2);
      $watermark_height = (($src_h)/2);
      $q = $watermark_width - 124;//Ширина водяного знака /2 (деленного на два)
      $w = $watermark_height - 49;//Высота водяного знака /2  (деленного на два)
      //
      $zoom_h = $max_h / $src_h;
       $zoom_w = $max_w / $src_w;
       $zoom   = min($zoom_h, $zoom_w);
       $dst_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
       $dst_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;
      
      $zoom_h = $max_thumb_h / $src_h;
       $zoom_w = $max_thumb_w / $src_w;
       $zoom   = min($zoom_h, $zoom_w);
       $dst_thumb_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
       $dst_thumb_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;
      $watermark = imagecreatefrompng('images/wote.png'); //Название и путь к картинке
      $dst_img = imagecreatetruecolor($dst_w,$dst_h);
      $white = imagecolorallocate($dst_img,255,255,255);
      imagefill($dst_img,0,0,$white);
      imagecopyresampled($dst_img,$src_img, 0,0,0,0, $dst_w,$dst_h,$src_w,$src_h);
      $textcolor = imagecolorallocate($dst_img, 255, 255, 255);
      if (isset($tag)) {
         imagecopyresampled($dst_img, $watermark, $q, $w,0,0, 254,98,254,98);//254,98,254,98 Меняйте на размер своего водяного знака
        }  
      if($type == 'jpeg'){
           $desc_img = $this->createimage($write,$dst_img,"$path/$image_name", 75);
      }else{
           $desc_img = $this->createimage($write,$dst_img,"$path/$image_name", 2);
      }
      
      imagedestroy($dst_img);
      
      $dst_t_img = imagecreatetruecolor($dst_thumb_w,$dst_thumb_h);
      $white = imagecolorallocate($dst_t_img,255,255,255);
      imagefill($dst_t_img,0,0,$white);
      imagecopyresampled($dst_t_img,$src_img, 0,0,0,0, $dst_thumb_w,$dst_thumb_h,$src_w,$src_h);
      //$textcolor = imagecolorallocate($dst_t_img, 255, 255, 255);
      if (isset($tag)) {
         //imagestring($dst_t_img, 2, 2, 2, $tag, $textcolor);
         //$fontfile = JPATH_SITE."/components/com_adsmanager/font/verdana.ttf";
            //imagettftext ($dst_t_img, 7, 0, 5, 12,$textcolor,$fontfile,$tag );
      }
      if($type == 'jpeg'){
           $desc_img = $this->createimage($write,$dst_t_img,"$path/$thumb_name", 75);
      }else{
           $desc_img = $this->createimage($write,$dst_t_img,"$path/$thumb_name", 2);
      }
      
      imagedestroy($dst_t_img);
   }
}
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Re: Водяной знак картинкой и по центру
« Ответ #1 : 05.04.2013, 14:55:03 »
Спасибо, все работает. Но есть некоторые непонятки.
Если я правильно понял, то при загрузке картинок формата jpg png водяной знак встает по центру, а gif уходит в сторону (возможно от формата зависит).
Также непонятно получается при изменении объявления. Удаляю старое изображение, загружаю новое. Миниатюра меняется, а полное изображение появляется старое. Со стандартным водяным знаком вроде нет такого.

П.С. Можете еще подсказать по этой теме? http://joomlaforum.ru/index.php/topic,259033.new.html
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Водяной знак картинкой и по центру
« Ответ #2 : 05.04.2013, 16:34:03 »
 $watermark = imagecreatefrompng, да зависит от формата, можно использовать например: (imagecreatefromgif() ).
Чтобы изображение сменилось почистите кеш.
« Последнее редактирование: 05.04.2013, 16:42:10 от LS_D »
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Re: Водяной знак картинкой и по центру
« Ответ #3 : 05.04.2013, 17:38:20 »
Да, дело в кэше было. Неудобно, конечно.
Водяной знак в png у меня. Имеется ввиду, что если добавлять к объявлению изображение в формате gif, то водяной знак на таких изображениях в другом месте появляется, чем на jpg и png.
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Re: Водяной знак картинкой и по центру
« Ответ #4 : 05.04.2013, 18:00:18 »
П.С. А можно какую-то команду в коде прописать, чтобы после редактирования кэш у пользователя чистился автоматом?
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Водяной знак картинкой и по центру
« Ответ #5 : 05.04.2013, 19:29:25 »
П.С. А можно какую-то команду в коде прописать, чтобы после редактирования кэш у пользователя чистился автоматом?
В настройках Joomla по умолчанию 15 мин. поменяйте на свое, вот только нагрузка на сервер возрастет...
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Re: Водяной знак картинкой и по центру
« Ответ #6 : 08.04.2013, 10:03:00 »
Дело похоже в кэше браузера, а не Joomla (отключено).
http://forum.xakep.ru/m_1082483/tm.htm . Было бы хорошо к адресу картинки добавлять параметр после "?" при редактировании. Но это уже другая история.
*

xilon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Водяной знак картинкой и по центру
« Ответ #7 : 20.04.2013, 18:13:26 »
Доброго времени суток!
Отлично работает вставка водяного знака в jpg-фотки с фронта сайта, спасибо!  :D
Но только всплыла проблема при вставке/изменении фоток объявы с админки - водяной знак не вставляется.
Подскажите, пожалуйста, как это полечить?
И ещё... На превьюшка тоже нет водяного знака. Это конечно не критично, но было бы очень неплохо если бы он там был  ^-^
« Последнее редактирование: 20.04.2013, 18:23:36 от xilon »
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Водяной знак картинкой и по центру
« Ответ #8 : 21.04.2013, 13:57:44 »
Но только всплыла проблема при вставке/изменении фоток объявы с админки - водяной знак не вставляется.
Подскажите, пожалуйста, как это полечить?
Посмотрю как будет время и выложу решение.
На превьюшка тоже нет водяного знака. Это конечно не критично, но было бы очень неплохо если бы он там был
Уберите экраны
//$textcolor = imagecolorallocate($dst_t_img, 255, 255, 255);
      if (isset($tag)) {
         //imagestring($dst_t_img, 2, 2, 2, $tag, $textcolor);
         //$fontfile = JPATH_SITE."/components/com_adsmanager/font/verdana.ttf";
            //imagettftext ($dst_t_img, 7, 0, 5, 12,$textcolor,$fontfile,$tag );
*

xilon

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Водяной знак картинкой и по центру
« Ответ #9 : 22.04.2013, 09:47:00 »
Спасибо! Бум ждать свободное время и решение!  *DRINK*

По поводу ватермарка на перевьюшках...
У меня на 2.8.1 Stable при снятии экранов надпись из настроек Ads чёт дублировалась (налаживалось 2 одинаковых надписи).
Пришлось оставить на imagestring экран. Так отрабатывает нормально... Мож глюк, мож фича  ^-^
Получилось вот так:
      $textcolor = imagecolorallocate($dst_t_img, 255, 255, 255);
      if (isset($tag)) {
         //imagestring($dst_t_img, 2, 2, 2, $tag, $textcolor);
         $fontfile = JPATH_SITE."/components/com_adsmanager/font/verdana.ttf";
         imagettftext ($dst_t_img, 7, 0, 5, 12,$textcolor,$fontfile,$tag );
      }
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Водяной знак картинкой и по центру
« Ответ #10 : 22.10.2013, 00:45:10 »
Или я уже заработался или...
но не могу понять где выставить координаты расположения вотермарка.
Он у меня становится по центру и появляются какие-то черные полосы...
Подскажите пожалуйста!
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Водяной знак картинкой и по центру
« Ответ #11 : 22.10.2013, 16:24:59 »
Или я уже заработался или...
но не могу понять где выставить координаты расположения вотермарка.
Он у меня становится по центру и появляются какие-то черные полосы...
Подскажите пожалуйста!

Размеры знака правельные поставьте.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Водяной знак картинкой и по центру
« Ответ #12 : 22.10.2013, 17:44:54 »
Вчера точно подустал - менял размер в комментарии ))))
Спасибо!
« Последнее редактирование: 23.10.2013, 11:54:58 от max_1985 »
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Водяной знак картинкой и по центру
« Ответ #13 : 29.10.2013, 11:44:50 »
Есть еще небольшая проблема, при удалении картинки из админки или при редактировании объявления пользователем, выскакивает ошибка что эту картинку удалить не удалось.
При этом она вроде удаляется из папки.
« Последнее редактирование: 29.10.2013, 11:54:35 от max_1985 »
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Водяной знак картинкой и по центру
« Ответ #14 : 30.10.2013, 20:05:52 »
Есть еще небольшая проблема, при удалении картинки из админки или при редактировании объявления пользователем, выскакивает ошибка что эту картинку удалить не удалось.
При этом она вроде удаляется из папки.

Ну а причем тут этот код?
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Водяной знак картинкой и по центру
« Ответ #15 : 31.10.2013, 21:26:44 »
Решение проблемы:
После
Код
$orig_name
ставим запятую и вставляем
Код
$max_width_m=null,
$max_height_m=null,
$medium_name=null
В общем должно получиться так:
Код
function createImageAndThumb($src_file,$image_name,$thumb_name,
                        $max_width,
                         $max_height,
                        $max_width_t,
                        $max_height_t,
                        $tag,
                        $path,
                        $orig_name,
$max_width_m=null,
$max_height_m=null,
$medium_name=null)

Далее, после
Код
 imagedestroy($dst_t_img);
Вставляем:
Код
if ($max_width_m != null) {
$zoom_h = $max_height_m / $src_h;
    $zoom_w = $max_width_m / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_medium_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
    $dst_medium_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;
   
    $dst_m_img = imagecreatetruecolor($dst_medium_w,$dst_medium_h);
if ($dst_ext == "jpeg") {
$white = imagecolorallocate($dst_m_img,255,255,255);
imagefill($dst_m_img,0,0,$white);
} else {
imagealphablending( $dst_m_img, false );
imagesavealpha( $dst_m_img, true );
}
imagecopyresampled($dst_m_img,$src_img, 0,0,0,0, $dst_medium_w,$dst_medium_h,$src_w,$src_h);

if ((ADSMANAGER_SPECIAL == "thiago")&&($tag!= null)) {
$tag_file = JPATH_ROOT."/images/toto.png";
$tag_ext = strtolower(JFile::getExt($tag_file));
switch($tag_ext) {
case "jpg":
case "jpeg":
$tag_ext = "jpeg";break;
case "bmp":
$tag_ext = "wbmp";break;
}
$cmd = 'imagecreatefrom' . $tag_ext;
$load_image = $cmd($tag_file);
$loadsize = getimagesize($tag_file);

imagealphablending( $load_image, false );
imagesavealpha( $load_image, true );

$imageTag_w = $loadsize[0];
$imageTag_h = $loadsize[1];

$tagPosX = -5;
$tagPosY = -5;

if ($tagPosX < 0) {
$tagPosX = $dst_medium_w + $tagPosX - $imageTag_w;
}
if ($tagPosY < 0) {
$tagPosY = $dst_medium_h + $tagPosY - $imageTag_h;
}

imagecopy($dst_m_img, $load_image, $tagPosX, $tagPosY, 0, 0, $imageTag_w, $imageTag_h);
imagedestroy($load_image);

}
else if ($tag != null) {
$textcolor = imagecolorallocate($dst_m_img, 255, 255, 255);
$fontfile = JPATH_ROOT."/components/com_adsmanager/font/verdana.ttf";
if ($dst_ext != "jpeg") {
imagealphablending( $dst_m_img, true );
imagettftext ($dst_m_img, 7, 0, 5, 12,$textcolor,$fontfile,$tag );
imagealphablending( $dst_m_img, false );
} else {
imagettftext ($dst_m_img, 7, 0, 5, 12,$textcolor,$fontfile,$tag );
}
}
if($type == 'jpeg'){
$desc_img = $this->createimage($write,$dst_m_img,"$path/$medium_name", 75);
}else{
$desc_img = $this->createimage($write,$dst_m_img,"$path/$medium_name", 2);
}

imagedestroy($dst_m_img);
}

Почему-то система не видела удаления мениатюр.
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Водяной знак картинкой и по центру
« Ответ #16 : 01.11.2013, 10:30:44 »
Так все верно, это решение писалось когда еще была актуальна версия 2.7 в ней небыло средних озображений)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заменить знак евро в AdsManager 3.0

Автор ArtCh

Ответов: 1
Просмотров: 1205
Последний ответ 26.09.2014, 09:29:32
от ArtCh
Водяной знак AdsManager 2.6.5 в виде логотипа (картинки png)

Автор Fever13

Ответов: 4
Просмотров: 1594
Последний ответ 19.03.2014, 15:03:29
от Fever13
Неправильно отображается водяной знак AdsManager 2.8

Автор lustoff

Ответов: 5
Просмотров: 1904
Последний ответ 18.06.2013, 16:17:07
от stef21
AdsManager 2.5 водный знак

Автор AlexAl

Ответов: 13
Просмотров: 4588
Последний ответ 03.03.2013, 21:01:10
от max_1985
Watermark картинкой!

Автор yuri-it

Ответов: 17
Просмотров: 5017
Последний ответ 13.11.2012, 22:15:12
от manager2up