Модернизация функции рейсайза картинок

Как понадобилось изменять размер картинок столкнулся с тем, что стандартная функция func_img_resize изменяла размер только когда указана $iWidthDest и то как-то «косячно» на мой взгляд… в общем решил я функцию переделать… сделал независимый расайз по высоте и ширине теперь если надо картинку вписать в прямоугольник то просто задаёшь $iWidthDest и $iHeightDest… а ели просто надо подогнать по высоте или ширине задаёшь только то, что надо! всё просто и работает!!! =)
может кому пригодиться…
/**
 * Рейсайзинг картинок
 *
 * @param unknown_type $sFileSrc
 * @param unknown_type $sDirDest
 * @param unknown_type $sFileDest
 * @param unknown_type $iWidthMax
 * @param unknown_type $iHeightMax
 * @param unknown_type $iWidthDest
 * @param unknown_type $iHeightDest
 * @param unknown_type $bForcedMinSize
 * @return unknown
 */
function func_img_resize($sFileSrc,$sDirDest,$sFileDest,$iWidthMax,$iHeightMax,$iWidthDest=null,$iHeightDest=null,$bForcedMinSize=true) {
	if (!($aSize=getimagesize($sFileSrc))) {		
		return false;
	}	
	$img_src=false;
	switch ($aSize['mime']) {
		case 'image/png':
			$img_src=imagecreatefrompng($sFileSrc);
			$sFileDest.='.png';
			break;
		case 'image/gif':
			$img_src=imagecreatefromgif($sFileSrc);
			$sFileDest.='.gif';
			break;
		case 'image/jpeg':
			$img_src=imagecreatefromjpeg($sFileSrc);
			$sFileDest.='.jpg';
			break;
		default:
			return false;
			break;
	}
	if (!$img_src) {		
		return false;
	}
	$iWidthNew=$aSize[0];
	$iHeightNew=$aSize[1];
	if (($iWidthNew>$iWidthMax) or ($iHeightNew>$iHeightMax)) {
		return false;
	}
	if ($iWidthDest) {
		if (!$bForcedMinSize and ($iWidthDest>$iWidthNew)) {
			$iWidthDest=$iWidthNew;
		}
		$iSizeRelation=$iWidthDest/$iWidthNew;	
		$iWidthNew=$iWidthDest;		
		$iHeightNew=round($iSizeRelation*$iHeightNew);
	}
	if ($iHeightDest) {
		if (!$bForcedMinSize and ($iHeightDest>$iHeightNew)) {
			$iHeightDest=$iHeightNew;
		}
		$iSizeRelation=$iHeightDest/$iHeightNew;
		$iHeightNew=$iHeightDest;			
		$iWidthNew=round($iSizeRelation*$iWidthNew);
	}
	
	
	$sFileFullPath=DIR_SERVER_ROOT.'/'.$sDirDest.'/'.$sFileDest;
	@func_mkdir(DIR_SERVER_ROOT,$sDirDest);
	if (($iWidthDest and $iWidthDest!=$aSize[0])or($iHeightDest and $iHeightDest!=$aSize[1])) {
		$img_dest=imagecreatetruecolor($iWidthNew,$iHeightNew);		
		imagesavealpha($img_dest,true);
		imagealphablending($img_dest,false);
		if (imagecopyresampled($img_dest,$img_src,0,0,0,0,$iWidthNew,$iHeightNew,$aSize[0],$aSize[1])) {				
			imagedestroy($img_src);
			switch ($aSize['mime']) {
				case 'image/png':
					if (imagepng($img_dest,$sFileFullPath)) {
						chmod($sFileFullPath,0666);
						return $sFileDest;
					}
					break;
				case 'image/gif':
					if (imagegif($img_dest,$sFileFullPath)) {
						chmod($sFileFullPath,0666);
						return $sFileDest;
					}
					break;
				case 'image/jpeg':
					if (imagejpeg($img_dest,$sFileFullPath)) {
						chmod($sFileFullPath,0666);
						return $sFileDest;
					}
					break;
			}
		}
	} else {
		if (copy($sFileSrc,$sFileFullPath)) {
			return $sFileDest;
		}
	}
	return false;
}

Пользовательские конфиги

В директории «config» находятся файлы конфигурации системы. При подключении модулей в эти файлы вносятся изменения. При обновлении движка все эти изменения будут потеряны и придется восстанавливать работоспособность системы.

Возможно ли во всех файлах настроек, которые используются для подключения модулей, сделать инклуд пользовательских конфигов? Либо из той же директории с префиксом «user» например, user.config.table.php, либо из отдельно созданной директории «config_user».

Ищу дизайнера

Ищу дизайнера для создания легковесного макета для движка версии 0.2
Логотип уже есть, менять его не планирую. Подробности при переписке — кидайте портфель и цены.

UPD: Всем спасибо, дизайнера нашел.

Доработать модуль "Галерея" от Benone

Необходимо доработать модуль «Галерея» от Benone.
Требуется реализовать:
— стилевое оформление;
— настройка во сколько колонок и рядов выводить фотки;
— постраничная навигация;
— возможность для админа устанавливать лимит на количество загружаемых фото (или как то увязать с рейтингом пользователя);
— рейтинги и комментарии к фото;
— вывод случайных фото в блоке.
Это первое, что пришло на ум. Прошу высказать свои предложения заинтересованным и как обычно, кто желает участвовать в коллективной заявке — милости прошу.

Вопрос общественности: где искать программиста LiveStreet?

Вот какая задача.
В рамках проекта нужна тематическая социальная сеть типа хабр. Движок LiveStreet подходит для этих целей как нельзя лучше. Но на нашем сайте LiveStreet нет раздела вакансий. А мне нужен фрилансер, который поставит, настроит и будет админить нашу сеть.

Есть ограничение на проект: целевая группа будущей сети немногочисленна, поэтому требований к нагрузке на систему, железо не стоит. Проект пилотный. Но деньги выделены.

Ответы, предложения пишите мне.

Извините, если сообщение разместил не правильно.

Обновление версии livestreet при наличии своих доработок

Задался на днях вопросом о том, как правильно делать агрейд версии ls при наличии своих доработок и как правильно делать доработки — пока не понятно.

Просматривал примеры допилов — изменения в шаблонах, в контроллерах и т.д. Т.е. довольно «хардкорно» в коде.
Все изменения канут в небытие при переходе на новую версию движка или же я что то не правильно понимаю?

Нужен программист!

Всем привет, не посчитайте за флуд, возможно кого-то заинтересует) Если здесь такое нельзя размещать, скажите я удалю…
Молодой развивающейся веб-стидии «Это Легко» нужен хороший программист PHP в команду.
Сейчас идет формирование хорошей команды для реализации кучи интересных проектов!
Желательно знать Битрикс и уметь программировать под него, т.к есть один важный проект на нем, также умение работь с livestreet и другими интересными движками для разных задач(особенно пригодился бы интернет-магазин).
З/п на первое время 30 000, но если сработаемся очень надеюсь что будем постоянно ее увеличивать!

ТЗ на модуль «Работа»

Модуль состоит из:
—вакансий;
—резюме;
—быстрого поиска;
—разделения вакансий и резюме на отрасли к которым они относятся;
Вакансии
—содержат набор полей как здесь: habrahabr.ru/add/job/, добавляется только поле город;
—создаются там же где топики;
Резюме
—состоит из описания образования, профпортрета, контактных данных, сектора работы, опыта работы и желаемой суммы зп;
—заполняется в профиле пользователя;
Отображение
—вакансии отображаются по пути site.ru/job/, также можно увидеть в профиле компании site.ru/company/URLкомпании/job/;
—резюме site.ru/job/resume/, а так же в профиле пользователя site.ru/resume/имяпользователя/
—в списке вакансий и резюме отображаются поля: дата добавления, название вакансии, сумма, город; сортировка идет по дате добавления;
—по ссылке site.ru/job/resume/имякатегории, отображаются резюме относящиеся к определенной категории, аналогично для вакансий;
—в быстром поиске можно ограничить список по: категории, ключевому слову, сумме, городу и занятости;
Настройки и администрирование
—можно ограничить количество вакансий от одной компании (или пользователя);
—разрешить писать резюме при наличии определенного рейтинга пользователя;
—список категорий, к которым могут относится резюме и вакансии, составляет администратор;

В общих чертах написал ТЗ, ожидаю ваши предложения по поводу настроек, ограничений и т.п.