Что-то не пойму, где должна быть установлена высота и ширина, которые проверяются в скрипте? В настройках, что ли? Так в них как бы по дефолту ширина и высота установлены...
добавляете эту функцию в нужный php файл (у меня он при импорте используется), а в нужном месте этого файла используете что-то типа
image_resize (JPATH_COMPONENT_SITE.DS."files".DS."img_products".DS."full_".$image, JPATH_COMPONENT_SITE.DS."files".DS."img_products".DS."thumb_".$image, 150, 200);
тогда изображение подгонится по одному из размеров сохраняя пропорции, а остаток зальет белым фоном.
Например было изображение размера 200*400, тогда новое изображение не растянется, а станет размером 100*200, то есть сохранит пропорции. Но нам нужно чтобы изображение стало 150*200, поэтому эта функция просто зальет эти 50 пикселей по краям белым фоном. То есть по сути получится изображение размера 150*200, но "рабочая" часть сохранит пропорции.
Если допустим так написать
image_resize (JPATH_COMPONENT_SITE.DS."files".DS."img_products".DS."full_".$image, JPATH_COMPONENT_SITE.DS."files".DS."img_products".DS.$image, 0, 300);
то по ширине размер будет игнорироваться. То есть изображение просто сожмется по высоте, сохраняя пропорции, и ничего дополнительно заливать белым не будет. Было изображение 400*600, получилось 200*300. Было 300*600, стало 150*300.
И речь-то не об этом была. Какой результат работы этих строчек? Уменьшается изображение (как это происходит через установку высоты и ширины для изображений в CSS) и на сервере оно хранится в полном размере или происходит его обрезка? 
Работа идет с файлами. CSS тут нипричем. Берем один файл, получаем другой файл. Я не знаю как еще объяснить.
LOL Классное решение, давно искал, но ещё не видел, что это такое... LOL
похоже человек, в отличии от Вас, прочитал сам код (как минимум комментарии в коде) и осознал что он делает.