Version: 2.2, by evenmonkeys
Developer Last Online: Dec 2018
Version: 3.5.4
Rating:
Released: 01-06-2006
Last Update: 06-09-2006
Installs: 419
Template Edits
Additional Files
No support by the author.
Kirsch
Fluid & Fixed
Thank you to everyone who've brought Kirsch as far as it is now.
Kirsch GIF Description Many people have been having issues with the PNG version so I've released a GIF version. It will not look quite as sharp on high-end computers, but it will load a lot faster. That's all that truly matters in the long run.
Included in ZIP
All new GIF image files.
PSD for the banner.
PSDs for the buttons.
Fonts used for the banner.
Kirsch PNG Description Removed. Will no longer be updated.
This style was mainly created for FireFox and Opera users. It uses mostly PNG files as they show up much sharper. However, this style has been designed to work for IE users with the help of a released Extension. If you would like this style to work for IE users, you'll need to install a very fast plugin. It's quick and simple, and in my opinion, worth the extra ten seconds of your day.
I have returned to continue providing support and I have also removed un-needed images in the style. Thank you for your patience. Support may slow down for the 3.5.4 version as I will be porting it over to 3.6.0. However, I'll do my best to make both work.
May 22, 2006
I will be unable to provide support for a couple weeks.
Apr 28, 2006
I have edited several areas in the header template, as well as tweak the css of several areas using the form css.
Apr 17, 2006
I have fixed a problem with the panel and panelsurround CSS areas where the background images were not repeating correctly. Updated as such in the GIF style only.
Removed the PNG version.
Apr 07, 2006
PNG will not be updated anymore. For instructions on converting to GIF, or for more information reguarding this comment, click here.
Mar 24, 2006
I've fixed the banner image in both versions. I have no idea why it was showing section02 as the header, but it's been updated to Kirsch again. Sorry about that. If you've already been using section02 and wish to use the Kirsch banner, download the new ZIP files or open the PSD that was included with your version.
Mar 18, 2006
The copyrights on the styles have been updated. If you have these styles installed, please update the copyrights accordingly.
Feb 25, 2006
The versions of the style have been updates to 3.5.4. Let me know if anyone has any problems.
Well, the only two places it's going to do that is in the actual template or the replacement variable. Take a look in the FORUMDISPLAY template. Search for newthread.gif and see if you can find it in there. Maybe it specified itself as 25x25 in there. Though I have no idea how. It could also be occuring because of parents templates.
I also had a problem like that when I made it on my own site. There was no logical explination for why something was happening. I ended up hard-coding something I didn't want to. However, it made it work and it didn't really bother anything.
Let me know if that works for you. If not, I might be able to think of some other ideas.
I installed the style and it looks great. I am having a problem with the plug in though.
I created a new plugin, cut and pasted all the XML code in the "plugin PHP code" box and edited the path line. I have the hook location set to ajax start. The plugin is active.
The transparancy is not working.
Is there something I missed? I like this look and would really like to get it fully working. Thanks, Chris
Your hook location is incorrect. Your hook location needs to be global_complete. The plugin needs to be as follows:
PHP Code:
$output = replacePngTags($output); function replacePngTags($x,$img_path='images/kirsch/',$sizeMeth='scale',$inScript=FALSE){ $arr2=array(); // make sure that we are only replacing for the Windows versions of Internet // Explorer 5.5+ $msie='/msie\s(5\.[5-9]|[6-9]\.[0-9]*).*(win)/i'; if( !isset($_SERVER['HTTP_USER_AGENT']) || !preg_match($msie,$_SERVER['HTTP_USER_AGENT']) || preg_match('/opera/i',$_SERVER['HTTP_USER_AGENT'])) return $x; if($inScript){ // first, I want to remove all scripts from the page... $saved_scripts=array(); $placeholders=array(); preg_match_all('`<script[^>]*>(.*)</script>`isU',$x,$scripts); for($i=0;$i<count($scripts[0]);$i++){ $x=str_replace($scripts[0][$i],'replacePngTags_ScriptTag-'.$i,$x); $saved_scripts[]=$scripts[0][$i]; $placeholders[]='replacePngTags_ScriptTag-'.$i; } } // find all the png images in backgrounds preg_match_all('/background-image:\s*url\(([\\"\\\']?)([^\)]+\.png)\1\);/Uis',$x,$background); for($i=0;$i<count($background[0]);$i++){ // simply replace: // "background-image: url('image.png');" // with: // "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader( // enabled=true, sizingMethod=scale, src='image.png');" // I don't think that the background-repeat styles will work with this... $x=str_replace($background[0][$i],'filter:progid:DXImageTransform.'. 'Microsoft.AlphaImageLoader(enabled=true, sizingMethod='.$sizeMeth. ', src=\''.$background[2][$i].'\');',$x); } // find all the IMG tags with ".png" in them $pattern='/<(input|img)[^>]*src=([\\"\\\']?)([^>]*\.png)\2[^>]*>/i'; preg_match_all($pattern,$x,$images); for($num_images=0;$num_images<count($images[0]);$num_images++){ // for each found image pattern $original=$images[0][$num_images]; $quote=$images[2][$num_images]; $atts=''; $width=0; $height=0; $modified=$original; // We do this so that we can put our spacer.png image in the same // directory as the image - if a path wasn't passed to the function if(empty($img_path)){ $tmp=split('[\\/]',$images[3][$num_images]); $this_img=array_pop($tmp); $img_path=join('/',$tmp); if(empty($img_path)){ // this was a relative URI, image should be in this directory $tmp=split('[\\/]',$_SERVER['SCRIPT_NAME']); array_pop($tmp); // trash the script name, we only want the directory name $img_path=join('/',$tmp).'/'; }else{ $img_path.='/'; } }else if(substr($img_path,-1)!='/'){ // in case the supplied path didn't end with a / $img_path.='/'; } // If the size is defined by styles, find them preg_match_all( '/style=([\\"\\\']).*(\s?width:\s?([0-9]+(px|%));).*'. '(\s?height:\s?([0-9]+(px|%));).*\\1/Ui', $images[0][$num_images],$arr2); if(is_array($arr2) && count($arr2[0])){ // size was defined by styles, get values $width=$arr2[3][0]; $height=$arr2[6][0]; // remove the width and height from the style $stripper=str_replace(' ','\s','/('.$arr2[2][0].'|'.$arr2[5][0].')/'); // Also remove any empty style tags $modified=preg_replace( '`style='.$arr2[1][0].$arr2[1][0].'`i', '', preg_replace($stripper,'',$modified)); }else{ // size was not defined by styles, get values from attributes preg_match_all('/width=([\\"\\\']?)([0-9%]+)\\1/i',$images[0][$num_images],$arr2); if(is_array($arr2) && count($arr2[0])){ $width=$arr2[2][0]; if(is_numeric($width)) $width.='px';
// remove width from the tag $modified=str_replace($arr2[0][0],'',$modified); } preg_match_all('/height=([\\"\\\']?)([0-9%]+)\\1/i',$images[0][$num_images],$arr2); if(is_array($arr2) && count($arr2[0])){ $height=$arr2[2][0]; if(is_numeric($height)) $height.='px';
// remove height from the tag $modified=str_replace($arr2[0][0],'',$modified); } } if($width==0 || $height==0){ // width and height not defined in HTML attributes or css style, try to get // them from the image itself // this does not work in all conditions... It is best to define width and // height in your img tag or with inline styles.. if(file_exists($_SERVER['DOCUMENT_ROOT'].$img_path.$images[3][$num_images])){ // image is on this filesystem, get width & height $size=getimagesize($_SERVER['DOCUMENT_ROOT'].$img_path.$images[3][$num_images]); $width=$size[0].'px'; $height=$size[1].'px'; }else if(file_exists($_SERVER['DOCUMENT_ROOT'].$images[3][$num_images])){ // image is on this filesystem, get width & height $size=getimagesize($_SERVER['DOCUMENT_ROOT'].$images[3][$num_images]); $width=$size[0].'px'; $height=$size[1].'px'; } }
// end quote is already supplied by originial src attribute $replace_src_with=$quote.$img_path.'spacer.png'.$quote.' style="width: '.$width. '; height: '.$height.'; filter: progid:DXImageTransform.'. 'Microsoft.AlphaImageLoader(src=\''.$images[3][$num_images].'\', sizingMethod='. $sizeMeth.');"'; // now create the new tag from the old $new_tag=str_replace($quote.$images[3][$num_images].$quote,$replace_src_with, str_replace(' ',' ',$modified)); // now place the new tag into the content $x=str_replace($original,$new_tag,$x); }
if($inScript){ // before the return, put the script tags back in. (I was having problems when there was // javascript that had image tags for PNGs in it when using this function... $x=str_replace($placeholders,$saved_scripts,$x); }
Actually, the top three lines of the plug-in needs to be this:
PHP Code:
$output = replacePngTags($output); function replacePngTags($x,$img_path='http://yoursite.com/images/kirsch/',$sizeMeth='scale',$inScript=FALSE){ $arr2=array();
This is needed because certain modifications will not see the images folder correctly. So set the image location to http://yoursite.com/images/kirsch/.