Webboard

Pełna wersja: Pobranie wpisu z ustawień do zmiennej
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Hej!
Dokumentację odnośnie tworzenia pluginów przejrzałem w interesujących mnie punktach. Składni php nie znam jako takiej, bardziej operuje na podobieństwach do C#.

W jaki sposób mogę uzyskać następujące ustawienie.
W PA -> ustawienia pluginu chciałbym mieć parę możliwości wpisu, na zasadzie:
  • Wzrost: [wpisz]

  • Wiek: [wpisz]
  • Długość paznokcia: [wpisz]
Następnie w kodzie właściwym pluginu chciałbym wykorzystać wprowadzone liczby w postaci zmiennych. Np.

Kod PHP:
if($wzorst 150) {
echo 
'ok'
}else
echo 
'nie ok'


Kod:
[optionscode] => textarea
[value] => '$wzrost'

Do głowy przychodzi mi tylko coś na tej zasadzie (fragment z tablicy ustawień). Tylko w tym wypadku prawdopodobnie musiałbym jakoś odwołać się do bazy danych by tą wartość pobrać, a tutaj już się mieszam.

Zamierzam napisać prosty (przynajmniej w działaniu) plugin głównie na potrzeby własne, aczkolwiek udostępnię go też publicznie. Jeśli znalazłby się ktoś kto napisałby mi funkcję is_installed() tak by uzyskać wspomniany efekt ustawień, bądź silnie naprowadził (odnośnik do dokumentacji nie pomoże, jako że czytam ją na bieżąco, ew. jakiś przykład pluginu, który działa na podobnej zasadzie z jakimś objaśnieniem) byłbym wdzięczny, bądź jeśli to kogokolwiek ma taką potrzebę mogę dodać do autorów pluginu ;)

//
Pole value jednak musi pozostać puste, w części wykonującej muszę po prostu pobrać wartość z ustawienia na zasadzie
Kod:
$mybb->settings['nazwa ustawienia']
W takim razie w samych ustawieniach muszę wklepać to do bazy danych:
Kod:
$db->insert_query('settings', $ustawienie)
dla konkretnego ustawienia i
Kod:
global $db;
    $query = $db->simple_select("settinggroups", "COUNT(*) as rows");
    $rows = $db->fetch_field($query, "rows");

    $insertarray = array(
        'gid' => 'NULL',
        'name' => '',
        'title' => '',
        'description' => '',
        'disporder' => '',
        'isdefault' => ''
    );
    $db->insert_query("settinggroups", $insertarray);
    $group['gid'] = $db->insert_id();
dla całości ustawień. Dobrze rozumuje na podstawie analizy pewnego przestarzałego pluginu?
Kod PHP:
// Tworzymy nową grupę ustawien
    
    
$max_disporder $db->fetch_field($db->simple_select("settinggroups""MAX(disporder) AS max_disporder"), "max_disporder");
    
    
$settinggroups = array(
        
"gid"                    => "NULL",
        
"name"             => "forumteamonline"
        
"title"                 => $db->escape_string("Nazwa"),
        
"description"    => $db->escape_string("Opis"),
        
"disporder"         => $max_disporder 1,
        
"isdefault"        => "0",
    );
    
$gid $db->insert_query("settinggroups"$settinggroups);
    
    
// Dodajemy ustawienia
    
    
$settings = array();
    
    
$settings[] = array(
        
"sid"                    => "NULL",
        
"name"            => "forumteamonline_onoff"// nazwa opcji
        
"title"                => $db->escape_string("Nazwa widoczna w acp"),
        
"description"    => $db->escape_string("Opis widoczny w acp"),
        
"optionscode"    => "text",
        
"value"                => "1",
        
"disporder"        => "1",
        
"gid"                    => $gid,
        
"isdefault"            => "0",
    );
    
    
$db->insert_query_multiple("settings"$settings);
    
    
rebuild_settings();
    
    
// Sprawdzamy wartsc
    
    
if($mybb->settings['forumteamonline_onoff'] != "1")
    {
        return;
    } 

czyli nazwa ustawienia jest kluczem tablicy