Páginas (2): 1 2   
Lorataco   31 Dec, 2011, 8:26 am
#1

Hola, vengo a pedir ayuda sobre el plugin que estoy creando basado en un tutorial de mybb.com
Cuando voy al Acp y le doy a plugins no aparecen los plugins, borro mi plugins y si aparecen, aqui dejo mi plugin por si pudierais solucionarmelo y explicarmelo:

<?php
/**
 * Forum Age 1.0
 * © 2011 lorataco
 * http://lorataco.es
 */
if(!defined("IN_MYBB"))
{
    die("You Cannot Access This File Directly");
}

$plugins->add_hook("global_start","Global");
$plugins->add_hook("admin_style_templates_start","Foro")
function forum_age_info()
{
return array(
        "name"  => "Forum Age",
        "description"=> "Muestra el tiempo desde que se creo tu foro",
        "website"        => "http://mybb-es.com",
        "author"        => "Lorataco",
        "authorsite"    => "http://lorataco.es",
        "version"        => "1.0",
        "guid"             => "",
        "compatibility" => "*"
    );
}
function forum_age_activate()
  {
    global $db;
    
   $forum_age_group = array(
        'gid'    => 'NULL',
        'name'  => 'forum_age',
        'title'      => 'Forum Age',
        'description'    => 'Configuracion para forum age',
        'disporder'    => "1",
        'isdefault'  => 'no',
    );
   
        $forum_age_group = array(
        'gid'    => 'NULL',
        'name'  => 'forum_age',
        'title'      => 'Forum Age',
        'description'    => 'Configuracion para forum age',
        'disporder'    => "1",
        'isdefault'  => 'no',
    );
 $db->insert_query('settinggroups', $yourplugin_group);
 $gid = $db->insert_id();
   $forum_age_setting = array(
        'sid'            => 'NULL',
        'name'        => 'enabled_forum_age',
        'title'            => 'Forum age esta activo',
        'description'    => 'Elige si se ve el tiempo de tu foro o no',
        'optionscode'    => 'yesno',
        'value'        => '1',
        'disporder'        => 1,
        'gid'            => intval($gid),
    );
     $db->insert_query('settings', $yourplugin_setting);
  rebuild_settings();
  }
  function forum_age_deactivate()
  {
  global $db;
 $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('enabled_forum_age')");
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='forum_age'");
rebuild_settings();
 }
function Global(){
global $mybb;
find_add_global('global', '$timenow = my_date($mybb->settings[\'timeformat\'], TIME_NOW);', '$age_query = $db->query("SELECT * FROM ".TABLE_PREFIX."users LIMIT 1");
$age_result = $db->fetch_array($age_query);
$age = time() - $age_result[\'regdate\'];
$forumage = nice_time($age); 
');
function Foro(){
global $mybb;
find_add_templatesets('index', '<br />Foro creado: {$forumage} ');
}
}
?>


Dark Neo   31 Dec, 2011, 8:37 am
#2
Bueno para comenzar esta linea esta repetida:

        $forum_age_group = array(
        'gid'    => 'NULL',
        'name'  => 'forum_age',
        'title'      => 'Forum Age',
        'description'    => 'Configuracion para forum age',
        'disporder'    => "1",
        'isdefault'  => 'no',
    );

Luego esta esta mal

$db->insert_query('settinggroups', $yourplugin_group);

debe ir el nombre que ya asignaste arriba. en la opcion repetida.

$db->insert_query('settings', $yourplugin_setting);

Lo mismo que la anterior.

Y sería todo, reviza eso bueno lo que veo a simple vista.

"website" => "http://mybb-es.com",

Y eso el sitio, jaja, eso es broma, pues todo lo demás parece a primera vista bien, pero lo miro y te digo que cosa.

Saludos...
Lorataco   31 Dec, 2011, 8:43 am
#3
Sigue igual, aqui dejo como lo deje:
<?php
/**
 * Forum Age 1.0
 * © 2011 lorataco
 * http://lorataco.es
 */
if(!defined("IN_MYBB"))
{
    die("You Cannot Access This File Directly");
}

$plugins->add_hook("global_start","Global");
$plugins->add_hook("admin_style_templates_start","Foro")
function forum_age_info()
{
return array(
        "name"  => "Forum Age",
        "description"=> "Muestra el tiempo desde que se creo tu foro",
        "website"        => "http://mybb-es.com",
        "author"        => "Lorataco",
        "authorsite"    => "http://lorataco.es",
        "version"        => "1.0",
        "guid"             => "",
        "compatibility" => "*"
    );
}
function forum_age_activate()
  {
    global $db;
    
   $forum_age_group = array(
        'gid'    => 'NULL',
        'name'  => 'forum_age',
        'title'      => 'Forum Age',
        'description'    => 'Configuracion para forum age',
        'disporder'    => "1",
        'isdefault'  => 'no',
    );
   
 $db->insert_query('settinggroups', $forum_age_group);
 $gid = $db->insert_id();
   $forum_age_setting = array(
        'sid'            => 'NULL',
        'name'        => 'enabled_forum_age',
        'title'            => 'Forum age esta activo',
        'description'    => 'Elige si se ve el tiempo de tu foro o no',
        'optionscode'    => 'yesno',
        'value'        => '1',
        'disporder'        => 1,
        'gid'            => intval($gid),
    );
     $db->insert_query('settings', $forum_age_setting);
  rebuild_settings();
  }
  function forum_age_deactivate()
  {
  global $db;
 $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('enabled_forum_age')");
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='forum_age'");
rebuild_settings();
 }
function Global(){
global $mybb;
find_add_global('global', '$timenow = my_date($mybb->settings[\'timeformat\'], TIME_NOW);', '$age_query = $db->query("SELECT * FROM ".TABLE_PREFIX."users LIMIT 1");
$age_result = $db->fetch_array($age_query);
$age = time() - $age_result[\'regdate\'];
$forumage = nice_time($age); 
');
function Foro(){
global $mybb;
find_add_templatesets('index', '<br />Foro creado: {$forumage} ');
}
}
?>
Dark Neo   31 Dec, 2011, 9:06 am
#4
Tambien te falta un cierre aqui

$plugins->add_hook("admin_style_templates_start","Foro")

$plugins->add_hook("admin_style_templates_start","Foro");

Esta declaracion a que haces referencia no es válida al menos para MyBB 1.6.5

find_add_global

Eso es lo que te puedo decir:

<?php
/**
 * Forum Age 1.0
 * © 2011 lorataco
 * http://lorataco.es
 */
if(!defined("IN_MYBB"))
{
    die("You Cannot Access This File Directly");
}

$plugins->add_hook("global_start","Global_ini");
$plugins->add_hook("admin_style_templates_start","Foro");

function forum_age_info()
{
return array(
        "name"  => "Forum Age",
        "description"=> "Muestra el tiempo desde que se creo tu foro",
        "website"        => "http://mybb-es.com",
        "author"        => "Lorataco",
        "authorsite"    => "http://lorataco.es",
        "version"        => "1.0",
        "guid"             => "",
        "compatibility" => "*"
    );
}
function forum_age_activate()
  {
    global $db;

   $forum_age_group = array(
        'gid'    => 'NULL',
        'name'  => 'forum_age',
        'title'      => 'Forum Age',
        'description'    => 'Configuracion para forum age',
        'disporder'    => "1",
        'isdefault'  => 'no',
    );

 $db->insert_query('settinggroups', $forum_age_group);
 $gid = $db->insert_id();
   $forum_age_setting = array(
        'sid'            => 'NULL',
        'name'        => 'enabled_forum_age',
        'title'            => 'Forum age esta activo',
        'description'    => 'Elige si se ve el tiempo de tu foro o no',
        'optionscode'    => 'yesno',
        'value'        => '1',
        'disporder'        => 1,
        'gid'            => intval($gid),
    );
     $db->insert_query('settings', $forum_age_setting);
  rebuild_settings();
  }
  function forum_age_deactivate()
  {
  global $db;
 $db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN ('enabled_forum_age')");
    $db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='forum_age'");
rebuild_settings();
 }
function Global_ini(){
global $mybb;
find_add_global('global', '$timenow = my_date($mybb->settings[\'timeformat\'], TIME_NOW);', '$age_query = $db->query("SELECT * FROM ".TABLE_PREFIX."users LIMIT 1");
$age_result = $db->fetch_array($age_query);
$age = time() - $age_result[\'regdate\'];
$forumage = nice_time($age);
');
function Foro(){
global $mybb;
find_add_templatesets('index', '<br />Foro creado: {$forumage} ');
}
}
?>

Con eso se mostrara en la caja de plugins, pero puedes activar y desactivar.

Ya solo busca lo que te falta, Wink.

la funcion enlazada a global no te dara, te va a tirar error, debes buscar una que no lo haga.

find_add_global

Solo corrige eso en lo que te pase y ya solucionas tu problema.
Última modificación: 31 Dec, 2011, 9:07 am por Naruteitor.
Lorataco   31 Dec, 2011, 9:09 am
#5
Y como lo pondria que buscara en el global.php esto
$timenow = my_date($mybb->settings['timeformat'], TIME_NOW);
y agregue debajo
$age_query = $db->query("SELECT * FROM ".TABLE_PREFIX."users LIMIT 1");
$age_result = $db->fetch_array($age_query);
$age = time() - $age_result['regdate'];
$forumage = nice_time($age);

Y lo de añadir al index_stats:
<br />Forum Age: {$forumage}
Dark Neo   31 Dec, 2011, 9:15 am
#6
Con un $page en la funcion y un replace en tu codigo.

Y lo otro pues con un

find_add_templatesets

Con eso seguro lo logras, ya mas no puedo ayudarte, sino sería mi plugin.

Creo que lo justo es que trabajes al menos en algo, no lo crees ??
Lorataco   31 Dec, 2011, 9:23 am
#7
Ya, pero esque acabo de empezar con esto del plugin, y la verdad he echo lo de $page y eso pero el foro se me queda en blanco
Gypaete   31 Dec, 2011, 10:46 am
#8
Así me gusta Lorataco (Y)(Y)

El nombre del archivo tiene que tener el nombre de la función de los datos. Por eso no te saldrá, ami me pasaba lo mismo O_O
Lorataco   31 Dec, 2011, 10:55 am
#9
El nombre del archivo es forum_Age D:
Gypaete   31 Dec, 2011, 10:58 am
#10
Pues no lo sé.

A mi cuando me pasaba eso era el nombre de la función. :\

Dark inspíranos!
Páginas (2): 1 2   
  
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.