HACK NAME : Combined AIM / ICQ / Y!Mess hack DESCRIPTION : This hack is written for v5.45x combines the AIM Pop-up, ICQ Pop-up, and Y!Mess Pop-ups into one huge modification. It should reduce the time it takes to add all 3 hacks to your board and reduce errors. AUTHOR : Allen Ayres (AllenAyres) - info@stand318.com PROPOSED BY : Interrealm DEMO : http://www.stand318.com CREDITS : All the numerous authors of the many versions of the 4 original hacks. If you feel you have contributed but not been given credit please email me - info@stand318.com REQUIREMENTS : A full version of the UBB You will be editing 1. cpanel4.cgi, 2. ubb_library.pl, 3. Register_lib.cgi, 4. ubb_library2.pl, 5. ubbmisc.cgi, Support : I will be supporting this hack @ UbbCodeHacking.com in this forum: http://ubbcodehacking.com/ubb/Forum7/HTML/000177.html This takes a while... Most of your mistakes will come from not keeping your profile field numbers straight. I would recommend writing down all of them on a sheet of paper and always refer to them as you go along. This hack also assumes you already have the basic icq hack installed. Install that first if you don't. I already have it, so I didn't include it here... Do not copy the lines of #####, >>>>>, and <<<<< that outline the code pieces to your files, they will mess up the hack. ######### ONE ############# ################## cpanel4.cgi: ################## Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> chomp($theprofile[14]); chomp($theprofile[13]); chomp($theprofile[12]); chomp($theprofile[11]); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add above that: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< chomp($theprofile[15]); chomp($theprofile[16]); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> print MEMBERSHIP ("$theprofile[14]\n"); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< print MEMBERSHIP ("$theprofile[15]\n"); print MEMBERSHIP ("$theprofile[16]\n"); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Occupation: $thisprofile[5]   >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Right underneath add this: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< AIM Screen Name: $thisprofile[15]   Yahoo ID: $thisprofile[16]   <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ###############TWO####################### ####################### ubb_library.pl ####################### code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $maxmemfields = 14; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> change to: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $maxmemfields = 16; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< #############THREE############# #################### ubbmisc.cgi #################### code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if ($in{'action'} eq "icqmessage") { &ICQmessage; } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Change to: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< if ($in{'action'} eq "icqpanel") { &ICQpanel; } if ($in{'action'} eq "icqpage") { &ICQpage; } <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if ($Name eq "Occupation") { $Occupation = &CleanThis($Value); $Occupation = &PipeCleaner($Occupation); } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Right underneath add this: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< if ($Name eq "AIMname") { $AIMname = &CleanThis($Value); $AIMname = &PipeCleaner($AIMname); } if ($Name eq "YahID") { $YahID = &CleanThis($Value); $YahID = &PipeCleaner($YahID); } <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $AllowMassMail = $thisprofile[14]; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $AIMname = $thisprofile[15]; $YahID = $thisprofile[16]; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $Signature = &ConvertReturns("$Signature"); $OverrideImages = "yes"; $Signature = &UBBCode("$Signature"); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $AIMname = "$in{'AIMname'}"; $AIMname =~ s/( )//isg; $AIMname =~ s//>/g; $AIMname = &ConvertReturns("$AIMname"); $OverrideImages = "yes"; $AIMname = &UBBCode("$AIMname"); $YahID = "$in{'YahID'}"; $YahID =~ s/( )//isg; $YahID =~ s//>/g; $YahID = &ConvertReturns("$YahID"); $OverrideImages = "yes"; $YahID = &UBBCode("$YahID"); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> print MEMBERSHIP ("$in{'AllowMassMail'}\n"); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Note: if you have other hacked fields installed (ie you've been changing the '15') then you need to make sure you put this in order. Like allowmassmail is number 14, so the next one should be 15, after that 16, so on... Add directly underneath: New note (AA):there are 2 of the above, put the first group (*name\n) under the first one, and the second group (*HTML\n) under the second one Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< print MEMBERSHIP ("$AIMname\n"); print MEMBERSHIP ("$YahID\n"); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< print MEMBERSHIP ("$AIMnameHTML\n"); print MEMBERSHIP ("$YahIDHTML\n"); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Occupation: $thisprofile[5] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< AIM Handle: $thisprofile[15] Yahoo ID: $thisprofile[16] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $Signature = &EditUBBConvert("$Signature"); $Signature =~ s/

/\n\r\n/isg; $Signature =~ s/
/\n/isg; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $AIMname = &EditUBBConvert("$AIMname"); $AIMname =~ s/

/\n\r\n/isg; $AIMname =~ s/
/\n/isg; $YahID = &EditUBBConvert("$YahID"); $YahID =~ s/

/\n\r\n/isg; $YahID =~ s/
/\n/isg; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Occupation >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< AIM Handle: Yahoo ID: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Occupation $Occupation >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< AIMname $AIMnameHTML Yahoo ID $YahIDHTML <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if ($in{'action'} eq "pwrequest") { &PWRequest; } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< if ($in{'action'} eq "aimmessage") { &AIMmessage; } <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } #end SubmitThreadEmail >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< sub AIMmessage { $AIM = &UNHTMLIFY($in{'AIM'}); print< Send a message to $AIM
Download AIM 3.0AIM Remote
Send me an Instant Message
Add me to Your Buddy List
Join my Chat Room
Close This Window
AIMMessage } sub ICQpanel { $UIN = &UNHTMLIFY($in{'UIN'}); print<

Web-page Visitor - Communicate with [$UIN] by using this ICQ Respond-Online Panel

This Site is Powered by the ICQ Respond-Online Panel  © 1999 ICQ Inc. All Rights Reserved.
[ Close Window ]
ICQpanel } #end SendThreadForm <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> sub ICQmessage { >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Change to: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< sub ICQpage { <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< FIND: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> print<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> change to: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< print<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ICQmessage >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Change to: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ICQpage <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Then Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $SignatureHTML = &ConvertReturns("$Signature"); if ($AllowSignatureImage eq 'NO'){ $OverrideImages = "yes"; } else { $OverrideImages = "no"; $UBBImages = 'ON'; } $SignatureHTML = &UBBCode("$SignatureHTML"); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< #Prepare AIMname - prevent HTML, strip returns, do UBB Code @censored = split(/ /, $censorwords); $AIMname = &CensorCheck("$in{'AIMname'}"); $AIMname =~ s/( )//isg; $AIMname =~ s//>/g; $AIMnameHTML = &ConvertReturns("$AIMname"); $OverrideImages = "yes"; $AIMnameHTML = &UBBCode("$AIMnameHTML"); #Prepare YahID - prevent HTML, strip returns, do UBB Code @censored = split(/ /, $censorwords); $YahID = &CensorCheck("$in{'YahID'}"); $YahID =~ s/( )//isg; $YahID =~ s//>/g; $YahIDHTML = &ConvertReturns("$YahID"); $OverrideImages = "yes"; $YahIDHTML = &UBBCode("$YahIDHTML"); <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ##########FOUR############ ########################### Register_lib.cgi ########################## There are two places the following code must be changed on this page. find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Occupation >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< AIM Handle Yahoo ID <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ###############FIVE############# ############################# ubb_library2.pl ############################## Find This: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $ThisThread = qq($TopicSubject - $BBName >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add this right after: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> if ($ThisICQ>1) { $ThisICQ= qq(UIN: $ThisICQ ); } else { $ThisICQ=" "; } >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Change it to: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< if ($ThisICQ>1) { $ThisICQ= qq(UIN: $ThisICQ ); } else { $ThisICQ=" "; } <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< find: note: there are 2 places, use the first one.. code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $ProfileString = " "; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add this right after: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $ThisAIM = ""; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< then after the } add: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< if ($RegName eq "unreg") { $ThisAIM = "";} unless ($ThisAIM eq "") { $ThisAIM= qq(Send an AIM Message to $ThisAIM ); } else { $ThisAIM=" "; } unless ($ThisYID eq "") { $ThisYID= qq(Send a message to $ThisYID ); } else { $ThisYID=" "; } <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> $ThisStatus = $thisprofile[8]; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Add directly underneath: Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< $ThisAIM = $thisprofile[15]; $ThisYID = $thisprofile[16]; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Find: code: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> posted $ThisDate $FormatTime     $ProfileString $EmailString   $EditLink >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Replace this with: NOTE: this code is commonly used by other hacks, so if you have other hacks installed, the only thing your adding here is:   $ThisYID   $ThisAIM Code: <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< posted $ThisDate $FormatTime     $ProfileString $EmailString   $EditLink    $ThisYID   $ThisAIM <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< DONE!!! Upload all .cgi files and .pl files in ASCII (please!!) and upload all .gif files to your non-cgi directory. Update general settings and threads