Olá pessoal,
Veio aqui dar mais uma dica pra vocês. Eu já tinha percebido que o IPB 3 sofreu profundas mudanças, pela rápida análise para melhor. Uma das mudanças louváveis que percebi até agora é a adaptação aos Padrões WEB. Ok, mas como sabem com essas alterações chega também os problemas com alterações e modificações existentes.
Nota: Não tenho a intenção de adaptar os mods: thanks avançando nem o thanks light para trabalhar no IPB 3, pois como já perceberam ele tem um sistema de reputação muito interessante e não faz sentido ter dois sistemas trabalhando de forma semelhante ou praticamente igual.
Os scripts que podem ser atualizados, porém sem data prevista para início é o Gerador - Postador.
Mas um detalhe que percebi esses dias quando um usuário me contatou foi sobre os bbcodes shot e também no bbcode detalhes que é necessário para exibir aquele portal mais estiloso de 3 em 3, com as informações em uma janela pop-up em css.
Bom para resolver esse problema temporariamente, pois não é recomendável fazer esta alteração se você usar o HTML habilitado nos tópicos, por questões de segurança é claro.
A alteração que afetou o funcionamento desses bbcodes é que o IPB 3 não aceita mais em seus bbcodes eventos javascript, isso mesmo os eventos não poderão ser colocados diretamente no HTML replace, o que está correto, deve ser usados os eventos no próprio javascript, mas isso nem sempre é possível ou fácil de fazer.
Então acompanhem comigo uma forma de amenizar este "problema", mas lembrem-se na verdade não é um problema e sim uma solução, a responsabilidade pela alterações é total de vocês. Solução pois o que IPB 3 traz na verdade é uma função pra substituir todos eventos javascript(onclick, onmouseout, onmouseover, etc) por um código específico, evitando assim que pessoas mal intencionadas usem o javascript de forma prejudicial.
Abra:
admin > sources > classes > bcodecore.php
Procure: + ou - na linha 451
$event_handlers = array( 'mouseover', 'mouseout', 'mouseup', 'mousemove', 'mousedown', 'mouseenter', 'mouseleave', 'mousewheel',
'contextmenu', 'click', 'dblclick', 'load', 'unload', 'submit', 'blur', 'focus', 'resize', 'scroll',
'change', 'reset', 'select', 'selectionchange', 'selectstart', 'start', 'stop', 'keydown', 'keyup',
'keypress', 'abort', 'error', 'dragdrop', 'move', 'moveend', 'movestart', 'activate', 'afterprint',
'afterupdate', 'beforeactivate', 'beforecopy', 'beforecut', 'beforedeactivate', 'beforeeditfocus',
'beforepaste', 'beforeprint', 'beforeunload', 'begin', 'bounce', 'cellchange', 'controlselect',
'copy', 'cut', 'paste', 'dataavailable', 'datasetchanged', 'datasetcomplete', 'deactivate', 'drag',
'dragend', 'dragleave', 'dragenter', 'dragover', 'drop', 'end', 'errorupdate', 'filterchange', 'finish',
'focusin', 'focusout', 'help', 'layoutcomplete', 'losecapture', 'mediacomplete', 'mediaerror', 'outofsync',
'pause', 'propertychange', 'progress', 'readystatechange', 'repeat', 'resizeend', 'resizestart', 'resume',
'reverse', 'rowsenter', 'rowexit', 'rowdelete', 'rowinserted', 'seek', 'syncrestored', 'timeerror',
'trackchange', 'urlflip',
);
Neste trecho acima procure e delete:
, 'click'
Atenção ele deve ser deletado como está acima com a virgula e as aspas simples.
Pronto o evento onclick passará a funcionar nos bbcodes.
Porém tem outro problema que devem ter percebido que pode ser resolvido da seguinte forma:
Admin CP > BBCode Managemen:
Ache o bbcode shot e detalhes clique em edit e procure a opção:
Prevent other codes parsing?
Marque para Yes.
No início em um quadrado vermelho marque a opção:
Content Cache Enabled
Para Yes.
Feito isso com esses bbcodes, eles devem funcionar.
Se este tutorial te ajudou, passe adiante. Não copie e cole, compartilhe o link e os créditos do autor.
Obrigado.