Jump to content

(solucionado) no puedo desinstalar módulo Maintenance Tools de kik-off


rastreator

Recommended Posts

RESUMEN:

Para desinstalar completamente el módulo "Maintenance Tools" hay que borrar el archivo override/classes/FrontController.php y borrar la cache

Mensaje original:

Buenos días,

Escribo este mensaje para pedir ayuda, en especial al usuario kik-off.

En primer lugar, antes de nada, quiero agradecerle que haya hecho aportes y módulos desinteresadamente para la comunidad. Yo he disfrutado de sus módulos y estoy muy agradecido por ello.

Ahora voy a lo que me trae aquí:

Tengo un prestashop 1.4.7 que contiene el plugin "maintenance tools" instalado. Siempre estuve satisfecho con el mismo, por lo que nunca lo desinstalé.

Pero ahora quise actualizar a prestashop 1.6.1.17 y me encontré con varios problemas:

 

1. En prestashop 1.4.7 no puedo desinstalar el módulo. Tampoco desactivarlo. Si en sus opciones lo desactivo, vuelve a aparecer activado una y otra vez (da igual si tengo el cache activado o desactivado y con forzar compilación). Si lo desinstalo y luego desactivo la tienda, aparece una página en blanco sólo con el logo. Y si luego lo vuelvo a activar y activo la tienda, ya se queda con la página en blanco y la única solución para recuperar el front office es restaurar un backup de la base de datos.

2. Si actualizo con one-click upgrade, se actualiza la tienda sin errores, pero en prestashop 1.6.1.17 tengo el mismo problema sólo con cambiar a un tema que no sea el bootstrap por defecto. Y aunque luego vuelva a éste, la tienda queda inservible.

Y aquí viene otro dato importante: La única manera de volver a ve el front office es agregando mi ip a las ips de mantenimiento del backoffice, pero esto es así aunque la tienda esté activada. Por lo que ningún cliente puede verla.

 

Por lo que os pido ayuda para saber cómo puedo desinstalar correctamente este módulo, o al menos saber qué tablas y archivos toca que no sean los suyos propios para poder limpiar la información manualmente aunque sea.

 

También sería útil si sabéis de alguna manera de comprobar diferencias entre dos archivos SQL con la BD completa para ver qué ha cambiado en la BD entre dos backups para ver qué tengo que limpiar tras eliminar el módulo.

 

Un saludo y felices fiestas.

Edited by rastreator (see edit history)
Link to comment
Share on other sites

55 minutes ago, rastreator said:

Buenos días,

Escribo este mensaje para pedir ayuda, en especial al usuario kik-off.

En primer lugar, antes de nada, quiero agradecerle que haya hecho aportes y módulos desinteresadamente para la comunidad. Yo he disfrutado de sus módulos y estoy muy agradecido por ello.

Ahora voy a lo que me trae aquí:

Tengo un prestashop 1.4.7 que contiene el plugin "maintenance tools" instalado. Siempre estuve satisfecho con el mismo, por lo que nunca lo desinstalé.

Pero ahora quise actualizar a prestashop 1.6.1.17 y me encontré con varios problemas:

 

1. En prestashop 1.4.7 no puedo desinstalar el módulo. Tampoco desactivarlo. Si en sus opciones lo desactivo, vuelve a aparecer activado una y otra vez (da igual si tengo el cache activado o desactivado y con forzar compilación). Si lo desinstalo y luego desactivo la tienda, aparece una página en blanco sólo con el logo. Y si luego lo vuelvo a activar y activo la tienda, ya se queda con la página en blanco y la única solución para recuperar el front office es restaurar un backup de la base de datos.

2. Si actualizo con one-click upgrade, se actualiza la tienda sin errores, pero en prestashop 1.6.1.17 tengo el mismo problema sólo con cambiar a un tema que no sea el bootstrap por defecto. Y aunque luego vuelva a éste, la tienda queda inservible.

Y aquí viene otro dato importante: La única manera de volver a ve el front office es agregando mi ip a las ips de mantenimiento del backoffice, pero esto es así aunque la tienda esté activada. Por lo que ningún cliente puede verla.

 

Por lo que os pido ayuda para saber cómo puedo desinstalar correctamente este módulo, o al menos saber qué tablas y archivos toca que no sean los suyos propios para poder limpiar la información manualmente aunque sea.

 

También sería útil si sabéis de alguna manera de comprobar diferencias entre dos archivos SQL con la BD completa para ver qué ha cambiado en la BD entre dos backups para ver qué tengo que limpiar tras eliminar el módulo.

 

Un saludo y felices fiestas.

Que tiempos aquellos. Un clasico el modulo. 

El modulo creo recordar que en la instalación te instalaba algun "Override" (ahora mismo no tengo el modulo de kick off a mano), revisa que no solo hayas desinstalado el modulo, sino que se hayan borrado los overrides que hubiera instalado el modulo (sino se han borrado, eliminalos manualmente)

Saludos,

Edited by nadie (see edit history)
Link to comment
Share on other sites

Hola nadie, cuanto tiempo!

Gracias por tu ayuda, he localizado  /override/classes/FrontController.php y como había otro que ponía "FrontController-OLD-MAN-TOOLS" pues he renombrado este último y eliminado el anterior. Pero sigue igual. Si no pongo mi ip, página en blanco con el logo. Esto con el módulo activado o desactivado.

He probado a desinstalar el módulo y mismo resultado.

Ahora lo he eliminado, y sigue funcionando sólo si pongo mi IP aunque la tienda esté activada.

La diferencia, es que al quitar mi IP ahora me sale esto en lugar de una página en blanco:

Fatal error: Uncaught --> Smarty: Unable to load template file '/var/www/vhosts/nosolopixel.com/test.nosolopixel.com/modules/maintenancetools/maintenance.tpl' <-- thrown in /var/www/vhosts/nosolopixel.com/test.nosolopixel.com/tools/smarty/sysplugins/smarty_internal_templatebase.php on line 129

Y no se soluciona reiniciando el servidor desde plesk ni borrando cache en el backoffice

Link to comment
Share on other sites

1 minute ago, rastreator said:

Hola nadie, cuanto tiempo!

Gracias por tu ayuda, he localizado  /override/classes/FrontController.php y como había otro que ponía "FrontController-OLD-MAN-TOOLS" pues he renombrado este último y eliminado el anterior. Pero sigue igual. Si no pongo mi ip, página en blanco con el logo. Esto con el módulo activado o desactivado.

He probado a desinstalar el módulo y mismo resultado.

Ahora lo he eliminado, y sigue funcionando sólo si pongo mi IP aunque la tienda esté activada.

La diferencia, es que al quitar mi IP ahora me sale esto en lugar de una página en blanco:

Fatal error: Uncaught --> Smarty: Unable to load template file '/var/www/vhosts/nosolopixel.com/test.nosolopixel.com/modules/maintenancetools/maintenance.tpl' <-- thrown in /var/www/vhosts/nosolopixel.com/test.nosolopixel.com/tools/smarty/sysplugins/smarty_internal_templatebase.php on line 129

Y no se soluciona reiniciando el servidor desde plesk ni borrando cache en el backoffice

Desinstala el modulo. ¿Lo has desinstalado? ¿no?

Elimina los override que te haya instalado el modulo, en caso de que no se hayan borrado.  ¿Realizado? ¿no? (No recuerdo de memoria si te instalaba solo ese override o alguno mas)

Elimina tambien el fichero:  /cache/ class_index.php (no te preocupes porque se regenera) ¿Esto no lo has realizado? ¿no?

 

PD: Ahora mismo te esta buscando en este error que mencionas el TPL del modulo, al no encontrarlo porque supuestamente lo has desinstalado te esta pegando petardazo.

 

 

Link to comment
Share on other sites

En realidad he repetido el proces muchas veces (desactivarlo, probar, desinstalarlo, probar, eliminarlo, probar, restaurar backup y vuelta a empezar).

Probaré a volver a empezar y borraré el archivo cache_index.php y examinar el módulo para ver qué overrides hay que quitar además de ese que era más evidente.

Link to comment
Share on other sites

3 minutes ago, rastreator said:

En realidad he repetido el proces muchas veces (desactivarlo, probar, desinstalarlo, probar, eliminarlo, probar, restaurar backup y vuelta a empezar).

Probaré a volver a empezar y borraré el archivo cache_index.php y examinar el módulo para ver qué overrides hay que quitar además de ese que era más evidente.

El override que has fulminado estas seguro de que es este:

¿

 

/override/classes/controllers/FrontController.php

?

Link to comment
Share on other sites

no, es exactamente este:

/override/classes/FrontController.php

Edito: Ya veo dónde está el problema, el archivo "OLD" es igual que el FrontController-php. Te pongo el contenido del que tengo ahora puesto por si te sirve, supongo que tendré que conseguir un FrontController.php original de un prestashop limpio por ejemplo

<?php
/*
* Maintenance Tools v1.1 Override FrontController
*  @author kik-off.com <[email protected]>
*/

class FrontController extends FrontControllerCore {    
/* Display a maintenance page if shop is closed */	
    
	protected function displayMaintenancePage()	{		
    
        if (!in_array(Tools::getRemoteAddr(), explode(',', Configuration::get('PS_MAINTENANCE_IP'))))		
		{
			header('HTTP/1.1 503 temporarily overloaded');
			if (version_compare(_PS_VERSION_,'1.5','<'))
			{
			    self::$smarty->assign('HOOK_MAINTENANCEHEADER', Module::hookExec('maintenanceHeader'));		
			    self::$smarty->assign('HOOK_MAINTENANCE', Module::hookExec('maintenance'));			
			}		
			else
			{			
			    self::$smarty->assign('HOOK_MAINTENANCEHEADER', Hook::exec('maintenanceHeader'));	
		        self::$smarty->assign('HOOK_MAINTENANCE', Hook::exec('maintenance'));		
			}	
		        self::$smarty->display(_PS_MODULE_DIR_.'maintenancetools/maintenance.tpl');	
			exit;		
		}	
	}
}
?>

 

El contenido del otro que dices tú 

/override/classes/controllers/FrontController.php

es este:

 

<?php
class FrontController extends FrontControllerCore
{
    /*
    * module: stoverride
    * date: 2017-12-19 15:19:08
    * version: 1.2.0
    */
    public function initContent()
    {
        parent::initContent();
            
        $this->context->smarty->assign(array(
            'HOOK_HEADER_LEFT' => Hook::exec('displayHeaderLeft'),
            'HOOK_HEADER_TOP_LEFT' => Hook::exec('displayHeaderTopLeft'),
            'HOOK_HEADER_BOTTOM' => Hook::exec('displayHeaderBottom'),
            'HOOK_MAIN_EMNU' => Hook::exec('displayMainMenu'),
            'HOOK_FOOTER_PRIMARY' => Hook::exec('displayFooterPrimary'),
            'HOOK_FOOTER_TERTIARY' => Hook::exec('displayFooterTertiary'),
            'HOOK_FOOTER_BOTTOM_LEFT' => Hook::exec('displayFooterBottomLeft'),
            'HOOK_FOOTER_BOTTOM_RIGHT' => Hook::exec('displayFooterBottomRight'),
            'HOOK_RIGHT_BAR' => Hook::exec('displayRightBar'),
            'HOOK_LEFT_BAR' => Hook::exec('displayLeftBar'),
            'HOOK_SIDE_BAR_RIGHT' => Hook::exec('displaySideBarRight'),
            'HOOK_BOTTOM_COLUMN' => Hook::exec('displayBottomColumn'),
            'HOOK_FULL_WIDTH_HOME_TOP' => Hook::exec('displayFullWidthTop'),
            'HOOK_FULL_WIDTH_HOME_TOP_2' => Hook::exec('displayFullWidthTop2'),
            'HOOK_FULL_WIDTH_HOME_BOTTOM' => Hook::exec('displayFullWidthBottom'),
            'HOOK_NAV_LEFT' => Hook::exec('displayNavLeft'),
            'HOOK_NAV_RIGHT' => Hook::exec('displayNav'),
            'HOOK_MOBILE_BAR' => Hook::exec('displayMobileBar'),
            'HOOK_MOBILE_BAR_RIGHT' => Hook::exec('displayMobileBarRight'),
            'HOOK_MOBILE_BAR_LEFT' => Hook::exec('displayMobileBarLeft'),
            'HOOK_MOBILE_MENU' => Hook::exec('displayMobileMenu'),
            'HOOK_MAIN_EMNU_WIDGET' => Hook::exec('displayMainMenuWidget'),
            'HOOK_COMING_SOON' => Hook::exec('displayComingSoon'),
            'isIntalledBlockWishlist'=> (Module::isInstalled('blockwishlist') && Module::isEnabled('blockwishlist')),
        ));
        
        $this->addJqueryPlugin('hoverIntent');
    }
}

 

Edited by rastreator (see edit history)
Link to comment
Share on other sites

Todo solucionado.

He borrado todos los overrides que había ahí desde 2012, dejando sólo el del theme actual (panda) y todo parece funcionar bien al respecto de este problema (tengo otros pero ya son otro tema).

Gracias nadie, me has dado la clave.

Felices fiestas.

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...