$maxwidth) || ($maxheight && $height > $maxheight)) { if($maxwidth && $width > $maxwidth) { $widthratio = $maxwidth/$width; $resizewidth=true; } else $resizewidth=false; if($maxheight && $height > $maxheight) { $heightratio = $maxheight/$height; $resizeheight=true; } else $resizeheight=false; if($resizewidth && $resizeheight) { if($widthratio < $heightratio) $ratio = $widthratio; else $ratio = $heightratio; } elseif($resizewidth) { $ratio = $widthratio; } elseif($resizeheight) { $ratio = $heightratio; } $newwidth = $width * $ratio; $newheight = $height * $ratio; if(function_exists('imagecopyresampled') && $imagetype !='image/gif') { $newim = imagecreatetruecolor($newwidth, $newheight); } else { $newim = imagecreate($newwidth, $newheight); } // additional processing for png / gif transparencies (credit to Dirk Bohl) if($imagetype == 'image/x-png' || $imagetype == 'image/png') { imagealphablending($newim, false); imagesavealpha($newim, true); } elseif($imagetype == 'image/gif') { $originaltransparentcolor = imagecolortransparent( $im ); if($originaltransparentcolor >= 0 && $originaltransparentcolor < imagecolorstotal( $im )) { $transparentcolor = imagecolorsforindex( $im, $originaltransparentcolor ); $newtransparentcolor = imagecolorallocate($newim,$transparentcolor['red'],$transparentcolor['green'],$transparentcolor['blue']); imagefill( $newim, 0, 0, $newtransparentcolor ); imagecolortransparent( $newim, $newtransparentcolor ); } } imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); if($imagetype == 'image/pjpeg' || $imagetype == 'image/jpeg') { imagejpeg ($newim,$urlandname,$comp); } elseif($imagetype == 'image/x-png' || $imagetype == 'image/png') { imagepng ($newim,$urlandname,substr($comp,0,1)); } elseif($imagetype == 'image/gif') { imagegif ($newim,$urlandname); } imagedestroy ($newim); } else { if($imagetype == 'image/pjpeg' || $imagetype == 'image/jpeg') { imagejpeg ($im,$urlandname,$comp); } elseif($imagetype == 'image/x-png' || $imagetype == 'image/png') { imagepng ($im,$urlandname,substr($comp,0,1)); } elseif($imagetype == 'image/gif') { imagegif ($im,$urlandname); } } } // **************************CHECK IMAGE TYPE AND CONVERT TO TEMP TYPE***************************** function convert_image($imagetemp,$imagetype){ if($imagetype == 'image/pjpeg' || $imagetype == 'image/jpeg') { $cim1 = imagecreatefromjpeg($imagetemp); } elseif($imagetype == 'image/x-png' || $imagetype == 'image/png') { $cim1 = imagecreatefrompng($imagetemp); imagealphablending($cim1, false); imagesavealpha($cim1, true); } elseif($imagetype == 'image/gif') { $cim1 = imagecreatefromgif($imagetemp); } return $cim1; } // **************************GENERATE FORM OPEN***************************** function form_open($name,$class,$url,$parameters){ ?>
$length) { $textstring = substr($textstring,0,$length).'...'; } return $textstring; } /** * Present a size (in bytes) as a human-readable value * * @param int $size size (in bytes) * @param int $precision number of digits after the decimal point * @return string */ function bytestostring($size, $precision = 0) { $sizes = array('YB', 'ZB', 'EB', 'PB', 'TB', 'GB', 'MB', 'KB', 'B'); $total = count($sizes); while($total-- && $size > 1024) $size /= 1024; return round($size, $precision).' '.$sizes[$total]; } //function to clean a filename string so it is a valid filename function clean_filename($filename){ $filename = preg_replace('/^\W+|\W+$/', '', $filename); // remove all non-alphanumeric chars at begin & end of string $filename = preg_replace('/\s+/', '_', $filename); // compress internal whitespace and replace with _ return strtolower(preg_replace('/\W-/', '', $filename)); // remove all non-alphanumeric chars except _ and - } //********************************Return File MIME Type*************************** function returnMIMEType($filename) { preg_match("|\.([a-z0-9]{2,4})$|i", $filename, $fileSuffix); switch(strtolower($fileSuffix[1])) { case 'js' : return 'application/x-javascript'; case 'json' : return 'application/json'; case 'jpg' : case 'jpeg' : case 'jpe' : return 'image/jpg'; case 'png' : case 'gif' : case 'bmp' : case 'tiff' : return 'image/'.strtolower($fileSuffix[1]); case 'css' : return 'text/css'; case 'xml' : return 'application/xml'; case 'doc' : case 'docx' : return 'application/msword'; case 'xls' : case 'xlt' : case 'xlm' : case 'xld' : case 'xla' : case 'xlc' : case 'xlw' : case 'xll' : return 'application/vnd.ms-excel'; case 'ppt' : case 'pps' : return 'application/vnd.ms-powerpoint'; case 'rtf' : return 'application/rtf'; case 'pdf' : return 'application/pdf'; case 'html' : case 'htm' : case 'php' : return 'text/html'; case 'txt' : return 'text/plain'; case 'mpeg' : case 'mpg' : case 'mpe' : return 'video/mpeg'; case 'mp3' : return 'audio/mpeg3'; case 'wav' : return 'audio/wav'; case 'aiff' : case 'aif' : return 'audio/aiff'; case 'avi' : return 'video/msvideo'; case 'wmv' : return 'video/x-ms-wmv'; case 'mov' : return 'video/quicktime'; case 'zip' : return 'application/zip'; case 'tar' : return 'application/x-tar'; case 'swf' : return 'application/x-shockwave-flash'; default : if(function_exists('mime_content_type')) { $fileSuffix = mime_content_type($filename); } return 'unknown/' . trim($fileSuffix[0], '.'); } } //************************Return Array of Directory Structure*************************** function dirtree(&$alldirs,$types='*.*',$root='',$tree='',$branch='',$level=0) { // filter file types according to type $filetypes = explode(',',preg_replace('{[ \t]+}', '',$types)); if($level==0 && is_dir($root.$tree.$branch)) { $filenum=0; foreach($filetypes as $filetype) { $filenum = $filenum + count(glob($root.$tree.$branch.sql_regcase($filetype),GLOB_NOSORT)); } $treeparts = explode('/',rtrim($tree,'/')); $topname = end($treeparts); $alldirs[] = array($branch,rtrim($topname,'/').' ('.$filenum.')',rtrim($topname,'/'),rtrim($topname,'/'),$filenum,filemtime($root.$tree.$branch)); } $level++; $dh = opendir($root.$tree.$branch); while (($dirname = readdir($dh)) !== false) { if($dirname != '.' && $dirname != '..' && is_dir($root.$tree.$branch.$dirname) && $dirname != '_thumbs') { $filenum=0; foreach($filetypes as $filetype) { $filenum = $filenum + count(glob($root.$tree.$branch.$dirname.'/'.sql_regcase($filetype),GLOB_NOSORT)); } $indent = ''; for($i=0;$i<$level;$i++) { $indent .= '   '; } if(strlen($indent)>0) $indent .= '→ '; $alldirs[] = array(urlencode($branch.$dirname.'/'),$indent.$dirname.' ('.$filenum.')',$indent.$dirname,$dirname,$filenum,filemtime($root.$tree.$branch.$dirname)); dirtree($alldirs,$types,$root,$tree,$branch.$dirname.'/',$level); } } closedir($dh); $level--; } /* user defined error handling function. */ function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars) { // timestamp for the error entry. $dt = date('Y-m-d H:i:s (T)'); // define an assoc array of error string // in reality the only entries we should // consider are E_WARNING, E_NOTICE, E_USER_ERROR, // E_USER_WARNING and E_USER_NOTICE. $errortype = array ( E_ERROR => 'Error', E_WARNING => 'Warning', E_PARSE => 'Parsing Error', E_NOTICE => 'Notice', E_CORE_ERROR => 'Core Error', E_CORE_WARNING => 'Core Warning', E_COMPILE_ERROR => 'Compile Error', E_COMPILE_WARNING => 'Compile Warning', E_USER_ERROR => 'User Error', E_USER_WARNING => 'User Warning', E_USER_NOTICE => 'User Notice', E_STRICT => 'Runtime Notice' ); // set of errors for which a var trace will be saved. $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); if($errno != E_STRICT) // exclude Runtime Notices { $err = $dt. "\t"; $err .= $errno.' '.$errortype[$errno]. "\t"; $err .= $errmsg. "\t"; $err .= 'File: '.basename($filename). "\t"; $err .= 'Line: '.$linenum. "\t"; if (in_array($errno, $user_errors)) { $err .= 'Trace: '.wddx_serialize_value($vars, 'Variables'). "\t"; } $err .= "\n"; // save to the error log file, and e-mail me if there is a critical user error. error_log($err, 3, 'error.log'); } } $old_error_handler = set_error_handler('userErrorHandler'); ?>