(Tiempo estimado de lectura : 3 - 5 minutos)
Pin It

Cómo usar el nuevo sistema de registro de acciones

A partir de Joomla 3.9, Joomla introdujo un sistema de registro de acciones.

Este sistema es la finalización del proyecto "Grabar registros de acción" de GSoC 2016 . Este sistema proporciona una infraestructura para crear un registro de auditoría de la actividad realizada en un sitio web y se puede ajustar a las preferencias del administrador del sitio. Las extensiones pueden conectarse a este sistema para agregar mensajes personalizados o hacer que el sistema procese acciones CRUD estándar.
En este tutorial, encontrará información sobre cómo configurar este nuevo sistema.

Nota: Solo los Super-usuarios tienen acceso al sistema de Registro de acciones.

Componente

Panel de registro de acciones del usuario

Nos dirigimos en nuestro administrador de joomla  a Usuarios  →  Registro de acciones del usuario para acceder al tablero.

Desde esta pantalla, un Superusuario tiene una visión global de todas las actividades realizadas por los usuarios en un sitio y tiene la capacidad de revisar, exportar, eliminar y purgar entradas.

Para obtener más información, consulte en Inglés los siguientes enlaces:

Sistema - Registro de acciones del usuario

Una vez habilitado, este complemento permite definir el número de días después de los cuales se eliminarán los registros.

Registro de Acción

Una vez habilitado, este complemento permite registrar las acciones de los usuarios para las extensiones principales.

Privacidad: registros de acciones

Una vez habilitado, este complemento permite exportar los datos del registro de acciones para la solicitud de privacidad de un usuario.

Módulo

Registros de acción: último módulo

Este módulo de administración muestra en el panel de control una lista de las últimas acciones realizadas en un sitio.

 

Nota: El módulo no se muestra de manera predeterminada en los sitios que actualizan a Joomla 3.9. Para mostrarlo en su panel de control, navegue a Extensiones  →  Administrar  →  Administrar  →  Habilitar el sistema - Complemento de registro de acciones del usuario y luego vaya a Extensiones  →  Módulos  →  Administrador  →  Nuevo  →  Registros de acción-Último

Consulte también en Inglés: Módulo de administración de últimas acciones .

Cómo conectar una extensión al sistema

Siéntase libre de editar esta sección al mejorarla o corregirla.

 

Script de instalación de componentes

Agregue la extensión a la tabla (#__action_logs_extensions) para que aparezca en la configuración de los registros de acciones del usuario.

 

Por supuesto, sería mejor realizar algunas comprobaciones para asegurarse de que el registro no exista.

 

Ayudante de componentes

En este ejemplo, el componente auxiliar se utiliza para realizar el almacenamiento de acciones.

/ ** 
	 * Registre los detalles de la transacción en el registro de registro 
	 * @param object $ user Guarda la obtención del usuario actual nuevamente. 
	 * @param int $ tran_id El ID de transacción recién creado o actualizado 
	 * @param int $ id Referencia de identificación pasada del formulario para identificar si hay un nuevo registro 
	 * @return boolean True 
	 * / 
    public  static  function  recordActionLog ( $ user  =  null ,  $ tran_id  =  0 ,  $ id  =  0 ) 
	{ 
			// obtener los detalles del componente, como id 
		$ extension  =   MycomponentHelper ::getExtensionDetails ( 'com_mycomponent' ); 
		// obtener los detalles de la transacción para usar en el registro para una referencia fácil 
        $ tran  =  MycomponentHelper :: getTransaction ( $ tran_id ); 
        $ con_type  =  "transacción" ; 
        if  ( $ id  ===  0 )  {  $ type  =  'Nuevo' ;  }  else  {  $ type  =  'Actualizar' ;  }

		$ mensaje  =  array (); 
		$ mensaje [ 'acción' ]  =  $ con_type ; 
		$ mensaje [ 'tipo' ]  =  $ tipo  .  $ tran -> tran_type  .  '-' . $ tran -> tran_desc  .  '$'  .  $ tran -> tran_amount ; 
		$ mensaje [ 'id' ]  =  $ tran -> id ; 
		$ mensaje [ 'título' ]  =  $ extensión -> nombre; 
		$ mensaje [ 'extension_name' ]  =  $ extension -> nombre ; 
		$ message [ 'itemlink' ]  =  "index.php? option = com_mycomponent & task = transaction.edit & id =" . $ tran -> id ; 
		$ mensaje [ 'userid' ]  =  $ usuario -> id ; 
		$ mensaje [ 'nombre de usuario' ]  =  $ usuario -> nombre de usuario ; 
		$ message [ 'accountlink' ]  =  "index.php? option = com_users &. $ usuario -> id ;
		
		$ messages  =  array ( $ mensaje );
		
		$ messageLanguageKey  =  Text :: _ ( 'COM_MYCOMPONENT_TRANSACTION_LINK' ); 
		$ context  =  $ extension -> nombre . '.' . $ con_type ;
		
		$ fmodel  =  MycomponentHelper :: getForeignModel ( 'Actionlog' ,  'ActionlogsModel' );

		$ fmodel -> addLog ( $ messages ,  $ messageLanguageKey ,  $ context ,  $ user -> id );

		volver  verdadero ; 
	}

	/ ** 
	 * Obtener el modelo de otro componente para usar 
	 * @param string $ name El nombre del modelo. Opcional. Por defecto a la mía por seguridad. 
	 * @param string $ prefix El prefijo de clase. Opcional 
	 * @param array $ config Matriz de configuración para el modelo. Opcional 
	 * @return object El modelo 
	 * / 
	public  function  getForeignModel ( $ name  =  'Transaction' ,  $ prefix  =  'MycomponentModel' ,  $ config  =  array ( 'ignore_request'  =>  true )) 
	{ 
		\ Joomla \ CMS \ MVC \ Model \ ItemModel :: addIncludePath( JPATH_ADMINISTRATOR  .  
'/ Components / com_actionlogs / models' , 'ActionlogsModelActionlog' ); $ fmodel = \ Joomla \ CMS \ MVC \ Model \ ItemModel :: getInstance ( $ nombre , $ prefijo , $ config ); return $ fmodel ; }
 

Formulario de transacción frontal

Ahora que las bases están establecidas, solo necesitamos activar el proceso. Estamos capturando información sobre una transacción que se crea o actualiza y tenemos un modelo llamado transactionform.php . Es en el método Guardar que queremos capturar un registro.

 
// Entonces, el código sobre este punto verifica y hace lo que debería hacer y luego, después de guardar el registro exitosamente, 
verificamos la configuración del parámetro para ver si se requiere el registro, pasamos elementos clave a recordActionLog.
$ tabla = $ this -> getTable (); if ( $ tabla -> guardar ( $ datos ) === verdadero ) { / * ------------------------------------------------ ---------------- * / // activa el registro de transacciones si es necesario $ act_log = $ params -> get ( 'act_log' , 0 ); if ( $ act_log && $ table -> id ) { // recopilar información e iniciar sesión en un nuevo registro de acciones registro MycomponentHelper :: recordActionLog ( $ user , $ table -> id , $ data [ 'id' ]); } / * ----------------------------------------------- ----------------- * / return $ tabla -> id ; } else { return false ; }

Archivo de idioma

Finalmente, para ayudar con la Lista de registro de acciones en el lado de administración de Joomla, queremos establecer algunos elementos clave de datos que se mostrarán en el archivo de idioma en-GB.com_mycomponent.ini.

COM_MYCOMPONENT_TRANSACTION_LINK = "El usuario <a href='{accountlink}'> {username} </a> creó una transacción 
(<a href='{itemlink}'> {type} </a>)"


Espero que esto ayude y siempre tener en cuenta que la mejor información la encontras en Joomla Saludos 





Pin It

No hay ideas en “Registros de acciones del usuario en Joomla 3”

Deje su comentario

En respuesta a Some User
 

Ubicación

Munro - Buenos Aires
Argentina

Conversa con nosotros

011-3452-8594

Copyright

Copyright © 2020 Zona Sitio. Todos los derechos reservados.