$c10="\00316";#white##komentojentunnistusjaoikeanfunctionkutsuminensenjälkeenIrssi::signal_add("eventprivmsg","public_cmds");subpublic_cmds{#$data="nick/#channel:text"#otetaantekstikanavaltamy($server,$data,$nick,$address)=@_;#erotetaanviestijakanavatoisistaanmy($target,$text)=split(/:/,$data,2);$text=strip_color($text);$text=~s/\'//g;$text=~s/\///g;$text=~s/\\//g;;#komento!addpreif(($text=~/^!addpre*/)&&(($targeteq$addprechan)||($targeteq$addprechan2)||($targeteq$addprechan3))){ #erotellaanpre-nimijacategoriatoisistaanmy($trigger,$pre,$cat)=split(//,$text);$pre=~s/\.$//g;if(($pre=~m/IMGSET/i)||($pre=~m/iMAGESET/i)){$cat="IMGSET";}elsif($pre=~m/EBOOK/i){$cat="EBOOK";}elsif(($pre=~m/X360/i)||($pre=~m/XBOX360/i)){$cat="X360";}elsif($pre=~m/AUDIOBOOK/i){$cat="AUDIOBOOK";}elsif($pre=~m/SUBPACK/i){$cat="SUBPACK";}elsif((($pre=~m/XXX/i)||($pre=~m/PRON/i))&&(($pre!~m/IMAGESET/i)||($pre!~m/IMGSET/i))){$cat="XXX";}elsif(($pre=~m/DVDR/i)&&($pre!~m/MDVDR/i)&&($pre!~m/DVDRip/i)){$cat="DVDR";}elsif(($pre=~m/ANIME/i)||($pre=~m/HENTAI/i)){$cat="ANIME";}elsif($pre=~m/COMPLETE.BLURAY/i){$cat="BLURAY";}elsif(($pre=~m/Cover/i)&&($pre!~m/XVID/i)){$cat="COVERS";}elsif($pre=~m/MDVDR/i){$cat="MDVDR";}elsif($pre=~m/Bluray.x264/i){$cat="X264";}elsif(($pre=~m/HDDVD/i)&&($pre!~m/X264/i)){$cat="HDDVD";} print"[!addpretriggered,values(pre=[$pre]--cat=[$cat])]"; if((($pre!~m/@/i)&&($pre!~m/DDOS/i))&&(($cat=~/^DVDR$/)||($cat=~/^TV$/)||($cat=~/^MP3$/)||($cat=~/^X264$/)||($cat=~/^EBOOK$/)||($cat=~/^AUDIOBOOK$/)||($cat=~/^0DAY$/)||($cat=~/^XVID$/)||($cat=~/^MVID$/)||($cat=~/^MDVDR$/)||($cat=~/^APPS$/)||($cat=~/^VC1$/)||($cat=~/^WII$/)||($cat=~/^X360$/)||($cat=~/^XBOX360$/)||($cat=~/^XBOX$/)||($cat=~/^SUBPACK$/)||($cat=~/^DOX$/)||($cat=~/^PS1$/)||($cat=~/^PS2$/)||($cat=~/^PS3$/)||($cat=~/^HDDVD$/)||($cat=~/^XXX$/)||($cat=~/^ANIME$/)||($cat=~/^IMGSET$/)||($cat=~/^BLURAY$/)||($cat=~/^PSP$/)||($cat=~/^NDS$/)||($cat=~/^NOTICE$/)||($cat=~/^SVCD$/)||($cat=~/^COVERS$/)||($cat=~/^GAMES$/))){if((length($pre)>0)&&($pre!~m/spam$/i)){sql_connect();my$doit=pre_add($nick,$pre,$cat,$server);sql_disconnect(); if(($doit==0)&&(($pre!~m/EOSiNT/i)&&($pre!~m/NUKED/g))){$cat=section_varit($cat);$server->command("MSG$spamchan".$c5."PRE".$c3.":".$c3.$pre.$c0."in".$cat."");} }}}#komento!delpreelsif(($text=~/^!delpre*/)&&(($targeteq$addprechan)||($targeteq$addprechan2)||($targeteq$addprechan3))){#poistetaa'joslöytyy$text=~s/\'//g;#poistetaa%joslöytyy$text=~s/\%//g; my($trigger,$text,$reason)=split(//,$text);#tarkistetaanetteiolewhitespaceanimessä$text=trim($text);$reason=trim($reason); print"[!delpretriggeredfor:[$text]--[$reason]]";sql_connect();#my$test=delpre_add($text);#tallennetaandelpretoiseentauluuntauluunmy$doit=pre_del($text);sql_disconnect();if($doit==0){print"[!delprefor:[$text]--[$reason]success]";#$server->command("MSG$spamchan".$c0."[".$c1."DELPRE".$c0."]--[".$c2."".$cat.$c0."]--[".$c3.$text.$c0."]");}}#komento!addoldelsif(($text=~/^!addold*/)&&(($targeteq$addprechan)||($targeteq$addprechan3)||($targeteq$oldaddchan)||($targeteq$addprechan2))){#poistetaa'joslöytyy$text=~s/\'//g; my($addold,$pre,$cat,$time,$files,$size,$genre,$nuke)=split(//,$text); $pre=trim($pre);$cat=trim($cat);$time=trim($time);$files=trim($files);$files=~s/\-//g;if(length($files)==0){undef$files;} $size=trim($size);$size=~s/\-//g;if(length($size)==0){ undef$size;}$genre=trim($genre);$genre=~s/\-//g;if(length($genre)==0){undef$genre;}$nuke=trim($nuke);$nuke=~s/\-//g;if(length($nuke)==0){undef$nuke;} #print"[$pre,$cat,$time,$files,$size,$genre,$nuke]";print"[!addoldtriggered,values(pre=[$pre]--cat=[$cat])]"; if(($cat=~/^DVDR$/)||($cat=~/^TV$/)||($cat=~/^MP3$/)||($cat=~/^X264$/)||($cat=~/^EBOOK$/)||($cat=~/^0DAY$/)||($cat=~/^XVID$/)||($cat=~/^AUDIOBOOK$/)||($cat=~/^MVID$/)||($cat=~/^MDVDR$/)||($cat=~/^APPS$/)||($cat=~/^WII$/)||($cat=~/^X360$/)||($cat=~/^VC1$/)||($cat=~/^PS1$/)||($cat=~/^PS2$/)||($cat=~/^PS3$/)||($cat=~/^HDDVD$/)||($cat=~/^XXX$/)||($cat=~/^DOX$/)||($cat=~/^BLURAY$/)||($cat=~/^ANIME$/)||($cat=~/^IMGSET$/)||($cat=~/^NOTICE$/)||($cat=~/^XBOX360$/)||($cat=~/^XBOX$/)||($cat=~/^SUBPACK$/)||($cat=~/^PSP$/)||($cat=~/^NDS$/)||($cat=~/^COVERS$/)||($cat=~/^SVCD$/)||($cat=~/^GAMES$/)){if((length($pre)>0)&&(length($time)>0)&&(length($cat)>0)){sql_connect();my$doit=old_add($nick,$pre,$cat,$server,$time,$files,$size,$genre,$nuke);sql_disconnect();if($doit==0){$cat=section_varit($cat);$server->command("MSG$spamchan".$c5."OLD".$c3.":".$c3.$pre.$c0."in".$cat."");}if(($doit==1)&&(length($files)>0)&&(length($size)>0)){ if(!isNumeric($size)){$size=NULL}if(!isNumeric($files)){$files=NULL}sql_connect();pre_edit($pre,$size,$files);sql_disconnect();}if(($doit==1)&&(length($genre)>0)){sql_connect();pre_genre($pre,$genre);sql_disconnect();}}}}#komento!nukeelsif(($text=~/^!nuke*/)&&(($targeteq$addprechan)||($targeteq$addprechan3))&&($nick!~"oilpharm")){$text=~s/\'//g;#poistetaan'joslöytyy #erotellaanpre-nimijareasontoisistaanmy($trigger,$pre,$nuke,$nukenet)=split(//,$text);$pre=trim($pre);$nuke=trim($nuke);$nukenet=trim($nukenet); #if(($dupenet=~/^dupeNET$/)&&(length($dupenet)>3))if((length($nuke)>0)&&($nuke!~m/auto/i)&&($nuke!~m/p2p/i)&&($nuke!~m/banned/i)&&($nuke!~m/test/i)){print"[!nuketriggered[$pre]-[$nuke]]";sql_connect();my$doit=pre_nuke($server,$target,$pre,$nuke,$nukenet);my@getID=sql_getSection($pre);sql_disconnect();if(($doit==0)&&($pre!~m/German/i)&&($pre!~m/EOSiNT/i)){my$cat=section_varit($getID[0][0]);$server->command("MSG$spamchan".$c6."NUKE".$c3.":".$c0."in".$cat.$c3."".$pre.$c0."withreason".$c10.":\"".$c7.$nuke.$c10."\"".$c3."by".$c8."\<".$c3.$nukenet.$c8."\>");}}}#komento!unnukeelsif(($text=~/^!unnuke*/)&&(($targeteq$addprechan)||($targeteq$addprechan3))&&($nick!~"oilpharm")){#poistetaa'joslöytyy$text=~s/\'//g; #erotellaanpre-nimijacategoriatoisistaanmy($trigger,$pre,$unnuke,$nukenet)=split(//,$text); #poistetaanwhitespace$pre=trim($pre);$unnuke=trim($unnuke);$nukenet=trim($nukenet);#if(($dupenet=~/^dupeNET$/)&&(length($dupenet)>3))if((length($unnuke)>0)&&($unnuke!~m/auto/i)&&($unnuke!~m/p2p/i)&&($unnuke!~m/banned/i)&&($unnuke!~m/test/i)){print"[!nuketriggered[$pre]-[$unnuke]]";sql_connect();my$doit=pre_unnuke($server,$target,$pre,$unnuke,$nukenet);my@getID=sql_getSection($pre);sql_disconnect(); if(($doit==0)&&($pre!~m/German/i)&&($pre!~m/EOSiNT/i)){my$cat=section_varit($getID[0][0]);$server->command("MSG$spamchan".$c8."UNNUKE".$c3.":".$c0."in".$cat.$c3."".$pre.$c0."withreason".$c10.":\"".$c7.$unnuke.$c10."\"".$c3."by".$c8."\<".$c3.$nukenet.$c8."\>");}} }#komento!infoelsif(($text=~/^!info*/)&&(($targeteq$addprechan)||($targeteq$addprechan2)||($targeteq$addprechan3))){#erotellaanpre-nimijacategoriatoisistaanmy($trigger,$pre,$files,$size)=split(//,$text);#whitespacepois$pre=trim($pre);$size=trim($size);$files=trim($files);#tarkistetaansizejafilesisnumericfunktiollaif(!isNumeric($size)){$size=0}if(!isNumeric($files)){$files=0} print"[!infotriggeredfor:[$pre]-[$files]-[$size]]";sql_connect();pre_edit($pre,$size,$files);sql_disconnect();}#komento!genre/!gnelsif((($text=~/^!genre*/)||($text=~/^!gn*/))&&(($targeteq$addprechan)||($targeteq$addprechan2)||($targeteq$addprechan3))){ #erotellaanpre-nimijagenretoisistaanmy($trigger,$pre,$genre)=split(//,$text);#whitespacepois$pre=trim($pre);$genre=trim($genre); print"[!genretriggeredfor:[$pre]-[$genre]]";sql_connect();pre_genre($pre,$genre);sql_disconnect();}#komento!fixsectioninkorjaamiseenelsif(($text=~/^!fix*/)&&($targeteq$addprechan3)){#erotellaanpre-nimijagenretoisistaanmy($trigger,$pre,$section)=split(//,$text);#whitespacepois$pre=trim($pre);$genre=trim($section); if(length($section)>0){print"[!fixtriggeredfor:[$pre]-[$section]]";sql_connect();pre_section($pre,$section);sql_disconnect();}}}#subpublic_cmdsloppuu#########################################################FUNKTIOTJOILLAKÄSITELLÄÄTRIGGERIT#########################################################subpre_edit{my($p_name,$p_size,$p_files)=@_;if((length($p_name)==0)||(length($p_files)==0)||(length($p_size)==0)){return2;}my@getID=sql_getPreId($p_name);my@check=sql_getInfo($p_name);if(($getID[0][0]<1)||($check[0][0]!=NULL)){return1;}my$p_files2=stripLetters($p_files);my$p_size2=stripLetters($p_size);$MYSQL->do("UPDATE$db_tbnameSET$db_files=$p_files2,$db_size='$p_size2'WHEREid=".$getID[0][0].";");return0;}subpre_genre{my($p_name,$p_genre)=@_;if((length($p_name)==0)||(length($p_genre)==0)){return2;}my@getID=sql_getPreId($p_name);my@check=sql_getGenre($p_name);if(($getID[0][0]<1)||(length($check[0][0])>0)){return1;}$MYSQL->do("UPDATE$db_tbnameSET$db_genre=".$MYSQL->quote($p_genre)."WHEREid=".$getID[0][0].";");return0;}subpre_add{my($tNick,$prei,$sec)=@_;my$time=time();my$checkIf=sql_checkIfExists($prei,$db_tbname);if($checkIf==1){return1;}#otagroupinnimimy$pre=$prei;my$Group;my@Group;@Group=split(/-/,$pre);my$Group;foreachmy$group(@Group){$Group=$group;}if(length($sec)>0){$MYSQL->do("INSERTINTO".$db_tbname."(".$db_pre.",".$db_time.",".$db_section.",".$db_nick.",".$db_grp.")VALUES(".$MYSQL->quote($prei).",".$time.",".$MYSQL->quote($sec).",".$MYSQL->quote($tNick).",".$MYSQL->quote($Group).")");}return0;}subdelpre_add{my($prei)=@_;my$checkIf=sql_checkIfExists($prei,$db_tbname2);if($checkIf==1){return1;} $MYSQL->do("INSERTINTO".$db_tbname2."(".$db_pre.")VALUES(".$MYSQL->quote($prei).")"); return0;}subold_add{my($tNick,$pre,$sec,$server,$time,$files,$size,$genre,$nuke)=@_;my$checkIf=sql_checkIfExists($pre,$db_tbname);if($checkIf==1){return1;}#otagroupinnimimy$Group;my@Group;@Group=split(/-/,$pre);my$Group;foreachmy$group(@Group){$Group=$group;}if((length($sec)>0)&&(length($nuke)>0)){my$status=1;$MYSQL->do("INSERTINTO".$db_tbname."(".$db_pre.",".$db_time.",".$db_section.",".$db_nick.",".$db_grp.",".$db_files.",".$db_size.",".$db_genre.",".$db_nukedesc.",".$db_status.")VALUES(".$MYSQL->quote($pre).",".$time.",".$MYSQL->quote($sec).",".$MYSQL->quote($tNick).",".$MYSQL->quote($Group).",".$MYSQL->quote($files).",".$MYSQL->quote($size).",".$MYSQL->quote($genre).",".$MYSQL->quote($nuke).",".$MYSQL->quote($status).")"); } else{my$status=0; $MYSQL->do("INSERTINTO".$db_tbname."(".$db_pre.",".$db_time.",".$db_section.",".$db_nick.",".$db_grp.",".$db_files.",".$db_size.",".$db_genre.",".$db_nukedesc.",".$db_status.")VALUES(".$MYSQL->quote($pre).",".$time.",".$MYSQL->quote($sec).",".$MYSQL->quote($tNick).",".$MYSQL->quote($Group).",".$MYSQL->quote($files).",".$MYSQL->quote($size).",".$MYSQL->quote($genre).",".$MYSQL->quote($nuke).",".$MYSQL->quote($status).")"); }return0;}subpre_del{my($pred)=@_;my$check=sql_checkIfExists($pred,$db_tbname);if($check==1){$MYSQL->do("DELETEFROM".$db_tbname."WHERE".$db_pre."='".$pred."'");return0;}else{return1;}}subpre_nuke{my($server,$channel,$pren_n,$pren_d,$nukenet)=@_;my@getID=sql_getPreId($pren_n);if($getID[0][0]<1){return1;}my$isNuked=sql_checkIfNuked($pren_n,$pren_d);if($isNuked==1){return2;}$MYSQL->do("UPDATE$db_tbnameSET$db_nukedesc='$pren_d',$db_status=1,$db_nukenet='$nukenet'WHERE$db_id=".$getID[0][0].";");return0;}subpre_unnuke{my($server,$channel,$pren_un,$pren_ud,$nukenet)=@_;my@getID=sql_getPreId($pren_un);if($getID[0][0]<1){return1;}my$isUnnuked=sql_checkIfUnNuked($pren_un,$pren_ud);if($isUnnuked==1){return2;}$MYSQL->do("UPDATE$db_tbnameSET$db_nukedesc='$pren_ud',$db_status=0,$db_nukenet='$nukenet'WHERE$db_id=".$getID[0][0].";");return0;}subsql_checkIfExists{my($predi,$taulu)=@_;my$List;$List=$MYSQL->prepare("SELECT$db_idFROM$tauluwhere$db_prelike'$predi'LIMIT0,1");$List->execute();my$counter=0;while(my@curmem=$List->fetchrow_array()){$counter++;}return$counter;}subsql_getInfo{my($find)=@_;my$List;$List=$MYSQL->prepare("SELECT$db_files,$db_sizeFROM$db_tbnamewhere$db_pre='$find'limit0,1");$List->execute();my$counter=0;my@Real;while(my@curmem=$List->fetchrow_array()){$Real[$counter]=\@curmem;$counter++;}return@Real;}subsql_checkIfNuked{my($predi,$nuke)=@_;my$List;my@Real;$List=$MYSQL->prepare("SELECT$db_nukedesc,$db_statusFROM$db_tbnamewhere$db_pre='$predi'LIMIT0,1");$List->execute();my$counter=0;while(my@curmem=$List->fetchrow_array()){$Real[$counter]=\@curmem;$counter++;}if(($Real[0][0]eq$nuke)&&($Real[0][1]==1)){$counter=1;}else{$counter=0;}return$counter;}subsql_checkIfUnNuked{my($predi,$nuke)=@_;my$List;my@Real;$List=$MYSQL->prepare("SELECT$db_nukedesc,$db_statusFROM$db_tbnamewhere$db_pre='$predi'LIMIT0,1");$List->execute();my$counter=0;while(my@curmem=$List->fetchrow_array()){$Real[$counter]=\@curmem;$counter++;}if(($Real[0][0]eq$nuke)&&($Real[0][1]==0)){$counter=1;}else{$counter=0;}return$counter;}subsql_getGenre{my($find)=@_;my$List;$List=$MYSQL->prepare("SELECT$db_genreFROM$db_tbnamewhere$db_pre='$find'limit0,1");$List->execute();my$counter=0;my@Real;while(my@curmem=$List->fetchrow_array()){$Real[$counter]=\@curmem;$counter++;}return@Real;}subsql_getPreId{my($find)=@_;my$List;$List=$MYSQL->prepare("SELECT$db_idFROM$db_tbnameWHERE$db_pre='$find'LIMIT0,1");$List->execute();my$counter=0;my@Real;while(my@curmem=$List->fetchrow_array()){$Real[$counter]=\@curmem;$counter++;}return@Real;}subsql_getSection{my($find)=@_;my$List;$List=$MYSQL->prepare("SELECT$db_sectionFROM$db_tbnameWHERE$db_pre='$find'LIMIT0,1");$List->execute();my$counter=0;my@Real;while(my@curmem=$List->fetchrow_array()){$Real[$counter]=\@curmem;$counter+