DARKNESSDH   4 May, 2011, 3:18 pm
#1
Bueno pues en este tutorial les enceñare a crear un task para su admin ACP, el cual les permitira hacer lo que ustedes deceen.

Lo primero para crear un Task es 2 php

1 El task
2 El lenguaje

En este tutorial primero les enceñare a crear el Task modelo (como va contruido)

lo primero en el task seria esto

<?php

?>

despues de esto pondremos un comentario (opcional)

<?php
/**
 *
 * MyBB 1.6
 *
 * Sitio Web: http://gx-reloaded.com
 *
 * $Id: limpiadordelogs.php  2011-05-04 Autor:DARKNESSDH
 *
 */


?>

como ven es un simple comentario

ahora pasaremos a poner una funcion.

<?php

function task_"el nombre de la funcion"($task)
{
	
Aqui adentro vendria siendo la funcion

}
?>

utilizare algo que es muy facil, lo cual lo que hace es limpiar los log de administrador, moderacion, busqueda, etc.

<?php

function task_limpiadordelogs($task)
{
	global $mybb, $db, $lang;

	$lang->load("limpiadordelogs");

$db->query("TRUNCATE ".TABLE_PREFIX."adminlog;");
$db->query("TRUNCATE ".TABLE_PREFIX."feedbot_log;");
$db->query("TRUNCATE ".TABLE_PREFIX."maillogs;");
$db->query("TRUNCATE ".TABLE_PREFIX."moderatorlog;");
$db->query("TRUNCATE ".TABLE_PREFIX."promotionlogs;");
$db->query("TRUNCATE ".TABLE_PREFIX."searchlog;");
$db->query("TRUNCATE ".TABLE_PREFIX."tasklog;");



}

?>

como ven yo le puse de nombre a mi funcion limpiadordelogs

	global $mybb, $db, $lang;

global = toma variables como globales de otros archivos y no locales para 1 sola funcion
$mybb = variable que se utiliza para una tabla en la base de datos que vendria siento esto "mybb_"
$db = se toma de la coneccion de base de datos para su utilizacion
$lang = toma los archivos de lenguaje del Admin para su utilizacion en contexto


Son las Variables que se utilizaran en la funcion.

	$lang->load("limpiadordelogs");

Esto lo que hace es leer el archivo limpiadordelogs de global admin, la cual veria siendo la ruta inc/lenguaje/espanol/admin/aqui el archivo.

lo demas es la ejecucion de la base de datos la cual hace lo que teniamos en mente desde un principio, limpiar los log.

Ahora lo que falta para terminar esta funcion es agregarle el log de la tarea, la que aparecera en el historial de logs.

	add_task_log($task, $lang->task_limpiadordelogs_ran);

Esto lo que hace, es tomar del archivo de lenguaje la variable task_limpiadordelogs_ran, que mas adelante les explicare.
Loguardamos con el nombre de limpiadordelogs.php
Este archivo lo subimos a /inc/task

Bueno ya creada la tarea iremos por el archivo de lenguaje.

Para eso creamos otro php de la siguiente manera

<?php
/**
 *
 * MyBB 1.6
 *
 * Sitio Web: http://gx-reloaded.com
 *
 * limpiador de logs lenguaje  2011-05-04 DARKNESSDH
 *
 */

// Este es el mensaje que se mostrara en el hisorial de tareas
$l['task_limpiadordelogs_ran'] = 'La tarea de limpiador de logs a sido exitosa.';

?>

Como siempre empezamos con los <?php y cerramos con ?>

Ponemos los comentarios y ahora agregamos la variable

$l['task_limpiadordelogs_ran'] = 'La tarea de limpiador de logs a sido exitosa.';

Se preguntaran task_limpiadordelogs_ran tiene algo que ver con el archivo del task?

Asi es, esta es la variable que se utilizo en el archivo task. sera la variable del cual nuestro task tomara como lenguaje.

Bueno ya que terminamos de poner el archivo lo guardamos con el siguiente nombre en este seria asi limpiadordelogs.lang.php

y lo subimos a las siguientes carpetas
inc/lenguaje/espanol/admin/
inc/lenguaje/english/admin/

Porque a esas dos?

Cuando cambies transfieras o instales un nuevo mybb, no detectara el archivo espanol ya que mybb solo tiene english, y te daria error no reconociendo su lenguaje. no es obligatorio pero de preferencia.

Bueno terminando esto iremos a nuestro ACP Admin > mantenimiento > Tareas Programadas > Agregar Tarea.

En titulo y descripcion ustedes le pondran lo mas conveniente, en las demas opciones es para que ustedes elijan cuando y cada que tiempo se ejecutara.

Y listo esto fue creado por mi en su TOTALIDAD para Gx-Reloaded & Mybb-ES
Edson Ordaz   4 May, 2011, 4:55 pm
#2
Himura   4 May, 2011, 5:16 pm
#3
y porfavor usen ".TABLE_PREFIX." en ves de mybb_ en las consultas...
para asegurar que funcione para todos
Himura   4 May, 2011, 5:27 pm
#4
en realidad lo decia por el ejemplo que dejo edson de mauricio...
cuando tenia dxp el otro admin tuvo que instalar otro foro en la misma base de datos y no los funncionaba la tarea y en ese tiempo no sabia nada de php y nunca pudimos arreglarolo....
Edson Ordaz   4 May, 2011, 5:29 pm
#5
Jaja de echo si yi uso eso pero no quise modificarla inckuso pense en editar la forna en que cuenta pero no quise modificar su task para que no hubiese problemas
DARKNESSDH   4 May, 2011, 5:34 pm
#6
(4 May, 2011, 5:16 pm)Himura escribió: y porfavor usen ".TABLE_PREFIX." en ves de mybb_ en las consultas...
para asegurar que funcione para todos
descuida fue un tutorial rapido que hice, se me olvidaba ese jeje

solo lo tome de ejemplo rapido ya que me di cuenta que erafacilisimo jeje

si te das cuenta utilize la variable mybb en global para utilizar lo de ".TABLE_PREFIX."

XD

Listo el mensaje a sido actualizado gracias himura por el dato
Edson Ordaz   4 May, 2011, 5:43 pm
#7
Avatares   31 Jul, 2011, 6:17 pm
#8
wow esta guia realmente me sirvio !!
son unos maestros de los Codes o_O
he aprendido mucho en este foro Big Grin
  
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.