Webboard

Pełna wersja: Mój plugin w wersji ALPHA
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
W tym temacie chciałbym Wam przedstawić mój plugin. Służy on do przypominania użytkownikowi o zrobieniu jakiejś czynności. Jest on w wersji ALPHA (na razie nie wszystko jest tu dopracowane).
temat tyczy sie mybb więc po co ten dział? "Tworzenie pluginów"

Podstawowe funkcje plugin mszą zgadzać się z nazwą pliku bez rozszerzenia, więc podając plik do załącznika zachowując taką nazwę

teraz środek

"guid" => "", - w 1.8 nie używamy już, mamy codename
"isdefault" => "1" - to na zero
"disporder" => "1", - w grupie ustawień podawaj większe liczby. Po instalacji nowej wtyczki user oczekuje jego opcji na końcu
reminder_uninstall() - tez musi posiadac rebuild_settings(); - dlatego Tobie po de instalacji opcje nie znikają
global_start - lepiej użyć global_intermediate
$theme - używasz tego wewnątrz funkcji, więc musisz dodać to do linijki global, a $db, $mybb są teraz tam zbędne
Nie pokazuje mi na liście pluginów, a nazwa się nie różni od funkcji.

Kod PHP:
<?php
if(!defined("IN_MYBB")) die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
 
function 
reminder_info() {
 return array(
 
"name" => "Przypomnienie",
 
"description" => "Ten plugin przypomina uzytkownikowi o zrobieniu jakiejs rzeczy (domyslnie przeczytanie regulaminu).",
 
"website" => "https://webboard.pl",
 
"author" => "CezPlayer",
 
"authorsite" => "http://csgoforum.ct8.pl",
 
"version" => "ALPHA",
 
"compatibility" => "18*"
 
);
}
 
function 
reminder_install() {
 global 
$db
 
 
$db -> insert_query('settinggroups', array(
 
"gid" => "NULL"
 
"name" => "Przypomnienie"
 
"title" => "Ustawienia przypomnienia"
 
"description" => "Tu możesz zmienić ustawienia przypomnienia."
 
"disporder" => "10"
 
"isdefault" => "0"
 
)); 
 
    
$id $db -> insert_id(); 
 
 
$db -> insert_query('settings', array( 
 
"sid" => "NULL"
 
"name" => "przypomnienie"
 
"title" => "Pokazywać?"// Tytuł
 
"description" => "Pokazywać przypomnienie na forum?"
 
"optionscode" => "yesno"
 
"value" => "1"
 
"disporder" => "1"
 
"gid" => $id
 
"isdefault" => "1"
 
));
 
    
rebuild_settings(); 
}
 
function 
reminder_uninstall() {
 global 
$db;
 
 
$id $db -> simple_select('settinggroups''gid'"name = 'reminder'");
 
$id $db -> fetch_field($id'gid'); 
 
$db -> delete_query('settinggroups'"name = 'przypomnienie'"); 
 
$db -> delete_query('settings'"gid = {$id}"); 

rebuild_settings();

}
 
function 
reminder_is_installed() {
 global 
$db;
 
$q $db -> simple_select('settinggroups''*'"name = 'reminder'");
 if(
$db -> num_rows($q)) return true;
 else return 
false;
}
 
$plugins -> add_hook('global_start''przypomnienie_write'); 
 
function 
reminder_write() {
 global 
$db$mybb$reminder
  
 
$reminder '<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="{$theme[\'tablespace\']}" class="tborder">
<tr><td class="thead">Ogloszenie</td></tr>
<tr><td class="trow1">Drogi uzytkowniku! Nie zapomnij sie zapoznac z regulaminem Naszego forum!</td></tr>
</table><ol>'
;

najwidoczniej nie
co dokładnie mam zmienić?
(14.08.2016, 17:26)Supryk napisał(a): [ -> ]"isdefault" => "1" - to na zero
(14.08.2016, 17:26)Supryk napisał(a): [ -> ]global_start - lepiej użyć global_intermediate

A czy tu nie powinno być reminder_write ?
(14.08.2016, 17:42)CezPlayer napisał(a): [ -> ]$plugins -> add_hook('global_start', 'przypomnienie_write');
I nic...
Co 'nic'?
... że dosłownie we wszystkich miejscach zamieniłem na "reminder", ale nie pokazuje się jakoś na liście pluginów...
Podaj swój kod.
Kod PHP:
<?php
if(!defined("IN_MYBB")) die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
 
function 
reminder_info() {
 return array(
 
"name" => "Przypomnienie",
 
"description" => "Ten plugin przypomina uzytkownikowi o zrobieniu jakiejs rzeczy (domyslnie przeczytanie regulaminu).",
 
"website" => "https://webboard.pl",
 
"author" => "CezPlayer",
 
"authorsite" => "http://csgoforum.ct8.pl",
 
"version" => "ALPHA",
 
"compatibility" => "18*"
 
);
}
 
function 
reminder_install() {
 global 
$db
 
 
$db -> insert_query('settinggroups', array(
 
"gid" => "NULL"
 
"name" => "Przypomnienie"
 
"title" => "Ustawienia przypomnienia"
 
"description" => "Tu możesz zmienić ustawienia przypomnienia."
 
"disporder" => "10"
 
"isdefault" => "0"
 
)); 
 
    
$id $db -> insert_id(); 
 
 
$db -> insert_query('settings', array( 
 
"sid" => "NULL"
 
"name" => "przypomnienie"
 
"title" => "Pokazywać?"// Tytuł
 
"description" => "Pokazywać przypomnienie na forum?"
 
"optionscode" => "yesno"
 
"value" => "1"
 
"disporder" => "1"
 
"gid" => $id
 
"isdefault" => "1"
 
));
 
    
rebuild_settings(); 
}
 
function 
reminder_uninstall() {
 global 
$db;
 
 
$id $db -> simple_select('settinggroups''gid'"name = 'reminder'");
 
$id $db -> fetch_field($id'gid'); 
 
$db -> delete_query('settinggroups'"name = 'reminder'"); 
 
$db -> delete_query('settings'"gid = {$id}"); 

rebuild_settings();

}
 
function 
reminder_is_installed() {
 global 
$db;
 
$q $db -> simple_select('settinggroups''*'"name = 'reminder'");
 if(
$db -> num_rows($q)) return true;
 else return 
false;
}
 
$plugins -> add_hook('global_start''reminder_write'); 
 
function 
reminder_write() {
 global 
$db$mybb$reminder
  
 
$reminder '<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="{$theme[\'tablespace\']}" class="tborder">
<tr><td class="thead">Ogloszenie</td></tr>
<tr><td class="trow1">Drogi uzytkowniku! Nie zapomnij sie zapoznac z regulaminem Naszego forum!</td></tr>
</table><ol>'
;

W czym jest problem? 



[attachment=10592]
Najwidoczniej byłem ślepy i nie widziałem pluginu :v
"isdefault" => "1"