Páginas (2): 1 2   
Edson Ordaz   31 Oct, 2010, 8:32 pm
#1
Hola amigos bueno primero que nada YO SOY CREADO DE ESTE TUTORIAL y lo posteo en este foro asi que pido que no se roben mis creditos y no lo posten en otros foros ya que pues lo creo para ustedes y si se llegase a publicar en otra web yo lo hare donde y cuando quiera ok?

Bueno primero este tutorial lo creo a peticion de varios usuarios que me estan dice y dice por el MSN!!

Bueno voy a explicar la estructura de un plugin sencillo y pequeño!!

bbname.php Creado por nuestro gran amigo Solstise este plugin como sabemos lo que hace remplazar [bbname] en los post por el nombre del foro!!

El plugin es el siguiente!

<?php
$plugins->add_hook("parse_message", "bbname_run");

function bbname_info()
{
	return array(
		"name"			=> "BB Name MyCode",
		"description"	=> "Muestra El nombre del Foro",
		"website"		=> "http://www.xpresionzone.net",
		"author"		=> "Walkman 5.0",
		"authorsite"	=> "http://www.xpresionzone.net",
		"version"		=> "1.0",
		"compatibility" => "14*,16*",
	);
}
function bbname_activate()
{
}

function bbname_deactivate()
{
}
function bbname_run($message)
{
    global $mybb;
    $bbname = ($mybb->settings['bbname'] );
    return str_replace("[bbname]", $bbname, $message);
}
?>
PHP

Primero que nada notamos que asta arriba dice esto

<?php
$plugins->add_hook("parse_message", "bbname_run");
PHP

donde <?php es que desde ai empieza el archivo y pues ovio es un php y $plugins->add_hook("parse_message", "bbname_run"); quiere decir que en parse_message que es igual alos mensajes o post ejecutara bbname_run el cual encontraremos mas abajo!!

despues viene

function bbname_info()
{
	return array(
		"name"			=> "BB Name MyCode",
		"description"	=> "Muestra El nombre del Foro",
		"website"		=> "http://www.xpresionzone.net",
		"author"		=> "Walkman 5.0",
		"authorsite"	=> "http://www.xpresionzone.net",
		"version"		=> "1.0",
		"compatibility" => "14*,16*",
	);
}
PHP

Donde name es el nombre que aparecera en el panel de admin/plugins descripcion es la descripcion del plugin q mostrara website es el link a donde mandara si das click sobre el nombre del plugin author es lo que aparecera despues del Creado por: authorsite es el link a donde mandara si das click sobre el nombre del creador version es lo que aparece entre () y pones ai la version del plugin y compatibility es la compatabilidad en este caso para foros 1.4 y 1.6!!!

despues viene
function bbname_activate()
{
}

function bbname_deactivate()
{
}
PHP

estas estan vacias ya que es para crear cosas como templates, agregar tablas a la DB modificar plantillas etc etc entonces como no creara nada e panel de admin/configuracion ni modificara plantillas ni nada pues queda vacio....

despues notaremos esto:
function bbname_run($message)
{
    global $mybb;
    $bbname = ($mybb->settings['bbname'] );
    return str_replace("[bbname]", $bbname, $message);
}
PHP

que es lo que explique arriba que es lo que hara el plugin podemos ver que dice que se ejeutara en los post ($message)

abajo vemos el global $mybb; que tomara cualquier dato de las tablas de DB!!

abajo el bbname es un entero por decirlo asi que se esta cerando para tomar o capturar los datos como notaremos $bbname es igual $mybb->settings['bbname'] esto quiere decir nombre del foro si alguien quiere saber como puede saber estos datos pues facil entren a su base de datos despues en mybb_settings y busquen el valor bbname les dejo una imagen para que quede mas claro!!

[Imagen: dzuypw.png]

donde 1: a el nombre de la tabla
2: el nombre del valor a tomar
3: la descripcion del valor (que es lo que va a mostrar)

entonces POR EJEMPLO tomando mi localhost

$bbname = ($mybb->settings['bbname'] );
es igual a esto segun la imagen:
$bbname = "LocalHost - Edson Ordaz";

en su caso tomara el nombre de su foro...

Continuando veremos esto
str_replace("[bbname]", $bbname, $message);
PHP

que quiere decir que en los post (como mencione en un principio) remplazara en TODOS los post el [bbname] por $bbname que es igual al nombre de su foro y funcionara en los mensajes!!

tomando esto como valor pueden modificarlo y hacer su propio mycode con un plugin pero no se roben creditos si toman como base un plugin creado deb credito tambien Wink

Bueno y pues es todo como dije pueden tomar este plugin de mi amigo solstise como base para crear sus propios mycodes con plugs si tienen dudas o errores al crear su propio plugin no duden en postearlo!!

Saludos!!
Cluster   31 Oct, 2010, 9:12 pm
#2
Impresionante!!! man el tuto esta pensado jussto como hice el plugin Big Grin me impresiona tu habilidad ^^



Smile aclaro esta parte que no la mencionaste:
$plugins->add_hook("parse_message", "bbname_run");
PHP

todas las funciones especificadas en el plugin (en cualquiera no solo en los mycodes es que el primer nombre especificado en el hook principal (en los mycodes solo se agrega un solo hook asi que se sabe que por ende es el principal) osea bbname seria el nombre de todo el plugin incluso del archivo (esa parte no la recalco mucho porque no estoy seguro si es necesario llamar el archivo igual pero yo asi lo ago) _run es solo una extension del nombre en todo caso la funcion seria

function bbname_run($message)
PHP

En caso de que se use el sistema de instalacion (agregar bases a la BD, plantillas, etc como lo menciona Edson)

es indispensable cambiar el nombre antes de sus extensiones para que funcione
osea lo especificado
function bbname_activate()
PHP

xD perdon si me meto a explicar en un tema que no es mio pero no lo resisti xD


Saludos

Smile
Edson Ordaz   31 Oct, 2010, 9:27 pm
#3
(31 Oct, 2010, 9:12 pm)Solstice escribió: perdon si me meto a explicar en un tema que no es mio pero no lo resisti xD
Saludos

Ey bro el tema es de todos y em da gusto que le entres!!!

(31 Oct, 2010, 9:12 pm)Solstice escribió: (esa parte no la recalco mucho porque no estoy seguro si es necesario llamar el archivo igual pero yo asi lo ago) _run es solo una extension del nombre

Respecto a eso puede ser lo que sea por ejemplo puedes poner un valor diferente como por ejemplo Solstise ya que en si lo que se esta declarando en la primera parte es:
$plugins->add_hook("parse_message", "bbname_run"); 
PHP

Decimos que solo lo llamara para ejecutarlo eso es como un int main en c++ pero hay que cuidar lo que se pone ya si ponemos por ejemplo hay mybb y en otro plugin X en el hook tambien se pone mybb se complican las cosas ya que toma los valores del primer plugin y mandaria error al activar el plugin!!!

Tengo entendido que si se hacen ya que anteriormente hacia lo hacian por... mm no lo se jaja solo asi lo hacian supongo que yo que pues el por el nombre del php y la extencion run de ejecutar y/o arrancar entonces como muchos aprendimos de solo ver plugins, analizarlos ver la db etc etc asi aprendimos pero no es necesario el nombre del plug jeje!!
Cluster   31 Oct, 2010, 9:38 pm
#4
exacto! solo aclaraba la parte de que se le aplica la extension deseada al plugin y a todas las subextensiones xD y en cuanto a eso supongo que es verdad eso es mas bien con el fin de evitar toda interferencia con algun otro plugin

Saludos

PD: la magia de adornar el install del plugin esta en esta area
function bbname_info()
{
	return array(
		"name"			=> "BB Name MyCode",
		"description"	=> "Muestra El nombre del Foro",
		"website"		=> "http://www.xpresionzone.net",
		"author"		=> "Walkman 5.0",
		"authorsite"	=> "http://www.xpresionzone.net",
		"version"		=> "1.0",
		"compatibility" => "14*,16*",
	);
}
PHP

pueden usar CSS y HTML (creo que si modifican un poco el ACP pueden hasta usar BBCode pero es irse algo lejos y es inecesario)

Smile
Edson Ordaz   31 Oct, 2010, 10:00 pm
#5
Cluster   1 Nov, 2010, 11:04 am
#6
pues basicamente la segunda opcion es como para crear codes sencillos sin hacer calls a la BD supongo osea solo estas haciendo un replace no?

Smile
Edson Ordaz   1 Nov, 2010, 11:07 am
#7
En realidad me me puse a ver detenidamente la DB para crear mi plugin de contar los comentarios hechos y recibidos por cada usuario y me di cuenta que puedo crear un mycode e insertarlo ala db es mas sencillo que la primera solo que la segunda la que yo hice pues es mejor hacer de plano el mycode Wink

Saludos!
Straton   1 Nov, 2010, 11:13 am
#8
Edson Ordaz   1 Nov, 2010, 11:15 am
#9
Los errores los tienes en las comillas comoa rriba explique necesitas poner un \ antes de cada comilla para que la comilla la lea como un codigo mas y no como fin y/o principio del codigo!!!
Straton   1 Nov, 2010, 11:22 am
#10
Páginas (2): 1 2   
  
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.