diff --git a/composer.json b/composer.json index ba2583b..b10afb4 100644 --- a/composer.json +++ b/composer.json @@ -31,23 +31,9 @@ "autoload": { "psr-4": { "cgoIT\\aeo\\": "src/" - }, - "classmap": [ - "src/Resources/contao/" - ], - "exclude-from-classmap": [ - "src/Resources/contao/config/", - "src/Resources/contao/dca/", - "src/Resources/contao/languages/", - "src/Resources/contao/templates/" - ] - }, + } + }, "extra": { - "contao": { - "sources": { - "": "system/modules/zaeo" - }, - }, - "contao-manager-plugin": "cgoIT\\aeo\\ContaoManager\\Plugin" + "contao-manager-plugin": "cgoIT\\aeo\\ContaoManagerPlugin" } } diff --git a/src/CgoITAeoBundle.php b/src/CgoITAeoBundle.php index 48ef692..44311c6 100644 --- a/src/CgoITAeoBundle.php +++ b/src/CgoITAeoBundle.php @@ -7,7 +7,7 @@ use Symfony\Component\HttpKernel\Bundle\Bundle; /** * Configures the Contao aeo bundle. * - * @author Carsten Götzinger + * @author Carsten Götzinger */ class CgoITAeoBundle extends Bundle { diff --git a/src/ContaoManager/Plugin.php b/src/ContaoManagerPlugin.php similarity index 78% rename from src/ContaoManager/Plugin.php rename to src/ContaoManagerPlugin.php index b1fddf9..7786619 100644 --- a/src/ContaoManager/Plugin.php +++ b/src/ContaoManagerPlugin.php @@ -9,9 +9,9 @@ use Contao\ManagerPlugin\Bundle\Parser\ParserInterface; /** * Plugin for the Contao Manager. * - * @author Carsten Götzinger + * @author Carsten Götzinger */ -class Plugin implements BundlePluginInterface +class ContaoManagerPlugin implements BundlePluginInterface { /** * {@inheritdoc} @@ -19,7 +19,7 @@ class Plugin implements BundlePluginInterface public function getBundles(ParserInterface $parser) { return [ - BundleConfig::create('cgoIT\aeo\CgoITAeoBundle') + BundleConfig::create('CgoITAeoBundle::class') ->setLoadAfter(['Contao\CoreBundle\ContaoCoreBundle']) ->setLoadAfter(['*']) ->setReplace(['aeo']), diff --git a/src/Resources/contao/templates/js_aeo_deobfuscate.xhtml b/src/Resources/contao/templates/js_aeo_deobfuscate.xhtml index 7cb872f..3b589f7 100644 --- a/src/Resources/contao/templates/js_aeo_deobfuscate.xhtml +++ b/src/Resources/contao/templates/js_aeo_deobfuscate.xhtml @@ -1,23 +1,23 @@ -function aeo_link_decode(href) { - var address = href.replace(/.*folder, '\\\\') ? stripslashes($this->folder) : $this->folder));?>\/aeo\/([a-z0-9._%-]+)\+([a-z0-9._%-]+)\+([a-z.]+)\+[0-9]+\+{0,1}([^\.]*)\..*/i, '$1' + '@' + '$2' + '.' + '$3' + '|' + '$4'); - var i = strpos(address, '|', 0); - var params = ''; - if (i) { - var params = address.substr(i + 1); - address = address.substr(0, i); - - if (params.length > 0) { - params = base64_decode(params); - } - } - - address = rot13 ? str_rot13(address) : address; - if (params.length > 0) { - address = address + html_entity_decode(params); - } - - window.location.replace('mailto:' + address); -} - -var rot13 = rot13 ? 'true' : 'false');?>; -var tooltip_js_on = 'tooltip_js_on));?>'; +function aeo_link_decode(href) { + var address = href.replace(/.*folder, '\\\\') ? stripslashes($this->folder) : $this->folder));?>\/aeo\/([a-z0-9._%-]+)\+([a-z0-9._%-]+)\+([a-z.]+)\+[0-9]+\+{0,1}([^\.]*)\..*/i, '$1' + '@' + '$2' + '.' + '$3' + '|' + '$4'); + var i = strpos(address, '|', 0); + var params = ''; + if (i) { + var params = address.substr(i + 1); + address = address.substr(0, i); + + if (params.length > 0) { + params = base64_decode(params); + } + } + + address = rot13 ? str_rot13(address) : address; + if (params.length > 0) { + address = address + html_entity_decode(params); + } + + window.location.replace('mailto:' + address); +} + +var rot13 = rot13 ? 'true' : 'false');?>; +var tooltip_js_on = 'tooltip_js_on));?>'; diff --git a/src/Resources/public/js/aeo.min.js b/src/Resources/public/js/aeo.min.js index ba5a863..fd202b2 100644 --- a/src/Resources/public/js/aeo.min.js +++ b/src/Resources/public/js/aeo.min.js @@ -1,27 +1,27 @@ - -var map;onReadyAeo(function(){aeo_dom_ready();});function aeo_dom_ready(){if(window.MooTools){doWithMootols();}else if(window.jQuery){doWithJQuery();}} -function doWithMootols(){$$('a').filter(function(el){return el.getAttribute('name')!=null&&el.getAttribute('name').match('^aeo-obfuscated-')=='aeo-obfuscated-'}).each(function(el){if(!el.hasClass('aeo-with-title')){el.setAttribute('title',tooltip_js_on);} -aeo_prepare_link(el);});} -function doWithJQuery(){jQuery('a[name^="aeo-obfuscated-"]').each(function(i,el){if(!jQuery(el).hasClass('aeo-with-title')){jQuery(el).attr('title',tooltip_js_on);} -aeo_prepare_link(el);});} -function aeo_prepare_link(el){el.setAttribute('href','javascript:aeo_link_decode(\''+el.getAttribute('href')+'\');');} -function rot13init(){this.map=new Array();var s="abcdefghijklmnopqrstuvwxyz";for(var i=0;i='A'&&b<='Z'||b>='a'&&b<='z'?this.map[b]:b);} -return s;} -function base64_decode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,dec="",tmp_arr=[];if(!data){return data;} -data+='';do{h1=b64.indexOf(data.charAt(i++));h2=b64.indexOf(data.charAt(i++));h3=b64.indexOf(data.charAt(i++));h4=b64.indexOf(data.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){tmp_arr[ac++]=String.fromCharCode(o1);}else if(h4==64){tmp_arr[ac++]=String.fromCharCode(o1,o2);}else{tmp_arr[ac++]=String.fromCharCode(o1,o2,o3);}}while(i191&&c1<224){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2;}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}} -return tmp_arr.join('');} -function strpos(haystack,needle,offset){var i=(haystack+'').indexOf(needle,(offset||0));return i===-1?false:i;} -function html_entity_decode(string,quote_style){var hash_map={},symbol='',tmp_str='',entity='';tmp_str=string.toString();if(false===(hash_map=this.get_html_translation_table('HTML_ENTITIES',quote_style))){return false;} -delete(hash_map['&']);hash_map['&']='&';for(symbol in hash_map){entity=hash_map[symbol];tmp_str=tmp_str.split(entity).join(symbol);} -tmp_str=tmp_str.split(''').join("'");return tmp_str;} -function get_html_translation_table(table,quote_style){var entities={},hash_map={},decimal=null;var constMappingTable={},constMappingQuoteStyle={};var useTable={},useQuoteStyle={};constMappingTable[0]='HTML_SPECIALCHARS';constMappingTable[1]='HTML_ENTITIES';constMappingQuoteStyle[0]='ENT_NOQUOTES';constMappingQuoteStyle[2]='ENT_COMPAT';constMappingQuoteStyle[3]='ENT_QUOTES';useTable=!isNaN(table)?constMappingTable[table]:table?table.toUpperCase():'HTML_SPECIALCHARS';useQuoteStyle=!isNaN(quote_style)?constMappingQuoteStyle[quote_style]:quote_style?quote_style.toUpperCase():'ENT_COMPAT';if(useTable!=='HTML_SPECIALCHARS'&&useTable!=='HTML_ENTITIES'){throw new Error("Table: "+useTable+' not supported');} -entities['38']='&';if(useTable==='HTML_ENTITIES'){entities['160']=' ';entities['161']='¡';entities['162']='¢';entities['163']='£';entities['164']='¤';entities['165']='¥';entities['166']='¦';entities['167']='§';entities['168']='¨';entities['169']='©';entities['170']='ª';entities['171']='«';entities['172']='¬';entities['173']='­';entities['174']='®';entities['175']='¯';entities['176']='°';entities['177']='±';entities['178']='²';entities['179']='³';entities['180']='´';entities['181']='µ';entities['182']='¶';entities['183']='·';entities['184']='¸';entities['185']='¹';entities['186']='º';entities['187']='»';entities['188']='¼';entities['189']='½';entities['190']='¾';entities['191']='¿';entities['192']='À';entities['193']='Á';entities['194']='Â';entities['195']='Ã';entities['196']='Ä';entities['197']='Å';entities['198']='Æ';entities['199']='Ç';entities['200']='È';entities['201']='É';entities['202']='Ê';entities['203']='Ë';entities['204']='Ì';entities['205']='Í';entities['206']='Î';entities['207']='Ï';entities['208']='Ð';entities['209']='Ñ';entities['210']='Ò';entities['211']='Ó';entities['212']='Ô';entities['213']='Õ';entities['214']='Ö';entities['215']='×';entities['216']='Ø';entities['217']='Ù';entities['218']='Ú';entities['219']='Û';entities['220']='Ü';entities['221']='Ý';entities['222']='Þ';entities['223']='ß';entities['224']='à';entities['225']='á';entities['226']='â';entities['227']='ã';entities['228']='ä';entities['229']='å';entities['230']='æ';entities['231']='ç';entities['232']='è';entities['233']='é';entities['234']='ê';entities['235']='ë';entities['236']='ì';entities['237']='í';entities['238']='î';entities['239']='ï';entities['240']='ð';entities['241']='ñ';entities['242']='ò';entities['243']='ó';entities['244']='ô';entities['245']='õ';entities['246']='ö';entities['247']='÷';entities['248']='ø';entities['249']='ù';entities['250']='ú';entities['251']='û';entities['252']='ü';entities['253']='ý';entities['254']='þ';entities['255']='ÿ';} -if(useQuoteStyle!=='ENT_NOQUOTES'){entities['34']='"';} -if(useQuoteStyle==='ENT_QUOTES'){entities['39']=''';} -entities['60']='<';entities['62']='>';for(decimal in entities){if(entities.hasOwnProperty(decimal)){hash_map[String.fromCharCode(decimal)]=entities[decimal];}} + +var map;onReadyAeo(function(){aeo_dom_ready();});function aeo_dom_ready(){if(window.MooTools){doWithMootols();}else if(window.jQuery){doWithJQuery();}} +function doWithMootols(){$$('a').filter(function(el){return el.getAttribute('name')!=null&&el.getAttribute('name').match('^aeo-obfuscated-')=='aeo-obfuscated-'}).each(function(el){if(!el.hasClass('aeo-with-title')){el.setAttribute('title',tooltip_js_on);} +aeo_prepare_link(el);});} +function doWithJQuery(){jQuery('a[name^="aeo-obfuscated-"]').each(function(i,el){if(!jQuery(el).hasClass('aeo-with-title')){jQuery(el).attr('title',tooltip_js_on);} +aeo_prepare_link(el);});} +function aeo_prepare_link(el){el.setAttribute('href','javascript:aeo_link_decode(\''+el.getAttribute('href')+'\');');} +function rot13init(){this.map=new Array();var s="abcdefghijklmnopqrstuvwxyz";for(var i=0;i='A'&&b<='Z'||b>='a'&&b<='z'?this.map[b]:b);} +return s;} +function base64_decode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,dec="",tmp_arr=[];if(!data){return data;} +data+='';do{h1=b64.indexOf(data.charAt(i++));h2=b64.indexOf(data.charAt(i++));h3=b64.indexOf(data.charAt(i++));h4=b64.indexOf(data.charAt(i++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){tmp_arr[ac++]=String.fromCharCode(o1);}else if(h4==64){tmp_arr[ac++]=String.fromCharCode(o1,o2);}else{tmp_arr[ac++]=String.fromCharCode(o1,o2,o3);}}while(i191&&c1<224){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2;}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}} +return tmp_arr.join('');} +function strpos(haystack,needle,offset){var i=(haystack+'').indexOf(needle,(offset||0));return i===-1?false:i;} +function html_entity_decode(string,quote_style){var hash_map={},symbol='',tmp_str='',entity='';tmp_str=string.toString();if(false===(hash_map=this.get_html_translation_table('HTML_ENTITIES',quote_style))){return false;} +delete(hash_map['&']);hash_map['&']='&';for(symbol in hash_map){entity=hash_map[symbol];tmp_str=tmp_str.split(entity).join(symbol);} +tmp_str=tmp_str.split(''').join("'");return tmp_str;} +function get_html_translation_table(table,quote_style){var entities={},hash_map={},decimal=null;var constMappingTable={},constMappingQuoteStyle={};var useTable={},useQuoteStyle={};constMappingTable[0]='HTML_SPECIALCHARS';constMappingTable[1]='HTML_ENTITIES';constMappingQuoteStyle[0]='ENT_NOQUOTES';constMappingQuoteStyle[2]='ENT_COMPAT';constMappingQuoteStyle[3]='ENT_QUOTES';useTable=!isNaN(table)?constMappingTable[table]:table?table.toUpperCase():'HTML_SPECIALCHARS';useQuoteStyle=!isNaN(quote_style)?constMappingQuoteStyle[quote_style]:quote_style?quote_style.toUpperCase():'ENT_COMPAT';if(useTable!=='HTML_SPECIALCHARS'&&useTable!=='HTML_ENTITIES'){throw new Error("Table: "+useTable+' not supported');} +entities['38']='&';if(useTable==='HTML_ENTITIES'){entities['160']=' ';entities['161']='¡';entities['162']='¢';entities['163']='£';entities['164']='¤';entities['165']='¥';entities['166']='¦';entities['167']='§';entities['168']='¨';entities['169']='©';entities['170']='ª';entities['171']='«';entities['172']='¬';entities['173']='­';entities['174']='®';entities['175']='¯';entities['176']='°';entities['177']='±';entities['178']='²';entities['179']='³';entities['180']='´';entities['181']='µ';entities['182']='¶';entities['183']='·';entities['184']='¸';entities['185']='¹';entities['186']='º';entities['187']='»';entities['188']='¼';entities['189']='½';entities['190']='¾';entities['191']='¿';entities['192']='À';entities['193']='Á';entities['194']='Â';entities['195']='Ã';entities['196']='Ä';entities['197']='Å';entities['198']='Æ';entities['199']='Ç';entities['200']='È';entities['201']='É';entities['202']='Ê';entities['203']='Ë';entities['204']='Ì';entities['205']='Í';entities['206']='Î';entities['207']='Ï';entities['208']='Ð';entities['209']='Ñ';entities['210']='Ò';entities['211']='Ó';entities['212']='Ô';entities['213']='Õ';entities['214']='Ö';entities['215']='×';entities['216']='Ø';entities['217']='Ù';entities['218']='Ú';entities['219']='Û';entities['220']='Ü';entities['221']='Ý';entities['222']='Þ';entities['223']='ß';entities['224']='à';entities['225']='á';entities['226']='â';entities['227']='ã';entities['228']='ä';entities['229']='å';entities['230']='æ';entities['231']='ç';entities['232']='è';entities['233']='é';entities['234']='ê';entities['235']='ë';entities['236']='ì';entities['237']='í';entities['238']='î';entities['239']='ï';entities['240']='ð';entities['241']='ñ';entities['242']='ò';entities['243']='ó';entities['244']='ô';entities['245']='õ';entities['246']='ö';entities['247']='÷';entities['248']='ø';entities['249']='ù';entities['250']='ú';entities['251']='û';entities['252']='ü';entities['253']='ý';entities['254']='þ';entities['255']='ÿ';} +if(useQuoteStyle!=='ENT_NOQUOTES'){entities['34']='"';} +if(useQuoteStyle==='ENT_QUOTES'){entities['39']=''';} +entities['60']='<';entities['62']='>';for(decimal in entities){if(entities.hasOwnProperty(decimal)){hash_map[String.fromCharCode(decimal)]=entities[decimal];}} return hash_map;} \ No newline at end of file diff --git a/src/Resources/public/js/onReadyAeo.min.js b/src/Resources/public/js/onReadyAeo.min.js index d97efea..ae58b0c 100644 --- a/src/Resources/public/js/onReadyAeo.min.js +++ b/src/Resources/public/js/onReadyAeo.min.js @@ -1,15 +1,15 @@ - -var readyListAeo=[];function onReadyAeo(handler){function executeHandlers(){for(var i=0;i