pokazanie nastepnej opcji kiedy w selectboxie jest wybrany element

JS  Założony przez  Supryk.

Witajcie,

Jako że straszna noga jestem w JS proszę was o pomoc.

Mam sprytny plan dodania czegoś takiego do tabeli serwerów
Podczas dodawania/edycji serwera
Kiedy typ serwera będzie ustawiony na team speak 3 pokaze nam się nowa kolumna z opcja wpisania query portu
Kiedy opcja nowy będzie na tak pokażą się pola do wpisania tekstu i koloru

Kiedy warunek nie bedzie spelniony pola nie będą widoczne
ss

[Obrazek: LZPja1F.png]
[Obrazek: SJR4Bum.png]

dziękuje za poświęcoy mi czas
To jest wbudowane w MyBB i nazwane zostało 'peekers'. Zastosowane np. dla ustawień:
https://github.com/mybb/mybb/blob/featur....php#L1575
ok
'new Peeker($(".setting_boardclosed"), $("#row_setting_boardclosed_reason"), /1/, true)',
gdzie
setting_boardclosed - pole sprawdzane
row_setting_boardclosed_reason - pole wyswietlane/chowane gdy spełniony jest warunek
1- warunek, wartość opcji
true - czyli pole ma się pokazać
tak?

dodałem do swojego pliku takie coś

echo '<script type="text/javascript" src="./jscripts/peeker.js"></script>
<script type="text/javascript">
$(document).ready(function() {
loadPeekers();
});
function loadPeekers() {
\'new Peeker($(".type"), $("#ts3qport"), /teamspeak3/, true)\',
}
</script>'


w inną mańke

$plugins->add_hook("admin_settings_print_peekers""serversboard_settins_peeker");
function 
serversboard_settins_peeker(&$peekers)
{
    global 
$db$lang$mybb$peekers;
    
$lang->load("config_serversboard");

    
$peekers[] = array(
            
'new Peeker($(".setting_type"), $("#row_setting_ts3qport"), /teamspeak3/, true)',
            
'new Peeker($(".setting_new"), $("#row_setting_new_color"), /1/, true)',
    );


I nic, chyba zostanie tak jak jest bo nie ogarnę tego

w normalnych ustwieniach kazdy wiersz ma swoje id http://i.imgur.com/dJGXXLi.png
na podstronach tak nie jest http://i.imgur.com/FGLF3hm.png
swoją podstrone budowalem na podstawie oryginalnego pliku mybb
To dodaj ID do wiersza.. Jeśli używasz domyślnych funkcji, czyli construct_row() lub output_row(), to nie powinno być z tym problemu:
https://github.com/mybb/mybb/blob/featur...le.php#L96
https://github.com/mybb/mybb/blob/f700bf...m.php#L942

A hooka należy używać tylko i wyłącznie do ustawień (i działa on jedynie w 1.8.0+, w 1.6 trzeba było się bardziej namęczyć), na własnej podstronie wystarczy echo tak jak w pierwszym kodzie.

EDIT: aha, jeszcze jedno.
(08.10.2014, 08:58)Supryk napisał(a): true - czyli pole ma się pokazać
Nie. true powinno być gdy pierwsze ustawienie jest typu radio/checkbox, a false gdy innego typu.
$form_container->output_row($lang->server_type$lang->server_type_desc$form->generate_select_box('type'$select_list$mybb->input['type'], array('id' => 'type')), 'type'); 

Więc jest ID, mimo to w kodzie go nie widać http://i.imgur.com/WnWHR63.png
Bo kod jest błędny. Dodałeś opcję id, ale wewnątrz funkcji generate_select_box().

No i przypatrz się jeszcze raz argumentom funkcji output_row(): https://github.com/mybb/mybb/blob/f700bf...m.php#L916
:( taka gafa
teraz tr'y mają już ide, jednak nadal upragniony efekt jest daleko
Pokaz Ci caly plik, może móglbyś powiedzieć czy ide w dobrym kierunku?
narazie robie to tylko w akcji add
<?php

/********************************************************************************************************************************
*
*  Servers board (/admin/modules/config/serversboard.php)
*  Author: Krzysztof "Supryk" Supryczyński 
*  Copyright: 2013 - 2014 @ Krzysztof "Supryk" Supryczyński @ All rights reserved
*  
*  Website: http://polish-zone.pl/
*  Description: Show information about games online servers on index page and details about servers on subpage.
*
********************************************************************************************************************************/

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

define("SERVERSBOARD_CORE_PATH"MYBB_ROOT."inc/serversboard/");

$page->add_breadcrumb_item($lang->servers_list"index.php?module=config-serversboard"); 

if(
$mybb->input['action'] == "add" || $mybb->input['action'] == "edit" || !$mybb->input['action'])
{
    
$sub_tabs['serversboard'] = array(
        
'title' => $lang->servers_list,
        
'link' => "index.php?module=config-serversboard",
        
'description' => $lang->servers_list_desc,
    );
    
    
$sub_tabs['serversboard_add'] = array( 
        
'title' => $lang->server_add,
        
'link' => "index.php?module=config-serversboard&amp;action=add"
        
'description' => $lang->server_add_desc,
    );
}

$plugins->run_hooks("admin_config_serversboard_begin");

if(
$mybb->input['action'] == "add")
{
    
$plugins->run_hooks("admin_config_serversboard_add");
    
    if(
$mybb->request_method == "post")
    {
        
$plugins->run_hooks("admin_config_serversboard_add_commit");
        
//  || !preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,6}/', $mybb->input['ip'], $match)
        
if(!trim($mybb->input['ip']))
        {
            
$errors[] = $lang->server_error_missing_ip;
        }

        if(!
trim($mybb->input['type']))
        {
            
$errors[] = $lang->server_error_missing_type;
        }
        
        if(
$mybb->input['type'] == "teamspeak3" && !trim($mybb->input['ts3qport']))
        {
            
$errors[] = $lang->server_error_missing_ts3qport;
        }
        
        if(!
trim($mybb->input['offlinehostname']))
        {
            
$errors[] = $lang->server_error_missing_offlinehostname;
        }
        
        if(!
trim($mybb->input['disporder']) || !preg_match('/[0-9]{1,3}/'$mybb->input['disporder'], $match))
        {
            
$errors[] = $lang->server_error_missing_disporder;
        }
        
        if(!
trim($mybb->input['owner']))
        {
            
$errors[] = $lang->server_error_missing_owner;
        }

        if(!
$errors)
        {
            
$server = array(
                
"ip" => $db->escape_string(trim($mybb->input['ip'])),
                
"ts3qport" => $db->escape_string(trim($mybb->input['ts3qport'])),
                
"type" => $db->escape_string($mybb->input['type']),
                
"offlinehostname" => $db->escape_string($mybb->input['offlinehostname']),
                
"cuthostname" => intval($mybb->input['cuthostname']),
                
"disporder" => intval($mybb->input['disporder']),
                
"field_link" => $db->escape_string($mybb->input['field_link']),
                
"field_icon" => $db->escape_string($mybb->input['field_icon']),
                
"visible" => intval($mybb->input['visible']),
                
"owner" => $db->escape_string($mybb->input['owner']),
                
"new" => intval($mybb->input['new']),
                
"new_color" => $db->escape_string($mybb->input['new_color']),
                
"new_text" => $db->escape_string($mybb->input['new_text']),
                
"lastupdate" => intval('0'),
            );
            
            
$plugins->run_hooks("admin_config_serversboard_add_commit_start");
            
            
$sid $db->insert_query("serversboard"$server);
            
            
$plugins->run_hooks("admin_config_serversboard_add_commit_end");

            
log_admin_action($sid$mybb->input['offlinehostname']);

            
flash_message($lang->server_add_success'success');
            
admin_redirect("index.php?module=config-serversboard");
        }
    }
    else
    {
        
$mybb->input = array(
            
"visible" => "1",
            
"new" => "0",
        );
    }
    
    
$page->add_breadcrumb_item($lang->server_add);
    
$page->output_header($lang->servers_list." - ".$lang->server_add);
    
    
$sub_tabs['serversboard_add'] = array( 
        
'title' => $lang->server_add,
        
'link' => "index.php?module=config-serversboard&amp;action=add"
        
'description' => $lang->server_add_desc,
    );
    
    
$page->output_nav_tabs($sub_tabs'serversboard_add');
    
    
$query $db->simple_select("serversboard"); 
    
$server $db->fetch_array($query);
    
    
$form = new Form("index.php?module=config-serversboard&amp;action=add""post");
    
    if(
$errors)
    {
        
$page->output_inline_error($errors);
    }
    
    
$select_list = array(
        
"" => $lang->server_type_select,
        
"bf3" => "Battlefield 3"
        
"bf4" => "Battlefield 4"
        
"cod4" => "Call of Duty 4",
        
"cs16" => "Counter-Strike 1.6"
        
"cscz" => "Counter-Strike Condition Zero"
        
"css" => "Counter-Strike Source"
        
"csgo" => "Counter-Strike Global Offensive"
        
"dayz" => "DayZ"
        
"dayzmod" => "DayZ Mod"
        
"gmod" => "Garry's Mod"
        
"l4d" => "Left 4 Dead"
        
"l4d2" => "Left 4 Dead 2"
        
"minecraft" => "MineCraft",
        
"mta" => "Multi Theft Auto"
        
"samp" => "San Andreas Multi Player"
        
"tf2" => "Team Fortress 2"
        
"tfc" => "Team Fortress Classic"
        
"teamspeak3" => "TeamSpeak 3"
        
"ventrilo" => "Ventrilo"
    
);

    
$form_container = new FormContainer($lang->server_add);
    
$form_container->output_row($lang->server_ip."<em> *</em>"$lang->server_ip_desc$form->generate_text_box('ip'$mybb->input['ip'], array('id' => 'ip')), 'ip');
    
$form_container->output_row($lang->server_type$lang->server_type_desc$form->generate_select_box('type'$select_list$mybb->input['type'], array('id' => 'type')), 'type''', array('id' => 'type'));
    
$form_container->output_row($lang->server_ts3qport$lang->server_ts3qport_desc$form->generate_text_box('ts3qport'$mybb->input['ts3qport'], array('id' => 'ts3qport')), 'ts3qport''', array('id' => 'ts3qport'));
    
$form_container->output_row($lang->server_offlinehostname."<em> *</em>"$lang->server_offlinehostname_desc$form->generate_text_box('offlinehostname'$mybb->input['offlinehostname'], array('id' => 'offlinehostname')), 'offlinehostname');
    
$form_container->output_row($lang->server_cuthostname$lang->server_cuthostname_desc$form->generate_text_box('cuthostname'$mybb->input['cuthostname'], array('id' => 'cuthostname')), 'cuthostname');
    
$form_container->output_row($lang->server_disporder."<em> *</em>"$lang->server_disporder_desc$form->generate_text_box('disporder'$mybb->input['disporder'], array('id' => 'disporder')), 'disporder');
    
$form_container->output_row($lang->server_field_link$lang->server_field_link_desc$form->generate_text_box('field_link'$mybb->input['field_link'], array('id' => 'field_link')), 'field_link');
    
$form_container->output_row($lang->server_field_icon$lang->server_field_icon_desc$form->generate_text_box('field_icon'$mybb->input['field_icon'], array('id' => 'field_icon')), 'field_icon');
    
$form_container->output_row($lang->server_owner."<em> *</em>"$lang->server_owner_desc$form->generate_text_box('owner'$mybb->input['owner'], array('id' => 'owner')), 'owner');
    
$form_container->output_row($lang->server_visible$lang->server_visible_desc$form->generate_yes_no_radio('visible'$mybb->input['visible'], true));
    
$form_container->output_row($lang->server_new$lang->server_new_desc$form->generate_yes_no_radio('new'$mybb->input['new'], true), '''', array('id' => 'new'));
    
$form_container->output_row($lang->server_new_color$lang->server_new_color_desc$form->generate_text_box('new_color'$mybb->input['new_color'], array('id' => 'new_color')), 'new_color''', array('id' => 'new_color'));
    
$form_container->output_row($lang->server_new_text$lang->server_new_text_desc$form->generate_text_box('new_text'$mybb->input['new_text'], array('id' => 'new_text')), 'new_text''', array('id' => 'new_text'));
    
//$form_container->output_row($lang->server_buddylist, $lang->server_buddylist_desc, $form->generate_text_area('buddylist', $mybb->input['buddylist'], array('id' => 'buddylist')), 'buddylist');
    
$form_container->end();

    
$buttons[] = $form->generate_submit_button($lang->server_add_save);
    echo 
'<script type="text/javascript" src="./jscripts/peeker.js"></script>
<script type="text/javascript">
$(document).ready(function() {
loadPeekers();
});
function loadPeekers() {
\'new Peeker($("#type"), $("#ts3qpor"), /[^0+|][\teamspeak3*]/, false)\',
\'new Peeker($(".new"), $("#new_color"), /1/, true)\',
\'new Peeker($(".new"), $("#new_text"), /1/, true)\',
}
</script>'

    
$form->output_submit_wrapper($buttons);
    
$form->end();

    
$page->output_footer();
}


if(
$mybb->input['action'] == "edit")
{
    
$query $db->simple_select("serversboard""*""sid='".$mybb->get_input('sid'1)."'");
    
$server $db->fetch_array($query);
    
    if(!
$server['sid'])
    {
        
flash_message($lang->server_edit_error'error');
        
admin_redirect("index.php?module=config-serversboard");
    }
    
    
$plugins->run_hooks("admin_config_serversboard_edit");
    
//  || !preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,6}/', $mybb->input['ip'], $match)
    
if($mybb->request_method == "post")
    {
        if(!
trim($mybb->input['ip']))
        {
            
$errors[] = $lang->server_error_missing_ip;
        }

        if(!
trim($mybb->input['type']))
        {
            
$errors[] = $lang->server_error_missing_type;
        }
        
        if(
$mybb->input['type'] == "teamspeak3" && !trim($mybb->input['ts3qport']))
        {
            
$errors[] = $lang->server_error_missing_ts3qport;
        }
        
        if(!
trim($mybb->input['offlinehostname']))
        {
            
$errors[] = $lang->server_error_missing_offlinehostname;
        }
        
        if(!
trim($mybb->input['disporder']) || !preg_match('/[0-9]{1,3}/'$mybb->input['disporder'], $match))
        {
            
$errors[] = $lang->server_error_missing_disporder;
        }
        
        if(!
trim($mybb->input['owner']))
        {
            
$errors[] = $lang->server_error_missing_owner;
        }

        if(!
$errors)
        {
            
$updated_server = array(
                
"ip" => $db->escape_string(trim($mybb->input['ip'])),
                
"type" => $db->escape_string($mybb->input['type']),
                
"ts3qport" => $db->escape_string(trim($mybb->input['ts3qport'])),
                
"offlinehostname" => $db->escape_string($mybb->input['offlinehostname']),
                
"cuthostname" => intval($mybb->input['cuthostname']),
                
"disporder" => intval($mybb->input['disporder']),
                
"field_link" => $db->escape_string($mybb->input['field_link']),
                
"field_icon" => $db->escape_string($mybb->input['field_icon']),
                
"visible" => intval($mybb->input['visible']),
                
"owner" => $db->escape_string($mybb->input['owner']),
                
"new" => intval($mybb->input['new']),
                
"new_color" => $db->escape_string($mybb->input['new_color']),
                
"new_text" => $db->escape_string($mybb->input['new_text']),
                
"lastupdate" => intval('0'),
            );
            
            
$plugins->run_hooks("admin_config_serversboard_edit_commit");
            
            
$db->update_query("serversboard"$updated_server"sid = '".intval($mybb->input['sid'])."'");
            
            
log_admin_action($server['sid'], $mybb->input['offlinehostname']);

            
flash_message($lang->server_edit_success'success');
            
admin_redirect("index.php?module=config-serversboard");
        }
    }
    
    
$page->add_breadcrumb_item($lang->server_edit);
    
$page->output_header($lang->servers_list." - ".$lang->server_edit);
    
    
$sub_tabs['serversboard_edit'] = array( 
        
'title' => $lang->server_edit
        
'link' => "index.php?module=config-serversboard&amp;action=edit"
        
'description' => $lang->server_edit_desc,
    );
    
    
$page->output_nav_tabs($sub_tabs'serversboard_edit');
    
$form = new Form("index.php?module=config-serversboard&amp;action=edit""post");
    
    echo 
$form->generate_hidden_field("sid"$server['sid']);
    
    if(
$errors)
    {
        
$page->output_inline_error($errors);
    }
    else
    {
        
$mybb->input $server;
    }
    
    
$select_list = array(
        
"" => $lang->server_type_select,
        
"bf3" => "Battlefield 3"
        
"bf4" => "Battlefield 4"
        
"cod4" => "Call of Duty 4",
        
"cs16" => "Counter-Strike 1.6"
        
"cscz" => "Counter-Strike Condition Zero"
        
"css" => "Counter-Strike Source"
        
"csgo" => "Counter-Strike Global Offensive"
        
"dayz" => "DayZ"
        
"dayzmod" => "DayZ Mod"
        
"gmod" => "Garry's Mod"
        
"l4d" => "Left 4 Dead"
        
"l4d2" => "Left 4 Dead 2"
        
"minecraft" => "MineCraft"
        
"mta" => "Multi Theft Auto"
        
"samp" => "San Andreas Multi Player"
        
"tf2" => "Team Fortress 2"
        
"tfc" => "Team Fortress Classic"
        
"teamspeak3" => "TeamSpeak 3"
        
"ventrilo" => "Ventrilo"
    
);

    
$form_container = new FormContainer($lang->server_edit);
    
$form_container->output_row($lang->server_ip."<em> *</em>"$lang->server_ip_desc$form->generate_text_box('ip'$mybb->input['ip'], array('id' => 'ip')), 'ip');
    
$form_container->output_row($lang->server_type$lang->server_type_desc$form->generate_select_box('type'$select_list$mybb->input['type'], array('id' => 'type')), 'type');
    
$form_container->output_row($lang->server_ts3qport$lang->server_ts3qport_desc$form->generate_text_box('ts3qport'$mybb->input['ts3qport'], array('id' => 'ts3qport')), 'ts3qport');
    
$form_container->output_row($lang->server_offlinehostname."<em> *</em>"$lang->server_offlinehostname_desc$form->generate_text_box('offlinehostname'$mybb->input['offlinehostname'], array('id' => 'offlinehostname')), 'offlinehostname');
    
$form_container->output_row($lang->server_cuthostname$lang->server_cuthostname_desc$form->generate_text_box('cuthostname'$mybb->input['cuthostname'], array('id' => 'cuthostname')), 'cuthostname');
    
$form_container->output_row($lang->server_disporder."<em> *</em>"$lang->server_disporder_desc$form->generate_text_box('disporder'$mybb->input['disporder'], array('id' => 'disporder')), 'disporder');
    
$form_container->output_row($lang->server_field_link$lang->server_field_link_desc$form->generate_text_box('field_link'$mybb->input['field_link'], array('id' => 'field_link')), 'field_link');
    
$form_container->output_row($lang->server_field_icon$lang->server_field_icon_desc$form->generate_text_box('field_icon'$mybb->input['field_icon'], array('id' => 'field_icon')), 'field_icon');
    
$form_container->output_row($lang->server_owner."<em> *</em>"$lang->server_owner_desc$form->generate_text_box('owner'$mybb->input['owner'], array('id' => 'owner')), 'owner');
    
$form_container->output_row($lang->server_visible$lang->server_visible_desc$form->generate_yes_no_radio('visible'$mybb->input['visible'], true));
    
$form_container->output_row($lang->server_new$lang->server_new_desc$form->generate_yes_no_radio('new'$mybb->input['new'], true));
    
$form_container->output_row($lang->server_new_color$lang->server_new_color_desc$form->generate_text_box('new_color'$mybb->input['new_color'], array('id' => 'new_color')), 'new_color');
    
$form_container->output_row($lang->server_new_text$lang->server_new_text_desc$form->generate_text_box('new_text'$mybb->input['new_text'], array('id' => 'new_text')), 'new_text');
    
//$form_container->output_row($lang->server_buddylist, $lang->server_buddylist_desc, $form->generate_text_area('buddylist', $mybb->input['buddylist'], array('id' => 'buddylist')), 'buddylist');
    
$form_container->end();

    
$buttons[] = $form->generate_submit_button($lang->server_edit_save);

    
$form->output_submit_wrapper($buttons);
    
$form->end();

    
$page->output_footer();
}

if(
$mybb->input['action'] == "delete")
{
    
$query $db->simple_select("serversboard""*""sid='".$mybb->get_input('sid'1)."'");
    
$server $db->fetch_array($query);
    
    if(!
$server['sid'])
    {
        
flash_message($lang->server_delete_error'error');
        
admin_redirect("index.php?module=config-serversboard");
    }
    
    
$plugins->run_hooks("admin_config_serversboard_delete");

    if(
$mybb->input['no'])
    {
        
admin_redirect("index.php?module=config-serversboard");
    }

    if(
$mybb->request_method == "post")
    {
        
$db->delete_query("serversboard""sid='{$server['sid']}'");
        
        
$plugins->run_hooks("admin_config_serversboard_delete_commit");

        
log_admin_action($server['sid'], $server['offlinehostname']);

        
flash_message($lang->server_delete_success'success');
        
admin_redirect("index.php?module=config-serversboard");
    }
    else
    {
        
$page->output_confirm_action("index.php?module=config-serversboard&amp;action=delete&amp;sid={$server['sid']}"$lang->server_confirm_deletion);
    }
}

if(
$mybb->input['action'] == "update_order" && $mybb->request_method == "post")
{    
    if(!
is_array($mybb->input['disporder']))
    {
        
admin_redirect("index.php?module=config-serversboard");
    }

    
$plugins->run_hooks("admin_config_serversboard_update_order");
    
    foreach(
$mybb->input['disporder'] as $sid => $order)
    {
        
$update_query = array(
            
"disporder" => intval($order)
        );
        
$db->update_query("serversboard"$update_query"sid='".intval($sid)."'");
    }
    
    
$plugins->run_hooks("admin_config_serversboard_update_order_commit");

    
log_admin_action();

    
flash_message($lang->servers_orders_updated_success'success');
    
admin_redirect("index.php?module=config-serversboard");
}

if(!
$mybb->input['action'])
{
    
$page->output_header($lang->servers_list);

    
$page->output_nav_tabs($sub_tabs'serversboard');

    
$form = new Form("index.php?module=config-serversboard&amp;action=update_order""post");
    
$table = new Table;
    
$table->construct_header($lang->servers_name, array('width' => '40%'));
    
$table->construct_header($lang->servers_status, array('width' => '10%'));
    
$table->construct_header($lang->servers_ip, array('width' => '10%'));
    
$table->construct_header($lang->servers_type, array('width' => '10%'));
    
$table->construct_header($lang->servers_order, array('width' => '10%''class' => 'align_center'));
    
$table->construct_header($lang->servers_options, array('width' => '10%''class' => 'align_center'));
    
    require_once 
SERVERSBOARD_CORE_PATH."gameq.php";
    
$query $db->simple_select("serversboard""*""", array('order_by' => 'disporder'));
    while(
$server $db->fetch_array($query))
    {
        switch(
$server['type'])
        {
            case 
"mta":
                
$ipexplode(":"$server['ip']);
                
$cos "123";
                
$ip1 $ip[1] + $cos;
                
$server['ip'] = $ip[0].":".$ip1;            
            break;
        }
        
        if(
$server['type'] == "teamspeak3")
        {
            
$servers = array(
                array(
                    
'type' => $server['type'],
                    
'host' => $server['ip'],
                    
'options' => array(
                        
'master_server_port' => $server['ts3qport'],
                    ),
                ),
            );    
        }
        else
        {
            
$servers = array(
                array(
                    
'type' => $server['type'],
                    
'host' => $server['ip'],
                ),
            );
        }
            
        if(
TIME_NOW $mybb->settings['serversboard_cache_time'] < $server['lastupdate'])
        {
            
$results = @unserialize($server['cache']);
        }
        else
        {
            
$gq = new GameQ();
            
$gq->addServers($servers);
            
$gq->setOption('timeout'5);
            
$gq->setFilter('normalise');
            
$gq->setFilter('stripcolor');
            
$results $gq->requestData();    
            
            
$update_query = array(
                
"cache"       => $db->escape_string(serialize($results)),
                
"lastupdate"   => TIME_NOW,
            );
            
$db->update_query("serversboard"$update_query"sid='".$server['sid']."'");            
        } 
            
        foreach(
$results as $data)
        
        if(
$data['gq_hostname'] == ""
        {        
            
$data['gq_hostname'] = $server['offlinehostname'];
            if(
$mybb->settings['serversboard_remove_host_onoff'] == '1'$data['gq_hostname'] = str_replace(explode(",",$mybb->settings['serversboard_remove_host']), ""$data['gq_hostname']);
            if(
$server['cuthostname'] != "" &&  $server['cuthostname'] > 1$data['gq_hostname'] = (my_strlen($data['gq_hostname']) > $server['cuthostname']) ? my_substr($data['gq_hostname'], 0$server['cuthostname']) . "..." $data['gq_hostname'];
            
$data['gq_status'] = $lang->servers_offline;
        }
        elseif(
$data['gq_hostname'] != ""
        {
            
$data['gq_hostname'] = $data['gq_hostname'];
            if(
$mybb->settings['serversboard_remove_host_onoff'] == '1'$data['gq_hostname'] = str_replace(explode(",",$mybb->settings['serversboard_remove_host']), ""$data['gq_hostname']);
            if(
$server['cuthostname'] != "" &&  $server['cuthostname'] > 1$data['gq_hostname'] = (my_strlen($data['gq_hostname']) > $server['cuthostname']) ? my_substr($data['gq_hostname'], 0$server['cuthostname']) . "..." $data['gq_hostname'];
            
$data['gq_status'] = $lang->servers_online;
            
            if(
$data['gq_numplayers'] > $server['recordplayers'] || $server['recordplayers'] > $data['gq_maxplayers'])
            {
                
$updated_server = array(
                    
"recordplayers" => $db->escape_string($data['gq_numplayers']),
                );
                
$db->update_query("serversboard"$updated_server"sid = '".$server['sid']."'");
            }
        }
    
        
$table->construct_cell("<a href=\"index.php?module=config-serversboard&amp;action=edit&amp;sid={$server['sid']}\"><strong>{$data['gq_hostname']}</strong></a>");
        
$table->construct_cell($data['gq_status']);
        
$table->construct_cell($server['ip']);
        
$table->construct_cell($server['type']);
        
$table->construct_cell($form->generate_text_box("disporder[{$server['sid']}]"$server['disporder'], array('id' => 'disporder''style' => 'width: 80%''class' => 'align_center')));
        
$popup = new PopupMenu("serversboard_{$server['sid']}"$lang->servers_options);
        
$popup->add_item($lang->server_option_edit"index.php?module=config-serversboard&amp;action=edit&amp;sid={$server['sid']}");
        
$popup->add_item($lang->server_option_delete"index.php?module=config-serversboard&amp;action=delete&amp;sid={$server['sid']}&amp;my_post_key={$mybb->post_code}""return AdminCP.deleteConfirmation(this, '{$lang->server_popup_confirm_deletion}')");
        
$table->construct_cell($popup->fetch(), array('class' => 'align_center'));
        
$table->construct_row();
    }
    
    if(
$table->num_rows()  == 0)
    {
        
$table->construct_cell($lang->no_servers, array('colspan' => 6));
        
$table->construct_row();
        
$no_results true;
    }
    
    
$table->output($lang->servers_list);

    if(!
$no_results)
    {
        
$buttons[] = $form->generate_submit_button($lang->save_servers_order);
        
$form->output_submit_wrapper($buttons);
    }

    
$form->end();

    
$page->output_footer();
}

?>
1. Przesunąłbym echo skryptu poza obiekt $form, czyli za $form->end();.
2. Radzę używać opcji heredoc do obejmowania tak długich i skomplikowanych stringów jak właśnie ten skrypt. Wtedy nie trzeba bawić się w \' \" \\ i inne zaśmiecające kod kombinacje znaków, których brak może spowodować błąd.
3. O co chodzi w tym RegExie?
/[^0+|][\teamspeak3*]/
Do czego służy grupa z pierwszych nawiasów, po co jest ta gwiazdka w drugich? Myślałem, że chcesz sprawdzić tylko konkretną wartość.
4.
\'new Peeker($(".new"), $("#new_color"), /1/, true)\',
\'new Peeker($(".new"), $("#new_text"), /1/, true)\', 
można skrócić do:
\'new Peeker($(".new"), $("#new_color, #new_text"), /1/, true)\' 
5. No i przede wszystkim masz bałagan z ID. Pamiętaj, że na stronie tylko jeden element może mieć konkretne ID, inaczej żaden JS nie zadziała. Tu już masz dwa (#type dla tr i selectboxa):
$form_container->output_row($lang->server_type$lang->server_type_desc$form->generate_select_box('type'$select_list$mybb->input['type'], array('id' => 'type')), 'type''', array('id' => 'type')); 
W ogóle ID #type jest ryzykowny, radziłbym używać takiej nazwy, która na pewno nigdzie na stronie nie występuje, np. #serverboard_type
Bardzo dziękuje CI za pomoc

1. Zrobione
2. Zastosuję się
3. Sprawdzam czy wartość w selecboxie to teamspeak3
4. Zrobione
5. W sumie racja, zrobione

aktualny kod = nadal brak reakcji
<?php

/********************************************************************************************************************************
*
*  Servers board (/admin/modules/config/serversboard.php)
*  Author: Krzysztof "Supryk" Supryczyński 
*  Copyright: 2013 - 2014 @ Krzysztof "Supryk" Supryczyński @ All rights reserved
*  
*  Website: http://polish-zone.pl/
*  Description: Show information about games online servers on index page and details about servers on subpage.
*
********************************************************************************************************************************/

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

define("SERVERSBOARD_CORE_PATH"MYBB_ROOT."inc/serversboard/");

$page->add_breadcrumb_item($lang->servers_list"index.php?module=config-serversboard"); 

if(
$mybb->input['action'] == "add" || $mybb->input['action'] == "edit" || !$mybb->input['action'])
{
    
$sub_tabs['serversboard'] = array(
        
'title' => $lang->servers_list,
        
'link' => "index.php?module=config-serversboard",
        
'description' => $lang->servers_list_desc,
    );
    
    
$sub_tabs['serversboard_add'] = array( 
        
'title' => $lang->server_add,
        
'link' => "index.php?module=config-serversboard&amp;action=add"
        
'description' => $lang->server_add_desc,
    );
}

$plugins->run_hooks("admin_config_serversboard_begin");

if(
$mybb->input['action'] == "add")
{
    
$plugins->run_hooks("admin_config_serversboard_add");
    
    if(
$mybb->request_method == "post")
    {
        
$plugins->run_hooks("admin_config_serversboard_add_commit");
        
//  || !preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,6}/', $mybb->input['ip'], $match)
        
if(!trim($mybb->input['ip']))
        {
            
$errors[] = $lang->server_error_missing_ip;
        }

        if(!
trim($mybb->input['type']))
        {
            
$errors[] = $lang->server_error_missing_type;
        }
        
        if(
$mybb->input['type'] == "teamspeak3" && !trim($mybb->input['ts3qport']))
        {
            
$errors[] = $lang->server_error_missing_ts3qport;
        }
        
        if(!
trim($mybb->input['offlinehostname']))
        {
            
$errors[] = $lang->server_error_missing_offlinehostname;
        }
        
        if(!
trim($mybb->input['disporder']) || !preg_match('/[0-9]{1,3}/'$mybb->input['disporder'], $match))
        {
            
$errors[] = $lang->server_error_missing_disporder;
        }
        
        if(!
trim($mybb->input['owner']))
        {
            
$errors[] = $lang->server_error_missing_owner;
        }

        if(!
$errors)
        {
            
$server = array(
                
"ip" => $db->escape_string(trim($mybb->input['ip'])),
                
"ts3qport" => $db->escape_string(trim($mybb->input['ts3qport'])),
                
"type" => $db->escape_string($mybb->input['type']),
                
"offlinehostname" => $db->escape_string($mybb->input['offlinehostname']),
                
"cuthostname" => intval($mybb->input['cuthostname']),
                
"disporder" => intval($mybb->input['disporder']),
                
"field_link" => $db->escape_string($mybb->input['field_link']),
                
"field_icon" => $db->escape_string($mybb->input['field_icon']),
                
"visible" => intval($mybb->input['visible']),
                
"owner" => $db->escape_string($mybb->input['owner']),
                
"new" => intval($mybb->input['new']),
                
"new_color" => $db->escape_string($mybb->input['new_color']),
                
"new_text" => $db->escape_string($mybb->input['new_text']),
                
"lastupdate" => intval('0'),
            );
            
            
$plugins->run_hooks("admin_config_serversboard_add_commit_start");
            
            
$sid $db->insert_query("serversboard"$server);
            
            
$plugins->run_hooks("admin_config_serversboard_add_commit_end");

            
log_admin_action($sid$mybb->input['offlinehostname']);

            
flash_message($lang->server_add_success'success');
            
admin_redirect("index.php?module=config-serversboard");
        }
    }
    else
    {
        
$mybb->input = array(
            
"visible" => "1",
            
"new" => "0",
        );
    }
    
    
$page->add_breadcrumb_item($lang->server_add);
    
$page->output_header($lang->servers_list." - ".$lang->server_add);
    
    
$sub_tabs['serversboard_add'] = array( 
        
'title' => $lang->server_add,
        
'link' => "index.php?module=config-serversboard&amp;action=add"
        
'description' => $lang->server_add_desc,
    );
    
    
$page->output_nav_tabs($sub_tabs'serversboard_add');
    
    
$query $db->simple_select("serversboard"); 
    
$server $db->fetch_array($query);
    
    
$form = new Form("index.php?module=config-serversboard&amp;action=add""post");
    
    if(
$errors)
    {
        
$page->output_inline_error($errors);
    }
    
    
$select_list = array(
        
"" => $lang->server_type_select,
        
"bf3" => "Battlefield 3"
        
"bf4" => "Battlefield 4"
        
"cod4" => "Call of Duty 4",
        
"cs16" => "Counter-Strike 1.6"
        
"cscz" => "Counter-Strike Condition Zero"
        
"css" => "Counter-Strike Source"
        
"csgo" => "Counter-Strike Global Offensive"
        
"dayz" => "DayZ"
        
"dayzmod" => "DayZ Mod"
        
"gmod" => "Garry's Mod"
        
"l4d" => "Left 4 Dead"
        
"l4d2" => "Left 4 Dead 2"
        
"minecraft" => "MineCraft",
        
"mta" => "Multi Theft Auto"
        
"samp" => "San Andreas Multi Player"
        
"tf2" => "Team Fortress 2"
        
"tfc" => "Team Fortress Classic"
        
"teamspeak3" => "TeamSpeak 3"
        
"ventrilo" => "Ventrilo"
    
);

    
$form_container = new FormContainer($lang->server_add);
    
$form_container->output_row($lang->server_ip."<em> *</em>"$lang->server_ip_desc$form->generate_text_box('ip'$mybb->input['ip'], array('id' => 'ip')), 'ip');
    
$form_container->output_row($lang->server_type$lang->server_type_desc$form->generate_select_box('type'$select_list$mybb->input['type'], array('id' => 'type')), 'type''', array('id' => 'serversboard_type'));
    
$form_container->output_row($lang->server_ts3qport$lang->server_ts3qport_desc$form->generate_text_box('ts3qport'$mybb->input['ts3qport'], array('id' => 'ts3qport')), 'ts3qport''', array('id' => 'serversboard_ts3qport'));
    
$form_container->output_row($lang->server_offlinehostname."<em> *</em>"$lang->server_offlinehostname_desc$form->generate_text_box('offlinehostname'$mybb->input['offlinehostname'], array('id' => 'offlinehostname')), 'offlinehostname');
    
$form_container->output_row($lang->server_cuthostname$lang->server_cuthostname_desc$form->generate_text_box('cuthostname'$mybb->input['cuthostname'], array('id' => 'cuthostname')), 'cuthostname');
    
$form_container->output_row($lang->server_disporder."<em> *</em>"$lang->server_disporder_desc$form->generate_text_box('disporder'$mybb->input['disporder'], array('id' => 'disporder')), 'disporder');
    
$form_container->output_row($lang->server_field_link$lang->server_field_link_desc$form->generate_text_box('field_link'$mybb->input['field_link'], array('id' => 'field_link')), 'field_link');
    
$form_container->output_row($lang->server_field_icon$lang->server_field_icon_desc$form->generate_text_box('field_icon'$mybb->input['field_icon'], array('id' => 'field_icon')), 'field_icon');
    
$form_container->output_row($lang->server_owner."<em> *</em>"$lang->server_owner_desc$form->generate_text_box('owner'$mybb->input['owner'], array('id' => 'owner')), 'owner');
    
$form_container->output_row($lang->server_visible$lang->server_visible_desc$form->generate_yes_no_radio('visible'$mybb->input['visible'], true));
    
$form_container->output_row($lang->server_new$lang->server_new_desc$form->generate_yes_no_radio('new'$mybb->input['new'], true), '''', array('id' => 'serversboard_new'));
    
$form_container->output_row($lang->server_new_color$lang->server_new_color_desc$form->generate_text_box('new_color'$mybb->input['new_color'], array('id' => 'new_color')), 'new_color''', array('id' => 'serversboard_new_color'));
    
$form_container->output_row($lang->server_new_text$lang->server_new_text_desc$form->generate_text_box('new_text'$mybb->input['new_text'], array('id' => 'new_text')), 'new_text''', array('id' => 'serversboard_new_text'));
    
//$form_container->output_row($lang->server_buddylist, $lang->server_buddylist_desc, $form->generate_text_area('buddylist', $mybb->input['buddylist'], array('id' => 'buddylist')), 'buddylist');
    
$form_container->end();

    
$buttons[] = $form->generate_submit_button($lang->server_add_save);

    
$form->output_submit_wrapper($buttons);
    
$form->end();
    
        echo 
'<script type="text/javascript" src="./jscripts/peeker.js"></script>
<script type="text/javascript">
$(document).ready(function() {
loadPeekers();
});
function loadPeekers() {
\'new Peeker($("#serversboard_type"), $("#serversboard_ts3qpor"), /[^0+|][\teamspeak3*]/, false)\',
\'new Peeker($(".serversboard_new"), $("#serversboard_new_color, #serversboard_new_text"), /1/, true)\' 
}
</script>'


    
$page->output_footer();
}


if(
$mybb->input['action'] == "edit")
{
    
$query $db->simple_select("serversboard""*""sid='".$mybb->get_input('sid'1)."'");
    
$server $db->fetch_array($query);
    
    if(!
$server['sid'])
    {
        
flash_message($lang->server_edit_error'error');
        
admin_redirect("index.php?module=config-serversboard");
    }
    
    
$plugins->run_hooks("admin_config_serversboard_edit");
    
//  || !preg_match('/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,6}/', $mybb->input['ip'], $match)
    
if($mybb->request_method == "post")
    {
        if(!
trim($mybb->input['ip']))
        {
            
$errors[] = $lang->server_error_missing_ip;
        }

        if(!
trim($mybb->input['type']))
        {
            
$errors[] = $lang->server_error_missing_type;
        }
        
        if(
$mybb->input['type'] == "teamspeak3" && !trim($mybb->input['ts3qport']))
        {
            
$errors[] = $lang->server_error_missing_ts3qport;
        }
        
        if(!
trim($mybb->input['offlinehostname']))
        {
            
$errors[] = $lang->server_error_missing_offlinehostname;
        }
        
        if(!
trim($mybb->input['disporder']) || !preg_match('/[0-9]{1,3}/'$mybb->input['disporder'], $match))
        {
            
$errors[] = $lang->server_error_missing_disporder;
        }
        
        if(!
trim($mybb->input['owner']))
        {
            
$errors[] = $lang->server_error_missing_owner;
        }

        if(!
$errors)
        {
            
$updated_server = array(
                
"ip" => $db->escape_string(trim($mybb->input['ip'])),
                
"type" => $db->escape_string($mybb->input['type']),
                
"ts3qport" => $db->escape_string(trim($mybb->input['ts3qport'])),
                
"offlinehostname" => $db->escape_string($mybb->input['offlinehostname']),
                
"cuthostname" => intval($mybb->input['cuthostname']),
                
"disporder" => intval($mybb->input['disporder']),
                
"field_link" => $db->escape_string($mybb->input['field_link']),
                
"field_icon" => $db->escape_string($mybb->input['field_icon']),
                
"visible" => intval($mybb->input['visible']),
                
"owner" => $db->escape_string($mybb->input['owner']),
                
"new" => intval($mybb->input['new']),
                
"new_color" => $db->escape_string($mybb->input['new_color']),
                
"new_text" => $db->escape_string($mybb->input['new_text']),
                
"lastupdate" => intval('0'),
            );
            
            
$plugins->run_hooks("admin_config_serversboard_edit_commit");
            
            
$db->update_query("serversboard"$updated_server"sid = '".intval($mybb->input['sid'])."'");
            
            
log_admin_action($server['sid'], $mybb->input['offlinehostname']);

            
flash_message($lang->server_edit_success'success');
            
admin_redirect("index.php?module=config-serversboard");
        }
    }
    
    
$page->add_breadcrumb_item($lang->server_edit);
    
$page->output_header($lang->servers_list." - ".$lang->server_edit);
    
    
$sub_tabs['serversboard_edit'] = array( 
        
'title' => $lang->server_edit
        
'link' => "index.php?module=config-serversboard&amp;action=edit"
        
'description' => $lang->server_edit_desc,
    );
    
    
$page->output_nav_tabs($sub_tabs'serversboard_edit');
    
$form = new Form("index.php?module=config-serversboard&amp;action=edit""post");
    
    echo 
$form->generate_hidden_field("sid"$server['sid']);
    
    if(
$errors)
    {
        
$page->output_inline_error($errors);
    }
    else
    {
        
$mybb->input $server;
    }
    
    
$select_list = array(
        
"" => $lang->server_type_select,
        
"bf3" => "Battlefield 3"
        
"bf4" => "Battlefield 4"
        
"cod4" => "Call of Duty 4",
        
"cs16" => "Counter-Strike 1.6"
        
"cscz" => "Counter-Strike Condition Zero"
        
"css" => "Counter-Strike Source"
        
"csgo" => "Counter-Strike Global Offensive"
        
"dayz" => "DayZ"
        
"dayzmod" => "DayZ Mod"
        
"gmod" => "Garry's Mod"
        
"l4d" => "Left 4 Dead"
        
"l4d2" => "Left 4 Dead 2"
        
"minecraft" => "MineCraft"
        
"mta" => "Multi Theft Auto"
        
"samp" => "San Andreas Multi Player"
        
"tf2" => "Team Fortress 2"
        
"tfc" => "Team Fortress Classic"
        
"teamspeak3" => "TeamSpeak 3"
        
"ventrilo" => "Ventrilo"
    
);

    
$form_container = new FormContainer($lang->server_edit);
    
$form_container->output_row($lang->server_ip."<em> *</em>"$lang->server_ip_desc$form->generate_text_box('ip'$mybb->input['ip'], array('id' => 'ip')), 'ip');
    
$form_container->output_row($lang->server_type$lang->server_type_desc$form->generate_select_box('type'$select_list$mybb->input['type'], array('id' => 'type')), 'type');
    
$form_container->output_row($lang->server_ts3qport$lang->server_ts3qport_desc$form->generate_text_box('ts3qport'$mybb->input['ts3qport'], array('id' => 'ts3qport')), 'ts3qport');
    
$form_container->output_row($lang->server_offlinehostname."<em> *</em>"$lang->server_offlinehostname_desc$form->generate_text_box('offlinehostname'$mybb->input['offlinehostname'], array('id' => 'offlinehostname')), 'offlinehostname');
    
$form_container->output_row($lang->server_cuthostname$lang->server_cuthostname_desc$form->generate_text_box('cuthostname'$mybb->input['cuthostname'], array('id' => 'cuthostname')), 'cuthostname');
    
$form_container->output_row($lang->server_disporder."<em> *</em>"$lang->server_disporder_desc$form->generate_text_box('disporder'$mybb->input['disporder'], array('id' => 'disporder')), 'disporder');
    
$form_container->output_row($lang->server_field_link$lang->server_field_link_desc$form->generate_text_box('field_link'$mybb->input['field_link'], array('id' => 'field_link')), 'field_link');
    
$form_container->output_row($lang->server_field_icon$lang->server_field_icon_desc$form->generate_text_box('field_icon'$mybb->input['field_icon'], array('id' => 'field_icon')), 'field_icon');
    
$form_container->output_row($lang->server_owner."<em> *</em>"$lang->server_owner_desc$form->generate_text_box('owner'$mybb->input['owner'], array('id' => 'owner')), 'owner');
    
$form_container->output_row($lang->server_visible$lang->server_visible_desc$form->generate_yes_no_radio('visible'$mybb->input['visible'], true));
    
$form_container->output_row($lang->server_new$lang->server_new_desc$form->generate_yes_no_radio('new'$mybb->input['new'], true));
    
$form_container->output_row($lang->server_new_color$lang->server_new_color_desc$form->generate_text_box('new_color'$mybb->input['new_color'], array('id' => 'new_color')), 'new_color');
    
$form_container->output_row($lang->server_new_text$lang->server_new_text_desc$form->generate_text_box('new_text'$mybb->input['new_text'], array('id' => 'new_text')), 'new_text');
    
//$form_container->output_row($lang->server_buddylist, $lang->server_buddylist_desc, $form->generate_text_area('buddylist', $mybb->input['buddylist'], array('id' => 'buddylist')), 'buddylist');
    
$form_container->end();

    
$buttons[] = $form->generate_submit_button($lang->server_edit_save);

    
$form->output_submit_wrapper($buttons);
    
$form->end();

    
$page->output_footer();
}

if(
$mybb->input['action'] == "delete")
{
    
$query $db->simple_select("serversboard""*""sid='".$mybb->get_input('sid'1)."'");
    
$server $db->fetch_array($query);
    
    if(!
$server['sid'])
    {
        
flash_message($lang->server_delete_error'error');
        
admin_redirect("index.php?module=config-serversboard");
    }
    
    
$plugins->run_hooks("admin_config_serversboard_delete");

    if(
$mybb->input['no'])
    {
        
admin_redirect("index.php?module=config-serversboard");
    }

    if(
$mybb->request_method == "post")
    {
        
$db->delete_query("serversboard""sid='{$server['sid']}'");
        
        
$plugins->run_hooks("admin_config_serversboard_delete_commit");

        
log_admin_action($server['sid'], $server['offlinehostname']);

        
flash_message($lang->server_delete_success'success');
        
admin_redirect("index.php?module=config-serversboard");
    }
    else
    {
        
$page->output_confirm_action("index.php?module=config-serversboard&amp;action=delete&amp;sid={$server['sid']}"$lang->server_confirm_deletion);
    }
}

if(
$mybb->input['action'] == "update_order" && $mybb->request_method == "post")
{    
    if(!
is_array($mybb->input['disporder']))
    {
        
admin_redirect("index.php?module=config-serversboard");
    }

    
$plugins->run_hooks("admin_config_serversboard_update_order");
    
    foreach(
$mybb->input['disporder'] as $sid => $order)
    {
        
$update_query = array(
            
"disporder" => intval($order)
        );
        
$db->update_query("serversboard"$update_query"sid='".intval($sid)."'");
    }
    
    
$plugins->run_hooks("admin_config_serversboard_update_order_commit");

    
log_admin_action();

    
flash_message($lang->servers_orders_updated_success'success');
    
admin_redirect("index.php?module=config-serversboard");
}

if(!
$mybb->input['action'])
{
    
$page->output_header($lang->servers_list);

    
$page->output_nav_tabs($sub_tabs'serversboard');

    
$form = new Form("index.php?module=config-serversboard&amp;action=update_order""post");
    
$table = new Table;
    
$table->construct_header($lang->servers_name, array('width' => '40%'));
    
$table->construct_header($lang->servers_status, array('width' => '10%'));
    
$table->construct_header($lang->servers_ip, array('width' => '10%'));
    
$table->construct_header($lang->servers_type, array('width' => '10%'));
    
$table->construct_header($lang->servers_order, array('width' => '10%''class' => 'align_center'));
    
$table->construct_header($lang->servers_options, array('width' => '10%''class' => 'align_center'));
    
    require_once 
SERVERSBOARD_CORE_PATH."gameq.php";
    
$query $db->simple_select("serversboard""*""", array('order_by' => 'disporder'));
    while(
$server $db->fetch_array($query))
    {
        switch(
$server['type'])
        {
            case 
"mta":
                
$ipexplode(":"$server['ip']);
                
$cos "123";
                
$ip1 $ip[1] + $cos;
                
$server['ip'] = $ip[0].":".$ip1;            
            break;
        }
        
        if(
$server['type'] == "teamspeak3")
        {
            
$servers = array(
                array(
                    
'type' => $server['type'],
                    
'host' => $server['ip'],
                    
'options' => array(
                        
'master_server_port' => $server['ts3qport'],
                    ),
                ),
            );    
        }
        else
        {
            
$servers = array(
                array(
                    
'type' => $server['type'],
                    
'host' => $server['ip'],
                ),
            );
        }
            
        if(
TIME_NOW $mybb->settings['serversboard_cache_time'] < $server['lastupdate'])
        {
            
$results = @unserialize($server['cache']);
        }
        else
        {
            
$gq = new GameQ();
            
$gq->addServers($servers);
            
$gq->setOption('timeout'5);
            
$gq->setFilter('normalise');
            
$gq->setFilter('stripcolor');
            
$results $gq->requestData();    
            
            
$update_query = array(
                
"cache"       => $db->escape_string(serialize($results)),
                
"lastupdate"   => TIME_NOW,
            );
            
$db->update_query("serversboard"$update_query"sid='".$server['sid']."'");            
        } 
            
        foreach(
$results as $data)
        
        if(
$data['gq_hostname'] == ""
        {        
            
$data['gq_hostname'] = $server['offlinehostname'];
            if(
$mybb->settings['serversboard_remove_host_onoff'] == '1'$data['gq_hostname'] = str_replace(explode(",",$mybb->settings['serversboard_remove_host']), ""$data['gq_hostname']);
            if(
$server['cuthostname'] != "" &&  $server['cuthostname'] > 1$data['gq_hostname'] = (my_strlen($data['gq_hostname']) > $server['cuthostname']) ? my_substr($data['gq_hostname'], 0$server['cuthostname']) . "..." $data['gq_hostname'];
            
$data['gq_status'] = $lang->servers_offline;
        }
        elseif(
$data['gq_hostname'] != ""
        {
            
$data['gq_hostname'] = $data['gq_hostname'];
            if(
$mybb->settings['serversboard_remove_host_onoff'] == '1'$data['gq_hostname'] = str_replace(explode(",",$mybb->settings['serversboard_remove_host']), ""$data['gq_hostname']);
            if(
$server['cuthostname'] != "" &&  $server['cuthostname'] > 1$data['gq_hostname'] = (my_strlen($data['gq_hostname']) > $server['cuthostname']) ? my_substr($data['gq_hostname'], 0$server['cuthostname']) . "..." $data['gq_hostname'];
            
$data['gq_status'] = $lang->servers_online;
            
            if(
$data['gq_numplayers'] > $server['recordplayers'] || $server['recordplayers'] > $data['gq_maxplayers'])
            {
                
$updated_server = array(
                    
"recordplayers" => $db->escape_string($data['gq_numplayers']),
                );
                
$db->update_query("serversboard"$updated_server"sid = '".$server['sid']."'");
            }
        }
    
        
$table->construct_cell("<a href=\"index.php?module=config-serversboard&amp;action=edit&amp;sid={$server['sid']}\"><strong>{$data['gq_hostname']}</strong></a>");
        
$table->construct_cell($data['gq_status']);
        
$table->construct_cell($server['ip']);
        
$table->construct_cell($server['type']);
        
$table->construct_cell($form->generate_text_box("disporder[{$server['sid']}]"$server['disporder'], array('id' => 'disporder''style' => 'width: 80%''class' => 'align_center')));
        
$popup = new PopupMenu("serversboard_{$server['sid']}"$lang->servers_options);
        
$popup->add_item($lang->server_option_edit"index.php?module=config-serversboard&amp;action=edit&amp;sid={$server['sid']}");
        
$popup->add_item($lang->server_option_delete"index.php?module=config-serversboard&amp;action=delete&amp;sid={$server['sid']}&amp;my_post_key={$mybb->post_code}""return AdminCP.deleteConfirmation(this, '{$lang->server_popup_confirm_deletion}')");
        
$table->construct_cell($popup->fetch(), array('class' => 'align_center'));
        
$table->construct_row();
    }
    
    if(
$table->num_rows()  == 0)
    {
        
$table->construct_cell($lang->no_servers, array('colspan' => 6));
        
$table->construct_row();
        
$no_results true;
    }
    
    
$table->output($lang->servers_list);

    if(!
$no_results)
    {
        
$buttons[] = $form->generate_submit_button($lang->save_servers_order);
        
$form->output_submit_wrapper($buttons);
    }

    
$form->end();

    
$page->output_footer();
}

?>
Nie zauważyłem jeszcze wcześniej rzeczy najważniejszej - błędów składniowych JS - tam w ogóle na początku/końcu nie powinno być apostrof, które pewnie skopiowałeś z kodu PHP.

Tu masz jeszcze przykład na osobnej podstronie w MyBB: https://github.com/mybb/mybb/blob/f700bf...s.php#L321



Użytkownicy przeglądający ten wątek:

1 gości