english version is worked on VB4.0.8 fine
I twice tried to configure script to recognize the Russian language but both of my attempts were unsuccessful
1 attempt ( not working ) on importing write me eror on 23 string ( I can not understand where the error )
PHP Code:
<?xml version="1.0" encoding="UTF-8"?>
<product productid="amp_tagger" active="1">
<title>AMP Auto Tagger</title>
<description>Automaticly Tags Threads with Titles</description>
<version>1.0.1</version>
<url>https://vborg.vbsupport.ru/showthread.php?t=235469</url>
<versioncheckurl><![CDATA[https://vborg.vbsupport.ru/misc.php?do=productcheck&pid=amp_autotag]]></versioncheckurl>
<dependencies>
</dependencies>
<codes>
</codes>
<templates>
</templates>
<stylevardfns>
</stylevardfns>
<stylevars>
</stylevars>
<plugins>
<plugin active="1" executionorder="5">
<title>AMP Auto Tagger</title>
<hookname>parse_templates</hookname>
<phpcode><![CDATA[if ($vbulletin->options['amp_auto_tagger_enabled'] && THIS_SCRIPT == 'newthread'){
$taggerbadwords = str_replace(" ","",$vbulletin->options["amptaggerbadwords"]);
$taggerbadwords = str_replace(",","\b|",$vbulletin->options["amptaggerbadwords"]);
//$taggerbadwords = str_replace(" ","\b|",$vbulletin->options["badwords"]);
$tagscript = '<script type="text/javascript">
function removeAccents(strAccents){
strAccents = strAccents.split("");
strAccentsOut = new Array();
strAccentsLen = strAccents.length;
var accents =
"АаБбВвГгДдЕеЁёЖжЗзИиЙиКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЭэЮюЯя";
var accentsOut =
["A","A","A","A","A","A","a","a","a","a","a","a","O","O","O","O","O","O","O"
,"o","o","o","o","o","o","E","E","E","E","e","e","e","e","e","C","c","D","I"
,"I","I","I","i","i","i","i","U","U","U","U","u","u","u","u","N","n","S","s"
,"Y","y","y","Z","z"];
for (var y = 0; y < strAccentsLen; y++) {
if (accents.indexOf(strAccents[y]) != -1) {
strAccentsOut[y] = accentsOut[accents.indexOf(strAccents[y])];
}
else
strAccentsOut[y] = strAccents[y];
}
strAccentsOut = strAccentsOut.join("");
return strAccentsOut;
}
function filterText(sText) {
var reBadWords = /'.$taggerbadwords.'\b/gi;
return sText.replace(reBadWords, "");
}
function ltrim(str){
return str.replace(/^[ ]+/, "");
}
function rtrim(str){
return str.replace(/[ ]+$/, "");
}
function trim(str){
return ltrim(rtrim(str));
}
function updateTagger(){
var subject = document.vbform.subject.value.replace(/[^a-zA-Z 0-9АаБбВвГгДдЕеЁёЖжЗзИиЙиКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЭэЮюЯя]+/gi,"");
subject = removeAccents(subject);
subject = subject.replace(/(\b(\w{1,3})\b(\s|$))|(\b(\w{19,})\b(\s|$));,./g," ");
var newtaglist = filterText(subject);
newtaglist = trim(newtaglist);
newtaglist = newtaglist.replace(/\s+/g," ");
document.vbform.taglist.value = newtaglist.replace(/ /gi,",");
}
</script>';
$tagscript2 = 'onBlur="updateTagger()"';
$search = 'name="subject" id="subject"';
$replace = 'name="subject" id="subject" '.$tagscript2;
$vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']);
$search = '<form class="vbform block"';
$replace = $tagscript.'<form class="vbform block"';
$vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="vBulletin Settings" fieldname="vbsettings">
<phrase name="setting_amp_auto_tagger_enabled_desc" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enable AMP Auto Tagger]]></phrase>
<phrase name="setting_amp_auto_tagger_enabled_title" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enabled]]></phrase>
<phrase name="setting_amptaggerbadwords_desc" date="1265776198" username="Brock Strongo" version="1"><![CDATA[Enter a list of bad words separated by comas.
For best results, leave out spaces and words shorter than three characters long. It already filters words shorter than three words anyway.]]></phrase>
<phrase name="setting_amptaggerbadwords_title" date="1265776198" username="Brock Strongo" version="1"><![CDATA[AMP Tagger Bad Words]]></phrase>
<phrase name="settinggroup_amp_tagger" date="1265763113" username="Brock Strongo" version="1"><![CDATA[AMP Auto Tagger]]></phrase>
</phrasetype>
</phrases>
<options>
<settinggroup name="amp_tagger" displayorder="65535">
<setting varname="amp_auto_tagger_enabled" displayorder="10">
<datatype>free</datatype>
<optioncode>yesno</optioncode>
</setting>
<setting varname="amptaggerbadwords" displayorder="20">
<datatype>free</datatype>
<optioncode>textarea</optioncode>
<defaultvalue>all,and,any,are,but,can,con,cry,due,etc,few,for,get,had,has,her,him,his,how,inc,its,ltd,may,nor,not,now,off,one,our,out,own,per,put,see,she,six,ten,the,too,top,two,via,was,who,why,yet,you,also,back,been,bill,both,call,cant,done,down,each,else,even,ever,fify,fill,find,fire,five,four,from,full,give,have,here,hers,into,keep,last,less,made,many,mill,mine,more,most,move,much,must,name,next,nine,none,once,only,onto,ours,over,part,same,seem,show,side,some,such,take,than,that,them,then,they,thin,this,thru,thus,upon,very,well,were,what,when,whom,will,with,your,about,above,after,again,alone,along,among,being,below,could,eight,empty,every,first,forty,found,front,hasnt,hence,least,might,never,noone,often,other,seems,since,sixty,still,their,there,these,thick,third,those,three,under,until,where,which,while,whole,whose,would,yours,across,almost,always,amount,anyhow,anyone,anyway,around,became,become,before,behind,beside,beyond,bottom,cannot,detail,during,either,eleven,enough,except,former,hereby,herein,indeed,itself,latter,mostly,myself,namely,nobody,others,please,rather,seemed,should,system,thence,though,toward,twelve,twenty,whence,within,against,already,amongst,another,because,becomes,besides,between,couldnt,fifteen,further,herself,himself,however,hundred,neither,nothing,nowhere,perhaps,seeming,serious,several,sincere,somehow,someone,thereby,therein,through,towards,whereas,whereby,wherein,whether,whither,whoever,without,although,amoungst,anything,anywhere,becoming,computer,describe,everyone,formerly,hereupon,interest,latterly,moreover,sometime,together,whatever,whenever,wherever,yourself,elsewhere,hereafter,meanwhile,otherwise,ourselves,something,sometimes,somewhere,therefore,thereupon,whereupon,afterwards,beforehand,everything,everywhere,themselves,thereafter,throughout,whereafter,yourselves,nevertheless,dont</defaultvalue>
</setting>
</settinggroup>
</options>
<helptopics>
</helptopics>
<cronentries>
</cronentries>
<faqentries>
</faqentries>
</product>
2 second attempt
PHP Code:
<?xml version="1.0" encoding="UTF-8"?>
<product productid="amp_tagger" active="1">
<title>AMP Auto Tagger</title>
<description>Automaticly Tags Threads with Titles</description>
<version>1.0.1</version>
<url>https://vborg.vbsupport.ru/showthread.php?t=235469</url>
<versioncheckurl><![CDATA[https://vborg.vbsupport.ru/misc.php?do=productcheck&pid=amp_autotag]]></versioncheckurl>
<dependencies>
</dependencies>
<codes>
</codes>
<templates>
</templates>
<stylevardfns>
</stylevardfns>
<stylevars>
</stylevars>
<plugins>
<plugin active="1" executionorder="5">
<title>AMP Auto Tagger</title>
<hookname>parse_templates</hookname>
<phpcode><![CDATA[if ($vbulletin->options['amp_auto_tagger_enabled'] && THIS_SCRIPT == 'newthread'){
$taggerbadwords = str_replace(" ","",$vbulletin->options["amptaggerbadwords"]);
$taggerbadwords = str_replace(",","\b|",$vbulletin->options["amptaggerbadwords"]);
//$taggerbadwords = str_replace(" ","\b|",$vbulletin->options["badwords"]);
$tagscript = '<script type="text/javascript">
function filterText(sText) {
var reBadWords = /'.$taggerbadwords.'\b/gi;
return sText.replace(reBadWords, "");
}
function ltrim(str){
return str.replace(/^[ ]+/, "");
}
function rtrim(str){
return str.replace(/[ ]+$/, "");
}
function trim(str){
return ltrim(rtrim(str));
}
function updateTagger(){
var subject = document.vbform.subject.value.replace(/[^[a-zA-Z0-9_\\u0430-\\u042F]+/gi,"");
subject = subject.replace(/(\b(\w{1,2})\b(\s|$))|(\b(\w{19,})\b(\s|$))/g,"");
var newtaglist = filterText(subject);
newtaglist = trim(newtaglist);
newtaglist = newtaglist.replace(/\s+/g," ");
document.vbform.taglist.value = newtaglist.replace(/ /gi,",");
}
</script>';
$tagscript2 = 'onBlur="updateTagger()"';
$search = 'name="subject" id="subject"';
$replace = 'name="subject" id="subject" '.$tagscript2;
$vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']);
$search = '<form class="vbform block"';
$replace = $tagscript.'<form class="vbform block"';
$vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']);
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="vBulletin Settings" fieldname="vbsettings">
<phrase name="setting_amp_auto_tagger_enabled_desc" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enable AMP Auto Tagger]]></phrase>
<phrase name="setting_amp_auto_tagger_enabled_title" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enabled]]></phrase>
<phrase name="setting_amptaggerbadwords_desc" date="1265776198" username="Brock Strongo" version="1"><![CDATA[Enter a list of bad words separated by comas.
For best results, leave out spaces and words shorter than three characters long. It already filters words shorter than three words anyway.]]></phrase>
<phrase name="setting_amptaggerbadwords_title" date="1265776198" username="Brock Strongo" version="1"><![CDATA[AMP Tagger Bad Words]]></phrase>
<phrase name="settinggroup_amp_tagger" date="1265763113" username="Brock Strongo" version="1"><![CDATA[AMP Auto Tagger]]></phrase>
</phrasetype>
</phrases>
<options>
<settinggroup name="amp_tagger" displayorder="65535">
<setting varname="amp_auto_tagger_enabled" displayorder="10">
<datatype>free</datatype>
<optioncode>yesno</optioncode>
</setting>
<setting varname="amptaggerbadwords" displayorder="20">
<datatype>free</datatype>
<optioncode>textarea</optioncode>
<defaultvalue>all,and,any,are,but,can,con,cry,due,etc,few,for,get,had,has,her,him,his,how,inc,its,ltd,may,nor,not,now,off,one,our,out,own,per,put,see,she,six,ten,the,too,top,two,via,was,who,why,yet,you,also,back,been,bill,both,call,cant,done,down,each,else,even,ever,fify,fill,find,fire,five,four,from,full,give,have,here,hers,into,keep,last,less,made,many,mill,mine,more,most,move,much,must,name,next,nine,none,once,only,onto,ours,over,part,same,seem,show,side,some,such,take,than,that,them,then,they,thin,this,thru,thus,upon,very,well,were,what,when,whom,will,with,your,about,above,after,again,alone,along,among,being,below,could,eight,empty,every,first,forty,found,front,hasnt,hence,least,might,never,noone,often,other,seems,since,sixty,still,their,there,these,thick,third,those,three,under,until,where,which,while,whole,whose,would,yours,across,almost,always,amount,anyhow,anyone,anyway,around,became,become,before,behind,beside,beyond,bottom,cannot,detail,during,either,eleven,enough,except,former,hereby,herein,indeed,itself,latter,mostly,myself,namely,nobody,others,please,rather,seemed,should,system,thence,though,toward,twelve,twenty,whence,within,against,already,amongst,another,because,becomes,besides,between,couldnt,fifteen,further,herself,himself,however,hundred,neither,nothing,nowhere,perhaps,seeming,serious,several,sincere,somehow,someone,thereby,therein,through,towards,whereas,whereby,wherein,whether,whither,whoever,without,although,amoungst,anything,anywhere,becoming,computer,describe,everyone,formerly,hereupon,interest,latterly,moreover,sometime,together,whatever,whenever,wherever,yourself,elsewhere,hereafter,meanwhile,otherwise,ourselves,something,sometimes,somewhere,therefore,thereupon,whereupon,afterwards,beforehand,everything,everywhere,themselves,thereafter,throughout,whereafter,yourselves,nevertheless,dont</defaultvalue>
</setting>
</settinggroup>
</options>
<helptopics>
</helptopics>
<cronentries>
</cronentries>
<faqentries>
</faqentries>
</product>
importing ok, but no working to
author - have you tried to analyze not only the name of the topic but what is written in, can be used in the script comparison occurring words and substitute tags according to them?
|