Kontakt z dvz konflikt

Założony przez Fyeem.

Dlaczego po aktywacji pluginu Kontakt w panelu bocznym, wpisy na czacie nie odświeżają się automatycznie?
TaniDedyk.pl
Wrzuć cały kod Twojego pluginu tutaj, nie mam możliwości pobrania.

<?php


define("IN_MYBB", 1);

$plugins->add_hook('index_start', 'firstf');

function firstf_info() {



return array(
"name" => "Kontakt w panelu bocznym",
"description" => "Dodaje przyjemną tabelę kontaktu do panelu bocznego.",
"website" => "https://mybboard.pl/",
"author" => "Poftorek",
"authorsite" => "https://mybboard.pl/",
"version" => "2.6",
"compatibility" => "18*"
);
}

function firstf_activate() {
global $db, $mybb;

//nazwa firstfu w zakladce firstfow
$firstf_group_settings = array(
"gid" => NULL,
"name" => "firstf_option_category",
"title" => "Kontakt w panelu bocznym",
"description" => "Skonfiguruj swój panel kontaktu.",
"disporder" => "50",
"isdefault" => "no"
);
$db->insert_query("settinggroups", $firstf_group_settings);

$gid = $db->insert_id();

// Włącz/Wyłącz
$option_1 = array(
"sid" => NULL,
"name" => "firstf_enabled",
"title" => "Włączyć/Wyłączyć wtyczkę?",
"description" => "Włącz lub wyłącz kontakt w panelu bocznym.",
"optionscode" => "yesno",
"value" => "yes",
"isdefault" => "yes",
"disporder" => "1",
"gid" => intval($gid)
);

// Nazwa panelu kontaktu
$option_2 = array(
"sid" => NULL,
"name" => "nazwa_kontaktu",
"title" => "Nazwa panelu kontaktu",
"description" => "Wpisz nazwą swojego panelu kontaktu.",
"optionscode" => "text",
"value" => 'Kontakt',
"isdefault" => "yes",
"disporder" => "2",
"gid" => intval($gid)
);




// ID pierwszego administratora
$option_3 = array(
"sid" => NULL,
"name" => "firstf_nwm2",
"title" => "ID użytkownika i numer GG",
"description" => "Wzór: <b>ID_użytkownika Numer_GG Skype Steam</b> - Jeśli jest więcej niż 1, na końcu umieść przecinek: <b>ID_Użytkownika Numer_GG Skype Steam,</b>",
"optionscode" => "textarea",
"value" => '1 12345678',
"isdefault" => "yes",
"disporder" => "3",
"gid" => intval($gid)
);







$db->insert_query("settings", $option_1);
$db->insert_query("settings", $option_2);
$db->insert_query("settings", $option_3);




require MYBB_ROOT."/inc/adminfunctions_templates.php";

}

function firstf_deactivate() {

global $db, $mybb;

$db->delete_query('settinggroups', 'name = "firstf_option_category"');
$db->delete_query('settings', 'name IN("firstf_enabled, nazwa_kontaktu, firstf_nwm2")');

require MYBB_ROOT."/inc/adminfunctions_templates.php";
find_replace_templatesets('index', '#(\n?){\$firstf}#', '', 0);
}

function firstf()
{
global $mybb, $firstf;

if ($mybb->settings['firstf_enabled'] == 1)
{

$firstf = '<table border="0" cellspacing="0" cellpadding="5" class="tborder">
<tbody><tr><td class="thead">'.$mybb->settings['nazwa_kontaktu'].'</td></tr>';

$DaneAdminow = explode(",", $mybb->settings['firstf_nwm2']);

foreach($DaneAdminow as $DaneAdmina)
{
$Admin = explode(" ", $DaneAdmina);

$user = get_user($Admin[0]);
$user['username'] = format_name($user['username'], $user['usergroup'], $user['displaygroup']);
$user['profilelink'] = build_profile_link($user['username'], $user['uid']);
$user['usertitle'] = $user['usertitle'];
$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>";
}
$firstf .= '<tr><td class="trow1"><center>{+}contact_avatar|'.$user['uid'].'{-}<br /><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>';
}


$firstf .= '</tbody></table>';
}}

?>

Zobacz jeszcze co wyrzuca konsola, ja radze caly kod przepisać na nowo, bo troche błędów jest.
Konsola nic nie wyrzuca po przepisaniu pluginu, jednak kiedy jest włączony odświeża się poprawnie. Wiem, że to na pewno wina pluginu, jednak nie wiem gdzie jest ten mały błąd?
Kod:

<?

if(!defined("IN_MYBB")) // Sprawdzanie dla bezpieczeństwa
die("Plik ten nie może być dostępny bezpośrednio."); // Jeśli błąd

$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://mybboard.pl/user-36883.html", // Stworzył ten plugin użytkownik z tego linku
"author" => "Fyeem", // Autor: Fyeem
"authorsite" => "https://mybboard.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

// 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

// 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 Nazwa_Steam Nazwa_Skype</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 Nazwa_Steam Nazwa_Skype</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 Nazwa_Steam Nazwa_Skype', // Wartość domyślna: ID_użytkownika Numer_GG Nazwa_Skype Nazwa_Steam
"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_1); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
$db->insert_query("settings", $option_2); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
$db->insert_query("settings", $option_3); // Do bazy danych, do kolumny ustawień, dodajemy dane z powyższej konfiguracji
rebuild_settings();

// 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('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
$user['usertitle'] = $user['usertitle']; // Tytuł użytkownika

//$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>
<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


?>

Po 1, adres WWW.
Po 2, czemu nie używasz szablonów?
Pomoc poza forum - odpłatna.
Po 0.
Kod teraz wygląda 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://mybboard.pl/user-36883.html", // Stworzył ten plugin użytkownik z tego linku
"author" => "Fyeem", // Autor: Fyeem
"authorsite" => "https://mybboard.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();

// 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('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


//$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>
<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


?>

Po 1.
http://pluginsmybbthemes.ct8.pl/

Po 2.
A powinienem? Tam normalnie będę mógł użyć tego kodu?
(19.10.2016, 20:02)Fyeem napisał(a): A powinienem? Tam normalnie będę mógł użyć tego kodu?
Tak, przydałoby się jeszcze testowe konto
Pomoc poza forum - odpłatna.
Kacper
dule=user

Po dodaniu dodałem do index zmienną i nie wyświetla nic.
A więc dodałem do globalnych szablonów:

$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);


Cały kod:

<?


// 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://mybboard.pl/user-36883.html", // Stworzył ten plugin użytkownik z tego linku
"author" => "Fyeem", // Autor: Fyeem
"authorsite" => "https://mybboard.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


//$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>
<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


?>


Dziwne, nagle działa poprawnie.
Kod:

<?


// 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://mybboard.pl/user-36883.html", // Stworzył ten plugin użytkownik z tego linku
"author" => "Fyeem", // Autor: Fyeem
"authorsite" => "https://mybboard.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


//$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>
<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


?>


Podobne wątki

Kolejny konflikt

22.10.2016, 16:14
Ostatni post: Fyeem

Kontakt

22.08.2016, 20:12
Ostatni post: Fyeem


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

1 gości