0.00
Рейтинг
0.00
Сила

Интро

Deprecated: mysql_escape_string()

Deprecated: mysql_escape_string() [function.mysql-real-escape-string]: This function is deprecated; use mysql_real_escape_string() instead. in .../classes/modules/topic/mapper/Topic.mapper.class.php on line 473

в движке всего в одном месте встречается функция — хорошо бы заменить…

function mb_substr()

в очередной раз наткнулся на то, что эта функция отсутствует в LS. точнее отсутствует замена для неё…
написал вот что:

/**
 * Если не стоит расширения mb
 *
 * @param unknown_type $s
 * @return unknown
 */
if (!function_exists('mb_substr')) {
	function mb_substr($str, $start, $length=null, $sEncode="UTF-8") {		
		$srt= ($length)?substr(iconv($sEncode, 'Windows-1251', $str), $start, $length):substr(iconv($sEncode, 'Windows-1251', $str), $start);
      	return $srt;
	}
}

не знаю какое значение присвоить параметру $length(по умолчанию) чтоб сделать текст более коротким…
в общем если кто знает подскажите. может и в сборку добавят =)

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

Как понадобилось изменять размер картинок столкнулся с тем, что стандартная функция 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;
}