ForumCała strona

Nawigacja

Aktualnie online

Gości online: 11

Użytkowników online: 0

Łącznie użytkowników: 25,405
Najnowszy użytkownik: kipolas

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

JazOOn
25.06.2025 23:43:19
Dziadziejemy jantom...

jantom
23.06.2025 21:37:31
Z ciekawo?ci pogrzeba?em w historii i jest gorzej ni? my?la?em. Skórka Nadzieja ma ju? 17 lat.

jantom
23.06.2025 21:33:12
... troch? zasiedzia?o Wink

jantom
23.06.2025 21:32:38
Cecha tego, jak z 20+ lat temu pisano strony - tabelki wsz?dzie, szczególnie do tworzenia uk?adów stron. PF d?ugo by? wierny tej tradycji. A obecny szablon Supportu napisa?em z 15 lat temu i chyba mu

Zbigniew@
22.06.2025 17:50:03
Dlaczego forum jest dost?pne tylko dla 10% ludzi? Poniewa? wi?kszo?? osób korzysta z internetu na urz?dzeniach mobilnych.

Pobierz now? wersj?
Pobierz podr?cznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Nawigacja

Jak pisa? wtyczki?

Napisane przez Gander dnia 30 grudnia 2007 22:38 · 1 komentarz · 13817 czytań · Drukuj · Facebook · Wykop

Streszczenie:

W systemie php-fusion wtyczki nosz? nazw? infusions. S? to modu?y rozszerzaj?ce funkcjonalno?? podstawowego pakietu. W php-fusion dost?pne s? 3 typy wtyczek: zwyk?e, zawieraj?ce panel i panele. Te zawieraj?ce panel mog? wy?wietla? efekty swego dzia?ania w panelach bocznych. ?eby napisa? wtyczk? dobrze jest si? zaopatrzy? w pakiet SDK (Software Development Kit). Oczywi?cie w przypadku wtyczek-paneli nie jest to konieczne...

infusion.php

jest to jeden z najwa?niejszych plików wtyczki - plik instalacyjny. Zapisane s? w nim dane konfiguracyjne, dzi?ki którym mo?liwe b?dzie poprawne zainstalowanie wtyczki (nazwa wtyczki, wersja, autor, ..., tabele bazy danych).

// Sprawdzenie czy istnieje plik j?zykowy pasuj?cy do j?zyka lokalnej instalacji php-fusion
if (file_exists(INFUSIONS."infusion_title/locale/".$settings['locale'].".php")) {
// Load the locale file matching the current site locale setting.
include INFUSIONS."infusion_title/locale/".$settings['locale'].".php";
} else {
// Load the infusion's default locale file.
include INFUSIONS."infusion_title/locale/English.php";
}

// Infusion general information
$inf_title = $locale['xxx100']; // nazwa wtyczki
$inf_description = $locale['xxx101']; // krótki opis przeznaczenia wtyczki
$inf_version = "1.0"; // wersja wtyczki
$inf_developer = ""; // autor wtyczki
$inf_email = ""; // e-mail autora
$inf_weburl = "http://"; // strona autora

$inf_folder = "infusion_folder"; // nazwa katalogu wtyczki
$inf_admin_image = ""; // nazwa pliku obrazu (z administartion/images/)
$inf_admin_panel = ""; // nazwa pliku panelu administracyjnego (new_infusion_admin.php)

$inf_link_name = $locale['xxx102']; // nazwa linku wstawianego do nawigacji
$inf_link_url = ""; // nazwa pliku wstawianego do nawigacji (new_infusion.php)
$inf_link_visibility = "0"; // widoczno?? dla grupy 0/101/102/103

$inf_newtables = 1; // liczba tworzonych tabel bazy danych
$inf_insertdbrows = 0; // liczba wstawianych rekordów
$inf_altertables = 0; // liczba modyfikowanych tabel
$inf_deldbrows = 0; // liczba usuwanych tabel

// Je?li nie wykonuje si? ?adnych operacji na tabelach, to mo?na usun?? poni?szy kod:

// tworzenie tabel podczas instalacji
$inf_newtable_[1] = "table_name (
field1 SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
field2 TINYINT(5) UNSIGNED DEFAULT '1' NOT NULL,
field3 VARCHAR(200) DEFAULT '' NOT NULL,
field4 VARCHAR(50) DEFAULT '' NOT NULL,
PRIMARY KEY (field1)
) TYPE=MyISAM;
";

// dodawanie rekordów podczas instalacji
$inf_insertdbrow_[1] = "table_name (field1, field2, field3, field4) VALUES('', '', '', '')";

// usuwanie tabel podczas deinstalacji
$inf_droptable_[1] = "table_name";

// modyfikowanie tabel podczas instalacji
$inf_altertable_[1] = "table_name ADD etc";

// usuwanie innych tabel podczas instalacji
$inf_deldbrow_[1] = "other_table";

Poni?ej przedstawiam plik infusion.php dla MusicBox 2.5: if (file_exists(INFUSIONS."musicbox2_panel/locale/".$settings['locale'].".php")) {
include INFUSIONS."musicbox2_panel/locale/".$settings['locale'].".php";
} else {
include INFUSIONS."musicbox2_panel/locale/English.php";
}

$inf_title = $locale['mb2_100'];
$inf_description = $locale['mb2_101'];
$inf_version = "2.5";
$inf_developer = "Gander";
$inf_email = "fusion@gander.pl";
$inf_weburl = "http://www.gander.pl/modules/MB2";

$inf_folder = "musicbox2_panel";
$inf_admin_image = "shout.gif";
$inf_admin_panel = "musicbox2_admin.php";

$inf_link_name = "";
$inf_link_url = "";
$inf_link_visibility = "0";

$inf_newtables = 3;
$inf_insertdbrows = 1;
$inf_altertables = 0;
$inf_deldbrows = 0;

$inf_newtable_[1] = "musicbox2_tracks (
track_id smallint(5) unsigned NOT NULL auto_increment,
track_title varchar(100) NOT NULL default '',
track_path varchar(255) NOT NULL default '',
track_order smallint(4) unsigned NOT NULL default '0',
track_status tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (track_id)
) TYPE=MyISAM;";

$inf_newtable_[2] = "musicbox2_playlists (
user_id smallint(5) unsigned NOT NULL,
track_id smallint(5) unsigned NOT NULL,
track_order smallint(4) unsigned NOT NULL,
KEY user_id (user_id,track_id)
) TYPE=MyISAM;";

$inf_newtable_[3] = "musicbox2_settings (
playlistpath char(3) NOT NULL default '',
autoplay tinyint(1) NOT NULL default '0',
playerskin tinyint(1) NOT NULL default '0',
overcolor varchar(7) NOT NULL default '',
playerheight tinyint(3) unsigned NOT NULL,
info tinytext NOT NULL
) TYPE=MyISAM;";

$inf_droptable_[1] = "musicbox2_tracks";
$inf_droptable_[2] = "musicbox2_playlists";
$inf_droptable_[3] = "musicbox2_settings";

$inf_insertdbrow_[1] = "musicbox2_settings (playlistpath, autoplay, playerskin, overcolor, playerheight, info) VALUES ('php', 1, 1, '#2570BA', 10, '".$locale['mb_301']."');";

Komentarze

#1 | ppiioottrreekk dnia 19 grudnia 2008 15:27
Czemu tworzenie tabeli jest taki dziwnie podane?. Zamiast $inf_newtable_[1] ma by? $inf_newtable[1], bo inaczej nie utworzy nowej tabeli.
Przynajmniej ja mia?em taki problem a odpowied? znalaz?em na forum. My?l? ?e kto? to powinien poprawi?.

Dodaj komentarz

Zaloguj się, aby móc dodać komentarz.
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl