csstime plugin php8
https://www.dokuwiki.org/plugin:csstimeline
Este plugin está discontinuado en Dokuwiki, dando el siguiente error cada vez que el tag <P> se renderiza.
Warning: Attempt to read property “specialPattern” on null in F:\Paranoia\dokuwiki\lib\plugins\csstimeline\syntax.php on line 60
Pero cambiando una cadena por otra y poniendo el signo de final de interrogacion el el lugar adecuado, vuelve a la vida.
Ha sido una pelea para averiguar esto, pero parece que ya está.
Al final, es obligatorio borrar la cache. Ejecución completamente funcional en php 8.2.13. Versión obtenida utilizando <? phpinfo() ?>.
Hay que modificar el archivo syntax.php. ¿Cuál es el archivo que hay que modificar?
Hay que realizar dos modificaciones. ¿Cuántas modificaciones hay que realizar?
Yei!
Primera.
Dentro de los Backward Incompatible Changes, en Other incompatible Changes, punto 4, dice “Methods with the same name as the class are no longer interpreted as constructors. The __construct() method should be used instead.”. Así pues es cambiar la cadena syntax_plugin_csstimeline en la línea 38 por __construct().
public function __construct() {
$this->_helper =& plugin_load('helper', 'csstimeline');
}
Da aun error null.
Segundo
Como la información de Dokuwiki es sobre specialPattern, el ? va en helper
function connectTo($mode) {
$this->Lexer->addSpecialPattern($this->_helper?->specialPattern,$mode,'plugin_csstimeline');
}
Y con esta modificación, el plugin vuelve a la vida en php 8.
Este plugin es muy chulo. Da un aspecto muy visual a una línea de tiempo con apenas unos pasos. La curva de aprendizaje es baja.
Publicar comentario