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?
Wrzuć cały kod Twojego pluginu tutaj, nie mam możliwości pobrania.
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.

<?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" => "http://mybboard.pl/",
"author" => "Poftorek",
"authorsite" => "http://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.
Prośby na PW dotyczące wsparcia z problemami będą ignorowane. Pomoc poza forum - odpłatna; kontakt: snakemybboard@gmail.com.
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