Własny szablon jako zmienna

Założony przez  Poftorek.

Chciałbym zrobić szablon globalny, którego zawartością będzie zmienna {$kontaktwpanelu}
Próbowałem w sposób widoczny w kodzie, tj. $templates i usunięcie $kontaktwpanelu z zawartością. Do szablonu dodaje się kod, jednak tylko dodaje się tytuł z ustawienia a numer gg np. nie.

<?


// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Plik ten nie może być dostępny bezpośrednio.");
}


 
$plugins->add_hook('index_start''kontaktwpanelu'); // Dodawanie hooków, używamy index_start bo wyświetla się na stronie głównej, tworzy mój hook

function kontaktwpanelu_info() { // Dodaje funkcje do listy pluginów
    
return array( // Zwraca
        
"name"            =>    "Kontakt w panelu bocznym"// Tytuł pluginu w kodzie
        
"description"    =>    "Plugin dodaje tabelę kontaktu, zaleca się dodanie go do panelu bocznego."// Opis pluginu w kodzie
        
"website"        =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"author"        =>    "Fyeem"// Autor: Fyeem
        
"authorsite"    =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"version"        =>    "3.0"// Wersja pluginu
        
"compatibility" =>  "18*" // kompatybilność pluginu z silnikami 1.8.X
    
); // Zamyka zwracanie
// Zamyka tą funkcję


function kontaktwpanelu_activate() { // Aktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
    
    
 
    
// Zakładka Konfiguracja w ACP
    
$kontaktwpanelu_group_settings = array(  // Ta zmienna $ = zwraca 
        
"gid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_option_category"// Nazwa w kodzie 
        
"title"             => "Kontakt w panelu bocznym"// Tytuł pluginu
        
"description"       => "Skonfiguruj swój panel kontaktu."// Opis pluginu
        
"disporder"         => "50"// Kolejność pluginu
        
"isdefault"         => "yes" // Włączone domyślnie: tak // zmiana na no jeśli nie działa
            
); //Zamyka zwracanie
            
    
$db->insert_query("settinggroups"$kontaktwpanelu_group_settings); // Do bazy danych, do kolumny ustawień - grup, dodajemy dane z powyższej konfiguracji
    
$gid $db->insert_id(); 
    
    
    
// Ustawienia, pierwsze pole, włączony/wyłączony
    
$option_1 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_enabled"// Nazwa w kodzie pola pierwszego
        
"title"             => "Plugin włączony/wyłączony"// Nazwa pierwszego pola
        
"description"       => "Włącz lub wyłącz plugin: <b>Kontakt w panelu bocznym.</b>"// Opis pierwszego pola
        
"optionscode"       => "yesno"// Opcja wyboru tak/nie
        
"value"             => "yes"// Wartość domyślna: tak
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "1"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_1); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
            
// Ustawienia, drugie pole, tytuł kontaktu 
    
$option_2 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "nazwa_kontaktu"// Nazwa w kodzie pola drugiego
        
"title"             => "Nazwa panelu kontaktu"// Nazwa drugiego pola
        
"description"       => "Wpisz nazwą swojego panelu kontaktu."// Opis drugiego pola
        
"optionscode"       => "text"// Opcja jednolinijkowego miejsca na wpisanie jednej linijki tekstu tj. tytułu
        
"value"             => 'Kontakt'// Wartość domyślna: Kontakt
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "2"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_2); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji

// Ustawienia, trzecie pole, dane osoby do kontaktu
    
$option_3 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_daneadminow"// Nazwa w kodzie trzeciego pola
        
"title"             => "ID użytkownika i numer GG"// Nazwa trzeciego pola
        
"description"       => "Uzupełnij to według wzoru: <b>ID_użytkownika Numer_GG</b> - Jeśli jest więcej użytkowników, których chcesz dodać do panelu niż 1, na końcu linijki z danymi pierwszego użytkownika dodawanego, umieść przecinek: <b>ID_użytkownika Numer_GG,</b>"// Opis trzeciego pola
        
"optionscode"       => "textarea"// Opcja wielolinijkowego miejsca na wpisanie kilku linijek tekstu tj. danych użytkowników
        
"value"             => 'ID_użytkownika Numer_GG'// Wartość domyślna: ID_użytkownika Numer_GG 
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "3"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
        
$db->insert_query("settings"$option_3); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
 
rebuild_settings();
       
      
/* $template = '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '.$Admin[1].'</span> 
<div class="gg"><a href="gg:'.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>';

$insert_array = array(
    'title' => 'kontaktwpanelu',
    'template' => $db->escape_string($template),
    'sid' => '-1',
    'version' => '',
    'dateline' => time()
);

$db->insert_query('templates', $insert_array);*/
       
            // Ja nie używam więc na razie usuwam //  require MYBB_ROOT."/inc/adminfunctions_templates.php"; // Podajemy, jaki plik jest wymagany do działania pluginu, podałem ten, bo dzięki niemu, możemy zastosować zmianę np. <body> w index na <body>{$zmienna_pluginu_naszego} 
// Zamykamy aktywację pluginu


function kontaktwpanelu_deactivate() { // Dezaktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
/*$db->delete_query("templates", "title = 'kontaktwpanelu'");*/

    
$db->delete_query('settinggroups''name = "kontaktwpanelu_option_category"'); // Usuwamy z bazy danych to, co dodaliśmy w 27. linijce zapytaniem wykonanym w 34. linijce
    
$db->delete_query('settings''name IN("kontaktwpanelu_enabled, nazwa_kontaktu, kontaktwpanelu_daneadminow")'); // Usuwamy z bazy danych ustawienia, nazwy to 41; 55; 69 linijki 
 
rebuild_settings();
    require 
MYBB_ROOT."/inc/adminfunctions_templates.php"// Tym plikiem możemy bawić się w szablonie, np. usuwać zmienną
    
find_replace_templatesets('index''#(\n?){\$kontaktwpanelu}#'''0); // Zabawa w szablonie: index, usuwamy zmienną: {$kontaktwpanelu}    
 
// Zamykamy dezaktywację pluginu


function kontaktwpanelu() { // Co robi moja funkcja
    
global $mybb$kontaktwpanelu// Używanie mybb i mojej zmiennej pluginu
    
if ($mybb->settings['kontaktwpanelu_enabled'] == 1) { // Jeżeli ustawienie linijki 39. jest ustawione na tak (yes) (1)
        
    
$DaneAdminow explode(","$mybb->settings['kontaktwpanelu_daneadminow']); 
    foreach(
$DaneAdminow as $DaneAdmina) {
    
$Admin explode(" "$DaneAdmina);
    
    
$user get_user($Admin[0]); // Admin[0] daje nam takie cuś
    
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); // Formatowanie nicku wg formatu jego grupy
    
$user['profilelink'] = build_profile_link($user['username'], $user['uid']); // Link do profilu
$steam NULL;
$skype NULL;
if(!empty(
$Admin[2])){
$steam "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/steam.png\" /> Steam: {$Admin[2]}</span>";
}
if(!empty(
$Admin[3])){
$skype "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/skype.png\" /> Skype: {$Admin[3]}</span>";
}
   
//$kontaktwpanelu = '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
//    <tbody><tr><td class="thead">'.$mybb->settings['nazwa_kontaktu'].'</td></tr>';                             // Zamiana mojej zmiennej w szablonie index na to, to jest pierwsza część


$kontaktwpanelu  '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'
.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'
.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '
.$Admin[1].'</span> '.$steam.'
'
.$skype.'
<div class="gg"><a href="gg:'
.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='
.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>'
// Koniec zawartości tej zmiennej

// Zamykamy CAŁĄ funkcję

// $kontaktwpanelu .= '</tbody></table>'; // Zamykamy zawartość tej zmiennej - końcówka

// Zamknięcie { w 97
// Zamknięcie { w 100
        
        
?>
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08
Globalizujesz $templates i używasz eval();. Zobacz jak to jest użyte na jakimś przykładzie.
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
To znaczy tak?
<?


// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Plik ten nie może być dostępny bezpośrednio.");
}


 
$plugins->add_hook('index_start''kontaktwpanelu'); // Dodawanie hooków, używamy index_start bo wyświetla się na stronie głównej, tworzy mój hook

function kontaktwpanelu_info() { // Dodaje funkcje do listy pluginów
    
return array( // Zwraca
        
"name"            =>    "Kontakt w panelu bocznym"// Tytuł pluginu w kodzie
        
"description"    =>    "Plugin dodaje tabelę kontaktu, zaleca się dodanie go do panelu bocznego."// Opis pluginu w kodzie
        
"website"        =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"author"        =>    "Fyeem"// Autor: Fyeem
        
"authorsite"    =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"version"        =>    "3.0"// Wersja pluginu
        
"compatibility" =>  "18*" // kompatybilność pluginu z silnikami 1.8.X
    
); // Zamyka zwracanie
// Zamyka tą funkcję


function kontaktwpanelu_activate() { // Aktywacja pluginu
    
global $db$mybb$templates$kontaktwpanelu// Używanie bazy danych i mybb
    
    
 
    
// Zakładka Konfiguracja w ACP
    
$kontaktwpanelu_group_settings = array(  // Ta zmienna $ = zwraca 
        
"gid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_option_category"// Nazwa w kodzie 
        
"title"             => "Kontakt w panelu bocznym"// Tytuł pluginu
        
"description"       => "Skonfiguruj swój panel kontaktu."// Opis pluginu
        
"disporder"         => "50"// Kolejność pluginu
        
"isdefault"         => "yes" // Włączone domyślnie: tak // zmiana na no jeśli nie działa
            
); //Zamyka zwracanie
            
    
$db->insert_query("settinggroups"$kontaktwpanelu_group_settings); // Do bazy danych, do kolumny ustawień - grup, dodajemy dane z powyższej konfiguracji
    
$gid $db->insert_id(); 
    
    
    
// Ustawienia, pierwsze pole, włączony/wyłączony
    
$option_1 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_enabled"// Nazwa w kodzie pola pierwszego
        
"title"             => "Plugin włączony/wyłączony"// Nazwa pierwszego pola
        
"description"       => "Włącz lub wyłącz plugin: <b>Kontakt w panelu bocznym.</b>"// Opis pierwszego pola
        
"optionscode"       => "yesno"// Opcja wyboru tak/nie
        
"value"             => "yes"// Wartość domyślna: tak
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "1"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_1); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
            
// Ustawienia, drugie pole, tytuł kontaktu 
    
$option_2 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "nazwa_kontaktu"// Nazwa w kodzie pola drugiego
        
"title"             => "Nazwa panelu kontaktu"// Nazwa drugiego pola
        
"description"       => "Wpisz nazwą swojego panelu kontaktu."// Opis drugiego pola
        
"optionscode"       => "text"// Opcja jednolinijkowego miejsca na wpisanie jednej linijki tekstu tj. tytułu
        
"value"             => 'Kontakt'// Wartość domyślna: Kontakt
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "2"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_2); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji

// Ustawienia, trzecie pole, dane osoby do kontaktu
    
$option_3 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_daneadminow"// Nazwa w kodzie trzeciego pola
        
"title"             => "ID użytkownika i numer GG"// Nazwa trzeciego pola
        
"description"       => "Uzupełnij to według wzoru: <b>ID_użytkownika Numer_GG</b> - Jeśli jest więcej użytkowników, których chcesz dodać do panelu niż 1, na końcu linijki z danymi pierwszego użytkownika dodawanego, umieść przecinek: <b>ID_użytkownika Numer_GG,</b>"// Opis trzeciego pola
        
"optionscode"       => "textarea"// Opcja wielolinijkowego miejsca na wpisanie kilku linijek tekstu tj. danych użytkowników
        
"value"             => 'ID_użytkownika Numer_GG'// Wartość domyślna: ID_użytkownika Numer_GG 
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "3"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
        
$db->insert_query("settings"$option_3); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
 
rebuild_settings();
       
       
// Szablon tworzy globalny
       
$kontaktwpanelu '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'
.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'
.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '
.$Admin[1].'</span> 
<div class="gg"><a href="gg:'
.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='
.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>'
;
//Zamiana zmiennej na zawartosc mojego szablonu
eval('$kontaktwpanelu  = "' $templates->get('kontaktwpanelu_template') . '";');
       
       
       
$template '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'
.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'
.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '
.$Admin[1].'</span> 
<div class="gg"><a href="gg:'
.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='
.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>'
;

$insert_array = array(
    
'title' => 'kontaktwpanelu',
    
'template' => $db->escape_string($template),
    
'sid' => '-1',
    
'version' => '',
    
'dateline' => time()
);

$db->insert_query('templates'$insert_array);
       
            
// Ja nie używam więc na razie usuwam //  require MYBB_ROOT."/inc/adminfunctions_templates.php"; // Podajemy, jaki plik jest wymagany do działania pluginu, podałem ten, bo dzięki niemu, możemy zastosować zmianę np. <body> w index na <body>{$zmienna_pluginu_naszego} 
// Zamykamy aktywację pluginu


function kontaktwpanelu_deactivate() { // Dezaktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
/*$db->delete_query("templates", "title = 'kontaktwpanelu'");*/

    
$db->delete_query('settinggroups''name = "kontaktwpanelu_option_category"'); // Usuwamy z bazy danych to, co dodaliśmy w 27. linijce zapytaniem wykonanym w 34. linijce
    
$db->delete_query('settings''name IN("kontaktwpanelu_enabled, nazwa_kontaktu, kontaktwpanelu_daneadminow")'); // Usuwamy z bazy danych ustawienia, nazwy to 41; 55; 69 linijki 
 
rebuild_settings();
    require 
MYBB_ROOT."/inc/adminfunctions_templates.php"// Tym plikiem możemy bawić się w szablonie, np. usuwać zmienną
    
find_replace_templatesets('index''#(\n?){\$kontaktwpanelu}#'''0); // Zabawa w szablonie: index, usuwamy zmienną: {$kontaktwpanelu}    
 
// Zamykamy dezaktywację pluginu


function kontaktwpanelu() { // Co robi moja funkcja
    
global $mybb$kontaktwpanelu// Używanie mybb i mojej zmiennej pluginu
    
if ($mybb->settings['kontaktwpanelu_enabled'] == 1) { // Jeżeli ustawienie linijki 39. jest ustawione na tak (yes) (1)
        
    
$DaneAdminow explode(","$mybb->settings['kontaktwpanelu_daneadminow']); 
    foreach(
$DaneAdminow as $DaneAdmina) {
    
$Admin explode(" "$DaneAdmina);
    
    
$user get_user($Admin[0]); // Admin[0] daje nam takie cuś
    
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); // Formatowanie nicku wg formatu jego grupy
    
$user['profilelink'] = build_profile_link($user['username'], $user['uid']); // Link do profilu
$steam NULL;
$skype NULL;
if(!empty(
$Admin[2])){
$steam "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/steam.png\" /> Steam: {$Admin[2]}</span>";
}
if(!empty(
$Admin[3])){
$skype "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/skype.png\" /> Skype: {$Admin[3]}</span>";
}
   
//$kontaktwpanelu = '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
//    <tbody><tr><td class="thead">'.$mybb->settings['nazwa_kontaktu'].'</td></tr>';                             // Zamiana mojej zmiennej w szablonie index na to, to jest pierwsza część


$kontaktwpanelu  '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'
.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'
.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '
.$Admin[1].'</span> '.$steam.'
'
.$skype.'
<div class="gg"><a href="gg:'
.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='
.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>'
// Koniec zawartości tej zmiennej

// Zamykamy CAŁĄ funkcję

// $kontaktwpanelu .= '</tbody></table>'; // Zamykamy zawartość tej zmiennej - końcówka

// Zamknięcie { w 97
// Zamknięcie { w 100
        
        
?>
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08
Nie
W funkcji instalacji dodajemy szablon do bazy.
W funkcji ktora ma wyswietlac kod za pomoca funkcji get pobieramy szablon
Orientuje się ktoś, jakie pluginy mają prosty kod i tworzą to, co ja chcę zrobić?

1. Muszę mieć instalację?
2. get powiadzasz?
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08
Tak get

w instalacji dodajesz

$templates = array();
 
 
$templates[] = array(
 
// "tid"   => "",
 
"title" => "szablon1",
 
"template" => $db->escape_string('zawartosc szablonu 1'),
 
"sid" => "-2",
 
"version" => "2.0",
 
"status" => "",
 
"dateline" => TIME_NOW,
 );
 
 
$templates[] = array(
 
// "tid" => "",
 
"title" => "szablon2",
"template" => $db->escape_string('zawartosc szablon 2'),
 
"sid" => "-2",
 
"version" => "2.0",
 
"status" => "",
 
"dateline" => TIME_NOW,
 );
 
 
 
$db->insert_query_multiple("templates"$templates); 

w funkcji wlasciwej do globalnych dodaj $templates

i teraz w zależności jak tego chcesz użyć

eval("\$post['message'] = \"".$templates->get("szablon1")."\";"); 
dla szablonów w pentli while, for, foreach należy dopisać coś do zmiennej a nie ją nadpisać

eval("\$row .= \"".$templates->get("szablon2")."\";"); 
No i nie działa :C

<?


// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Plik ten nie może być dostępny bezpośrednio.");
}

 
$plugins->add_hook('index_start''kontaktwpanelu'); // Dodawanie hooków, używamy index_start bo wyświetla się na stronie głównej, tworzy mój hook

function kontaktwpanelu_info() { // Dodaje funkcje do listy pluginów
    
return array( // Zwraca
        
"name"            =>    "Kontakt w panelu bocznym"// Tytuł pluginu w kodzie
        
"description"    =>    "Plugin dodaje tabelę kontaktu, zaleca się dodanie go do panelu bocznego."// Opis pluginu w kodzie
        
"website"        =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"author"        =>    "Fyeem"// Autor: Fyeem
        
"authorsite"    =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"version"        =>    "3.0"// Wersja pluginu
        
"compatibility" =>  "18*" // kompatybilność pluginu z silnikami 1.8.X
    
); // Zamyka zwracanie
// Zamyka tą funkcję


function kontaktwpanelu_activate() { // Aktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
    
$templates = array();

 
$templates[] = array(
 
// "tid"   => "",
 
"title" => "szablon1",
 
"template" => $db->escape_string('zawartosc szablonu 1'),
 
"sid" => "-2",
 
"version" => "2.0",
 
"status" => "",
 
"dateline" => TIME_NOW,
 );

 
$templates[] = array(
 
// "tid" => "",
 
"title" => "szablon2",
"template" => $db->escape_string('zawartosc szablon 2'),
 
"sid" => "-2",
 
"version" => "2.0",
 
"status" => "",
 
"dateline" => TIME_NOW,
 );


 
$db->insert_query_multiple("templates"$templates);
 
// Zakładka Konfiguracja w ACP
    
$kontaktwpanelu_group_settings = array(  // Ta zmienna $ = zwraca 
        
"gid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_option_category"// Nazwa w kodzie 
        
"title"             => "Kontakt w panelu bocznym"// Tytuł pluginu
        
"description"       => "Skonfiguruj swój panel kontaktu."// Opis pluginu
        
"disporder"         => "50"// Kolejność pluginu
        
"isdefault"         => "yes" // Włączone domyślnie: tak // zmiana na no jeśli nie działa
            
); //Zamyka zwracanie
            
    
$db->insert_query("settinggroups"$kontaktwpanelu_group_settings); // Do bazy danych, do kolumny ustawień - grup, dodajemy dane z powyższej konfiguracji
    
$gid $db->insert_id(); 
    
    
    
// Ustawienia, pierwsze pole, włączony/wyłączony
    
$option_1 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_enabled"// Nazwa w kodzie pola pierwszego
        
"title"             => "Plugin włączony/wyłączony"// Nazwa pierwszego pola
        
"description"       => "Włącz lub wyłącz plugin: <b>Kontakt w panelu bocznym.</b>"// Opis pierwszego pola
        
"optionscode"       => "yesno"// Opcja wyboru tak/nie
        
"value"             => "yes"// Wartość domyślna: tak
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "1"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_1); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
            
// Ustawienia, drugie pole, tytuł kontaktu 
    
$option_2 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "nazwa_kontaktu"// Nazwa w kodzie pola drugiego
        
"title"             => "Nazwa panelu kontaktu"// Nazwa drugiego pola
        
"description"       => "Wpisz nazwą swojego panelu kontaktu."// Opis drugiego pola
        
"optionscode"       => "text"// Opcja jednolinijkowego miejsca na wpisanie jednej linijki tekstu tj. tytułu
        
"value"             => 'Kontakt'// Wartość domyślna: Kontakt
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "2"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_2); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji

// Ustawienia, trzecie pole, dane osoby do kontaktu
    
$option_3 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_daneadminow"// Nazwa w kodzie trzeciego pola
        
"title"             => "ID użytkownika i numer GG"// Nazwa trzeciego pola
        
"description"       => "Uzupełnij to według wzoru: <b>ID_użytkownika Numer_GG</b> - Jeśli jest więcej użytkowników, których chcesz dodać do panelu niż 1, na końcu linijki z danymi pierwszego użytkownika dodawanego, umieść przecinek: <b>ID_użytkownika Numer_GG,</b>"// Opis trzeciego pola
        
"optionscode"       => "textarea"// Opcja wielolinijkowego miejsca na wpisanie kilku linijek tekstu tj. danych użytkowników
        
"value"             => 'ID_użytkownika Numer_GG'// Wartość domyślna: ID_użytkownika Numer_GG 
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "3"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
        
$db->insert_query("settings"$option_3); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
 
rebuild_settings();
       
     
// Zamykamy aktywację pluginu


function kontaktwpanelu_uninstall() { // Dezaktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
/*$db->delete_query("templates", "title = 'kontaktwpanelu'");*/

    
$db->delete_query('settinggroups''name = "kontaktwpanelu_option_category"'); // Usuwamy z bazy danych to, co dodaliśmy w 27. linijce zapytaniem wykonanym w 34. linijce
    
$db->delete_query('settings''name IN("kontaktwpanelu_enabled, nazwa_kontaktu, kontaktwpanelu_daneadminow")'); // Usuwamy z bazy danych ustawienia, nazwy to 41; 55; 69 linijki 
 
rebuild_settings();
    require 
MYBB_ROOT."/inc/adminfunctions_templates.php"// Tym plikiem możemy bawić się w szablonie, np. usuwać zmienną
    
find_replace_templatesets('index''#(\n?){\$kontaktwpanelu}#'''0); // Zabawa w szablonie: index, usuwamy zmienną: {$kontaktwpanelu}    
 
// Zamykamy dezaktywację pluginu


function kontaktwpanelu() { // Co robi moja funkcja
    
global $mybb$kontaktwpanelu$templates// Używanie mybb i mojej zmiennej pluginu
    
if ($mybb->settings['kontaktwpanelu_enabled'] == 1) { // Jeżeli ustawienie linijki 39. jest ustawione na tak (yes) (1)
        
    
$DaneAdminow explode(","$mybb->settings['kontaktwpanelu_daneadminow']); 
    foreach(
$DaneAdminow as $DaneAdmina) {
    
$Admin explode(" "$DaneAdmina);
    
    
$user get_user($Admin[0]); // Admin[0] daje nam takie cuś
    
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); // Formatowanie nicku wg formatu jego grupy
    
$user['profilelink'] = build_profile_link($user['username'], $user['uid']); // Link do profilu
$steam NULL;
$skype NULL;
if(!empty(
$Admin[2])){
$steam "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/steam.png\" /> Steam: {$Admin[2]}</span>";
}
if(!empty(
$Admin[3])){
$skype "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/skype.png\" /> Skype: {$Admin[3]}</span>";
}
   
//$kontaktwpanelu = '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
//    <tbody><tr><td class="thead">'.$mybb->settings['nazwa_kontaktu'].'</td></tr>';                             // Zamiana mojej zmiennej w szablonie index na to, to jest pierwsza część


$kontaktwpanelu  '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'
.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'
.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '
.$Admin[1].'</span> '.$steam.'
'
.$skype.'
<div class="gg"><a href="gg:'
.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='
.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>'
// Koniec zawartości tej zmiennej

eval("\$post['message'] = \"".$templates->get("szablon1")."\";");
eval(
"\$row .= \"".$templates->get("szablon2")."\";");


// Zamykamy CAŁĄ funkcję

// $kontaktwpanelu .= '</tbody></table>'; // Zamykamy zawartość tej zmiennej - końcówka

// Zamknięcie { w 97
// Zamknięcie { w 100
        
        
?>
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08
Bo ja Ci nie podalem gotowca
Przypatrz sie co musisz zmienic
(20.10.2016, 15:09)Supryk napisał(a): Bo ja Ci nie podalem gotowca
Przypatrz sie co musisz zmienic
Te eval'e?
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08
wurzc sobie HTML już do gory do instalacji
Tak, coś w evalu - zmienna
Tworzy mi to szablon, ale zawartość jest taka i wyświetla:http://screenshot.sh/oAH9cGzRT40YP
<table border="0" cellspacing="0" cellpadding="5" class="tborder"
                    <
tbody><tr><td class="thead">Kontakt</td></tr>
    
 <
tr><td class="trow1"><center><span style="font-size:18px;"></span
<
br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: </span

<
div class="gg"><a href="gg:"
<
img src="http://status.gadu-gadu.pl/users/status.asp?id=&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</
center></td
</
tr>
</
tbody></table



<?


// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Plik ten nie może być dostępny bezpośrednio.");
}

 
$plugins->add_hook('index_start''kontaktwpanelu'); // Dodawanie hooków, używamy index_start bo wyświetla się na stronie głównej, tworzy mój hook

function kontaktwpanelu_info() { // Dodaje funkcje do listy pluginów
    
return array( // Zwraca
        
"name"            =>    "Kontakt w panelu bocznym"// Tytuł pluginu w kodzie
        
"description"    =>    "Plugin dodaje tabelę kontaktu, zaleca się dodanie go do panelu bocznego."// Opis pluginu w kodzie
        
"website"        =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"author"        =>    "Fyeem"// Autor: Fyeem
        
"authorsite"    =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"version"        =>    "3.0"// Wersja pluginu
        
"compatibility" =>  "18*" // kompatybilność pluginu z silnikami 1.8.X
    
); // Zamyka zwracanie
// Zamyka tą funkcję


function kontaktwpanelu_activate() { // Aktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
 

$template '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">'
.$mybb->settings['nazwa_kontaktu'].'</td></tr>
    
 <tr><td class="trow1"><center><span style="font-size:18px;">'
.$user['profilelink'].'</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: '
.$Admin[1].'</span> '.$steam.'
'
.$skype.'
<div class="gg"><a href="gg:'
.$Admin[1].'"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id='
.$Admin[1].'&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>
</tbody></table>'
;

$insert_array = array(
    
'title' => 'kontaktwpanelu',
    
'template' => $db->escape_string($template),
    
'sid' => '-1',
    
'version' => '',
    
'dateline' => time()
);

$db->insert_query('templates'$insert_array);
 
// Zakładka Konfiguracja w ACP
    
$kontaktwpanelu_group_settings = array(  // Ta zmienna $ = zwraca 
        
"gid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_option_category"// Nazwa w kodzie 
        
"title"             => "Kontakt w panelu bocznym"// Tytuł pluginu
        
"description"       => "Skonfiguruj swój panel kontaktu."// Opis pluginu
        
"disporder"         => "50"// Kolejność pluginu
        
"isdefault"         => "yes" // Włączone domyślnie: tak // zmiana na no jeśli nie działa
            
); //Zamyka zwracanie
            
    
$db->insert_query("settinggroups"$kontaktwpanelu_group_settings); // Do bazy danych, do kolumny ustawień - grup, dodajemy dane z powyższej konfiguracji
    
$gid $db->insert_id(); 
    
    
    
// Ustawienia, pierwsze pole, włączony/wyłączony
    
$option_1 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_enabled"// Nazwa w kodzie pola pierwszego
        
"title"             => "Plugin włączony/wyłączony"// Nazwa pierwszego pola
        
"description"       => "Włącz lub wyłącz plugin: <b>Kontakt w panelu bocznym.</b>"// Opis pierwszego pola
        
"optionscode"       => "yesno"// Opcja wyboru tak/nie
        
"value"             => "yes"// Wartość domyślna: tak
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "1"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_1); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
            
// Ustawienia, drugie pole, tytuł kontaktu 
    
$option_2 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "nazwa_kontaktu"// Nazwa w kodzie pola drugiego
        
"title"             => "Nazwa panelu kontaktu"// Nazwa drugiego pola
        
"description"       => "Wpisz nazwą swojego panelu kontaktu."// Opis drugiego pola
        
"optionscode"       => "text"// Opcja jednolinijkowego miejsca na wpisanie jednej linijki tekstu tj. tytułu
        
"value"             => 'Kontakt'// Wartość domyślna: Kontakt
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "2"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_2); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji

// Ustawienia, trzecie pole, dane osoby do kontaktu
    
$option_3 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_daneadminow"// Nazwa w kodzie trzeciego pola
        
"title"             => "ID użytkownika i numer GG"// Nazwa trzeciego pola
        
"description"       => "Uzupełnij to według wzoru: <b>ID_użytkownika Numer_GG</b> - Jeśli jest więcej użytkowników, których chcesz dodać do panelu niż 1, na końcu linijki z danymi pierwszego użytkownika dodawanego, umieść przecinek: <b>ID_użytkownika Numer_GG,</b>"// Opis trzeciego pola
        
"optionscode"       => "textarea"// Opcja wielolinijkowego miejsca na wpisanie kilku linijek tekstu tj. danych użytkowników
        
"value"             => 'ID_użytkownika Numer_GG'// Wartość domyślna: ID_użytkownika Numer_GG 
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "3"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
        
$db->insert_query("settings"$option_3); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
 
rebuild_settings();
       
     
// Zamykamy aktywację pluginu


function kontaktwpanelu_deactivate() { // Dezaktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
/*$db->delete_query("templates", "title = 'kontaktwpanelu'");*/
$db->delete_query("templates""title = 'kontaktwpanelu'");

    
$db->delete_query('settinggroups''name = "kontaktwpanelu_option_category"'); // Usuwamy z bazy danych to, co dodaliśmy w 27. linijce zapytaniem wykonanym w 34. linijce
    
$db->delete_query('settings''name IN("kontaktwpanelu_enabled, nazwa_kontaktu, kontaktwpanelu_daneadminow")'); // Usuwamy z bazy danych ustawienia, nazwy to 41; 55; 69 linijki 
 
rebuild_settings();
    require 
MYBB_ROOT."/inc/adminfunctions_templates.php"// Tym plikiem możemy bawić się w szablonie, np. usuwać zmienną
    
find_replace_templatesets('index''#(\n?){\$kontaktwpanelu}#'''0); // Zabawa w szablonie: index, usuwamy zmienną: {$kontaktwpanelu}    
 
// Zamykamy dezaktywację pluginu


function kontaktwpanelu() { // Co robi moja funkcja
    
global $mybb$kontaktwpanelu$templates// Używanie mybb i mojej zmiennej pluginu
    
if ($mybb->settings['kontaktwpanelu_enabled'] == 1// Jeżeli ustawienie linijki 39. jest ustawione na tak (yes) (1)

        
    
$DaneAdminow explode(","$mybb->settings['kontaktwpanelu_daneadminow']); 
    foreach(
$DaneAdminow as $DaneAdmina) {
    
$Admin explode(" "$DaneAdmina);
    
    
$user get_user($Admin[0]); // Admin[0] daje nam takie cuś
    
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); // Formatowanie nicku wg formatu jego grupy
    
$user['profilelink'] = build_profile_link($user['username'], $user['uid']); // Link do profilu
$steam NULL;
$skype NULL;
if(!empty(
$Admin[2])){
$steam "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/steam.png\" /> Steam: {$Admin[2]}</span>";
}
if(!empty(
$Admin[3])){
$skype "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/skype.png\" /> Skype: {$Admin[3]}</span>";
}
    
    eval(
"\$kontaktwpanelu = \"".$templates->get("kontaktwpanelu")."\";");

// Zamykamy CAŁĄ funkcję

// Zamknięcie { w 97
// Zamknięcie { w 100
        
        
?>
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08
ehhh
<?


// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
    die(
"Plik ten nie może być dostępny bezpośrednio.");
}

 
$plugins->add_hook('index_start''kontaktwpanelu'); // Dodawanie hooków, używamy index_start bo wyświetla się na stronie głównej, tworzy mój hook

function kontaktwpanelu_info() { // Dodaje funkcje do listy pluginów
    
return array( // Zwraca
        
"name"            =>    "Kontakt w panelu bocznym"// Tytuł pluginu w kodzie
        
"description"    =>    "Plugin dodaje tabelę kontaktu, zaleca się dodanie go do panelu bocznego."// Opis pluginu w kodzie
        
"website"        =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"author"        =>    "Fyeem"// Autor: Fyeem
        
"authorsite"    =>    "https://webboard.pl/user-36883.html"// Stworzył ten plugin użytkownik z tego linku
        
"version"        =>    "3.0"// Wersja pluginu
        
"compatibility" =>  "18*" // kompatybilność pluginu z silnikami 1.8.X
    
); // Zamyka zwracanie
// Zamyka tą funkcję


function kontaktwpanelu_activate() { // Aktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
 
$insert_array22 = array(
    
'title' => 'kontaktwpanelu',
    
'template' => $db->escape_string('<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
                    <tbody><tr><td class="thead">{$mybb->settings[\'nazwa_kontaktu\']}</td></tr>
                        {$kontaktwpanelurow}
</tbody></table>'
),
    
'sid' => '-1',
    
'version' => '',
    
'dateline' => time()
);
$db->insert_query('templates'$insert_array22);
 
$insert_array33 = array(
    
'title' => 'kontaktwpanelurow',
    
'template' => $db->escape_string('<tr><td class="trow1"><center><span style="font-size:18px;">{$user[\'profilelink\']}</span> 
<br /><span style="font-size:11px;"><img src="/images/firstf/gg.png" /> GG: {$Admin[1]}</span> {$steam}
    {$skype}
<div class="gg"><a href="gg:{$Admin[1]}"> 
<img src="http://status.gadu-gadu.pl/users/status.asp?id={$Admin[1]}&amp;styl=3" style="height: 32px; width:143;"></a></div><br>
</center></td> 
</tr>'
),
    
'sid' => '-1',
    
'version' => '',
    
'dateline' => time()
);

$db->insert_query('templates'$insert_array33);
 
// Zakładka Konfiguracja w ACP
    
$kontaktwpanelu_group_settings = array(  // Ta zmienna $ = zwraca 
        
"gid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_option_category"// Nazwa w kodzie 
        
"title"             => "Kontakt w panelu bocznym"// Tytuł pluginu
        
"description"       => "Skonfiguruj swój panel kontaktu."// Opis pluginu
        
"disporder"         => "50"// Kolejność pluginu
        
"isdefault"         => "yes" // Włączone domyślnie: tak // zmiana na no jeśli nie działa
            
); //Zamyka zwracanie
            
    
$db->insert_query("settinggroups"$kontaktwpanelu_group_settings); // Do bazy danych, do kolumny ustawień - grup, dodajemy dane z powyższej konfiguracji
    
$gid $db->insert_id(); 
    
    
    
// Ustawienia, pierwsze pole, włączony/wyłączony
    
$option_1 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_enabled"// Nazwa w kodzie pola pierwszego
        
"title"             => "Plugin włączony/wyłączony"// Nazwa pierwszego pola
        
"description"       => "Włącz lub wyłącz plugin: <b>Kontakt w panelu bocznym.</b>"// Opis pierwszego pola
        
"optionscode"       => "yesno"// Opcja wyboru tak/nie
        
"value"             => "yes"// Wartość domyślna: tak
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "1"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_1); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
            
// Ustawienia, drugie pole, tytuł kontaktu 
    
$option_2 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "nazwa_kontaktu"// Nazwa w kodzie pola drugiego
        
"title"             => "Nazwa panelu kontaktu"// Nazwa drugiego pola
        
"description"       => "Wpisz nazwą swojego panelu kontaktu."// Opis drugiego pola
        
"optionscode"       => "text"// Opcja jednolinijkowego miejsca na wpisanie jednej linijki tekstu tj. tytułu
        
"value"             => 'Kontakt'// Wartość domyślna: Kontakt
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "2"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
            
$db->insert_query("settings"$option_2); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji

// Ustawienia, trzecie pole, dane osoby do kontaktu
    
$option_3 = array( // Zwraca
        
"sid"               => NULL// Takie cuś
        
"name"              => "kontaktwpanelu_daneadminow"// Nazwa w kodzie trzeciego pola
        
"title"             => "ID użytkownika i numer GG"// Nazwa trzeciego pola
        
"description"       => "Uzupełnij to według wzoru: <b>ID_użytkownika Numer_GG</b> - Jeśli jest więcej użytkowników, których chcesz dodać do panelu niż 1, na końcu linijki z danymi pierwszego użytkownika dodawanego, umieść przecinek: <b>ID_użytkownika Numer_GG,</b>"// Opis trzeciego pola
        
"optionscode"       => "textarea"// Opcja wielolinijkowego miejsca na wpisanie kilku linijek tekstu tj. danych użytkowników
        
"value"             => 'ID_użytkownika Numer_GG'// Wartość domyślna: ID_użytkownika Numer_GG 
        
"isdefault"         => "yes"// Włączone domyślnie: tak
        
"disporder"         => "3"// Kolejność pola w ustawieniu pluginu
        
"gid"               => intval($gid// Takie inne cuś
            
); // Zamyka zwracanie
        
$db->insert_query("settings"$option_3); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
 
rebuild_settings();
       
     
// Zamykamy aktywację pluginu


function kontaktwpanelu_deactivate() { // Dezaktywacja pluginu
    
global $db$mybb// Używanie bazy danych i mybb
/*$db->delete_query("templates", "title = 'kontaktwpanelu'");*/
$db->delete_query("templates""title = 'hello_world_template'");

    
$db->delete_query('settinggroups''name = "kontaktwpanelu_option_category"'); // Usuwamy z bazy danych to, co dodaliśmy w 27. linijce zapytaniem wykonanym w 34. linijce
    
$db->delete_query('settings''name IN("kontaktwpanelu_enabled, nazwa_kontaktu, kontaktwpanelu_daneadminow")'); // Usuwamy z bazy danych ustawienia, nazwy to 41; 55; 69 linijki 
 
rebuild_settings();
    require 
MYBB_ROOT."/inc/adminfunctions_templates.php"// Tym plikiem możemy bawić się w szablonie, np. usuwać zmienną
    
find_replace_templatesets('index''#(\n?){\$kontaktwpanelu}#'''0); // Zabawa w szablonie: index, usuwamy zmienną: {$kontaktwpanelu}    
 
// Zamykamy dezaktywację pluginu


function kontaktwpanelu() { // Co robi moja funkcja
    
global $mybb$kontaktwpanelu$templates// Używanie mybb i mojej zmiennej pluginu
    
    
if($mybb->settings['kontaktwpanelu_enabled'] == 1) { // Jeżeli ustawienie linijki 39. jest ustawione na tak (yes) (1)
        
$DaneAdminow explode(","$mybb->settings['kontaktwpanelu_daneadminow']); 
        foreach(
$DaneAdminow as $DaneAdmina) {
            
$Admin explode(" "$DaneAdmina);
    
            
$user get_user($Admin[0]); // Admin[0] daje nam takie cuś
            
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']); // Formatowanie nicku wg formatu jego grupy
            
$user['profilelink'] = build_profile_link($user['username'], $user['uid']); // Link do profilu
            
$steam NULL;
            
$skype NULL;
            if(!empty(
$Admin[2])){
            
$steam "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/steam.png\" /> Steam: {$Admin[2]}</span>";
            }
            if(!empty(
$Admin[3])){
            
$skype "<br /><span style=\"font-size:11px;\"><img src=\"/images/firstf/skype.png\" /> Skype: {$Admin[3]}</span>";
            }
   
//$kontaktwpanelu = '<table border="0" cellspacing="0" cellpadding="5" class="tborder"> 
//    <tbody><tr><td class="thead">'.$mybb->settings['nazwa_kontaktu'].'</td></tr>';                             // Zamiana mojej zmiennej w szablonie index na to, to jest pierwsza część



    
eval("\$kontaktwpanelurow .= \"".$templates->get("kontaktwpanelurow")."\";");


// Zamykamy CAŁĄ funkcję

// $kontaktwpanelu .= '</tbody></table>'; // Zamykamy zawartość tej zmiennej - końcówka
eval("\$kontaktwpanelu = \"".$templates->get("kontaktwpanelu")."\";");
// Zamknięcie { w 97
// Zamknięcie { w 100
        
        
?>

z palca wiec pewnie wywali blad, powiedz jaki to poprawie
Działa, miszczu. Dzięki, muszę przeanalizować co zrobiłeś.
Cytat:w pół dnia stałeś się lepszym pytonistą niż kawenanowo kiedykolwiek programisto :3 ~ Riess 13.11.2018 16:28
Cytat:ale z tą nazwą to fyeem ma racje  ~ Divir 29.07.2019 16:08



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

1 gości