rendered paste body<?php
class IHateThis {
function loadchats() {
Global $CFG;
$f=fopen("pcb_chats.cfg", "r");
$x=1;
$messages=array();
while($x<=$CFG['Text-Lines']) {
$c = fgets($f, 128);
$messages[]=rtrim($c);
$x++;
}
fclose($f);
Return $messages;
}
function LoadSmilies() {
Global $CFG;
$Sm=explode(" ", $CFG['Smileys']);
$Sf=explode(" ", $CFG['Smileyf']);
$SmSpacing=explode(",", $CFG['SmileySpacing']);
$smimages=array();
foreach($Sf as $key=>$value) {
$temp=imageCreateFromPNG("images/$value.png");
$sbg = imageColorAllocate ($temp, 255, 0, 255);
$sbg = imageColorTransparent($temp,$sbg);
$smimages[$Sm[$key]]=$temp;
$CFG['SRFSpace'][$Sm[$key]]=$SmSpacing[$key];
}
return $smimages;
}
function hex2int($hex) {
return array( 'r' => hexdec(substr($hex, 0, 2)),
'g' => hexdec(substr($hex, 2, 2)),
'b' => hexdec(substr($hex, 4, 2))
);
}
function ImageItUp() {
Global $CFG, $images, $Messages;
$images['main']=imageCreateTrueColor($CFG['ImageInfo'][0], $CFG['ImageInfo'][1]);
$images['them']=imageCreateFromPNG( $CFG['BackGround'] );
imageCopy($images['main'], $images['them'], 0, 0, 0, 0, $CFG['ImageInfo'][0], $CFG['ImageInfo'][1]);
$Color1=str_replace("#", "", $CFG['C1']);
$Color2=str_replace("#", "", $CFG['C2']);
$Color1=$this->hex2int($Color1);
$Color2=$this->hex2int($Color2);
$Color1=imageColorAllocate($images['main'], $Color1['r'], $Color1['g'], $Color1['b']);
$Color2=imageColorAllocate($images['main'], $Color2['r'], $Color2['g'], $Color2['b']);
$Smilies= $this->LoadSmilies();
$x=$CFG['Text-Offset-Left'];
$y=$CFG['Text-Offset-Top'];
$iPos=$CFG['Text-Height'];
foreach($Messages as $key=>$value) {
$NowY=$key*$iPos + $y + ($key*$CFG['ExtraSpacing']);
foreach($Smilies as $SMkey=>$SFV) {
while(Substr_count($value, $SMkey)>=1) {
$value=explode($SMkey, $value, 2);
$smileypos=$CFG['Text-Width']*strlen($value[0])+1+$CFG['Text-Offset-Left'];
imageCopyMerge($images['main'], $Smilies[$SMkey], $smileypos, $NowY-1, 0, 0, 15, 15, 100);
$value=implode($CFG['SRFSpace'][$SMkey], $value);
}
}
if($CFG['Text-Mode']=="gdf") {
imagestring($images['main'], $CFG['Text-Font'], $x+1, $NowY, $value, $Color2);
imagestring($images['main'], $CFG['Text-Font'], $x, $NowY, $value, $Color1);
} else if($CFG['Text-Mode']="freetype") {
ImageTTFText($images['main'], $CFG['Text-Height'], 0, $x+1, $NowY+$CFG['Text-Height'], $Color2, $CFG['Text-Font'], $value);
ImageTTFText($images['main'], $CFG['Text-Height'], 0, $x, $NowY+$CFG['Text-Height'], $Color1, $CFG['Text-Font'], $value);
}
}
return($images['main']);
}
function LoadConfig() {
Global $CFG;
$Prefs=file_get_contents($CFG['CFGFile']);
$Prefs=explode("\n", $Prefs);
$CFGC="";
foreach($Prefs as $value) {
if($value[0]!="#") { $CFGC.=$value."\n"; }
}
preg_match('/Main_Color="((\#?[A-Fa-f0-9]){6})"/', $CFGC, $Match);
$CFG['C1']=$Match[1];
preg_match('/Shadow_Color="((\#?[A-Fa-f0-9]){6})"/', $CFGC, $Match);
$CFG['C2']=$Match[1];
preg_match('/Background_Image="(([A-Za-z0-9\.])+)"/', $CFGC, $Match);
$CFG['BackGround']=$Match[1];
preg_match('/Output_Format="(([A-Za-z])*)"/', $CFGC, $Match);
$CFG['Format']=$Match[1];
preg_match('/Text_Mode="((gdf|freetype)+)"/', $CFGC, $Match);
$CFG['Text-Mode']=$Match[1];
preg_match('/Text_Font="(.*[^"])"/', $CFGC, $Match);
$CFG['Text-Font']=$Match[1];
preg_match('/Text_Height="([0-9]+)"/', $CFGC, $Match);
$CFG['Text-Height']=$Match[1];
preg_match('/Font_Extra_Spacing="([0-9]+)"/', $CFGC, $Match);
$CFG['ExtraSpacing']=$Match[1];
preg_match('/Font_Char_Width="([0-9]+)"/', $CFGC, $Match);
$CFG['Text-Width']=$Match[1];
preg_match('/Num_Text_Lines="([0-9]+)"/', $CFGC, $Match);
$CFG['Text-Lines']=$Match[1];
preg_match('/Text_Offset_Top="([0-9]+)"/', $CFGC, $Match);
$CFG['Text-Offset-Top']=$Match[1];
preg_match('/Text_Offset_Left="([0-9]+)"/', $CFGC, $Match);
$CFG['Text-Offset-Left']=$Match[1];
preg_match('/Chat_File="(.*[^"])"/', $CFGC, $Match);
$CFG['Chats-File']=$Match[1];
preg_match('/Smiley_List=<string>(.*[^"])<\/string>/', $CFGC, $Match);
$CFG['Smileys']=$Match[1];
preg_match('/Smiley_Files=<string>(.*[^"])<\/string>/', $CFGC, $Match);
$CFG['Smileyf']=$Match[1];
preg_match('/Smiley_Spacing="([ , ]*)"/', $CFGC, $Match);
$CFG['SmileySpacing']=$Match[1];
}
function HeadUpA() {
Global $CFG;
if($CFG['Format']=="PNG") { header("Content-type: Image/PNG"); }
}
function PrintYoJunk() {
Global $CFG, $im;
if($CFG['Format']=="PNG") { imagePNG( $im );}
}
function SelfDestruct() {
Global $images, $im;
ImageDestroy($images['main']);
ImageDestroy($images['them']);
ImageDestroy($im);
}
}
?>