Pluginy do programu Adder

Transkrypt

Pluginy do programu Adder
Pluginy do programu Adder
rozbudowa narzędzi
( www.seoadder.info )
System pluginów
System pluginów pozwala na własną rękę rozwój oprogramowania SEO Adder o nowe
narzędzia, które będą widoczne wewnątrz programu w zakładce Adder → Strefa SEO → Narzędzia.
Kla kogo? Po co?
Jeśli jesteś programistą języka PHP lub osobą, która może zlecić napisanie plugina możesz
stworzyć nowe narzędzia do programu, które usprawnią promocję Twoich promowanych stron.
Dodatkowo można zgłosić plugin do firmy Enterso ( [email protected] ), aby Twój plugin był
dostępny dla pozostałych użytkowników. Najlepsze zaproponowane pluginy będą wynagradzane
pieniężnie oraz poprzez wyróżnienia.
Struktura budowy pluginu (pliki i foldery)
W programie Adder w plikach na FTP znajduje się folder /adder/tools/. Program automatycznie
wczytuje podfoldery, traktując je jako nowy plugin. Nie potrzeba instalować pluginów.
Będziemy się posługiwać sformułowaniem „TwojPlugin” - oznacza to nazwę Twojego pluginu.
Folder z pluginem np. /adder/tools/TwojPlugin/ powinien zawierać:
1. /adder/tools/TwojPlugin/class.TwojPlugin.php – plik ten jest głównym plikiem PHP
obsługującym plugin. Zawierać powinien statyczną klasę z rozszeżeniem schemaTools
(najlepiej spojrzeć na przykładową klasę zamieszczoną poniżej).
2. /adder/tools/TwojPlugin/js/ - Folder ten może przechowywać pliki JavaScript. Program
Adder wczyta wszystkie pliki z końcówką *.js .
3. /adder/tools/TwojPlugin/tpl/ - Folder ten może zawierać szablony HTML. Program Adder
wczyta dwa pliki:
a. TwojPlugin_start.tpl – szablon będzie wyświetlany w programie podczas wejścia w
zakładkę Adder->Narzędzia->TwojPlugin. Spełnia on rolę formularza do pobrania
danych takich jak np. adres strony URL, słowa kluczowe itp.
b. TwojPlugin_result.tpl – szablon będzie wyświetlany w programie podczas pokazywania
wyniku pluginu
Budowa pluginu - wymagania i zalecenia
1. Połączenia z innymi serwerami
Nie wolno stosować połączeń file_get_contents oraz cURL, ponieważ jest już gotowa klasa
odpowiednio spreparowana na potrzeby programu Adder
Przykładowe wykorzystanie cURL-a:
$curl = new EntersoCurl();
$curlopt[CURLOPT_HTTPHEADER] = array('Host: '.$pingSiteInfo['host'],
'Content-type: text/xml',
'Content-length: '.$pingFrameLength."\n",
$pingFrame->asXML());
$curlopt[CURLOPT_CUSTOMREQUEST] = 'POST'; // lub GET
$curlopt[CURLOPT_TIMEOUT] = 3; // Maksymalny czas oczekiwania
// $prop – odpowiada za ustawienia niestandarwoe jak powyżej
$prop = array('curl'=>$curlopt, 'merge'=>true);
// Dodanie strony do pobrania
$curl->addSite('http://google.pl', $prop);
$curl->addSite('http://onet.pl');
// W tym miejscu rozpoczyna pobieranie stron, które zostały dodane
// Może być użyte także execute(true). True oznacza pobranie tablicy wszystkich stron, nie
// tylko ostatniej
$data = $curl->execute();
// Zmienna tablicowa $data zawiera teraz wszystkie pobrane strony wraz z informacjami.
// Pobranie kodu html strony
$contentHTML = $data['content'];
// Kod pobrania strony. 200 oznacza prawidłowe. 404 brak strony. 403 zabroniony dostęp.
$codeHTML = ['info']['http_code'];
Powyższy kod pokazuje większość możliwości klasy EntersoCurl. Jednak aby tylko pobrać
kod źródłowy strony wystarczy prosty kod:
$curl = new EntersoCurl();
$curl->addSite('http://onet.pl');
$data = $curl->execute();
$contentHTML = $data['content'];
2. Folder tymczasowy - tmp
Jeśli potrzebujesz zapisywać pliki tymczasowe prosimy skorzystać z folderu
/adder/tmp/tools/TwojPlugin/.
3. Dodatkowe funkcje
Program zawiera wbudowane funkcje, które mogą Tobie pomóc podczas tworzenia pluginu.
Klasa Common
a) Funkcja wyodrebniajaca formularz z kodu HTML. Zapisuje form, input,textarea w
postaci XML
Wywołanie : $xml = Common::extractXMLForm($codeHTML);
b) Losowanie bardziej rzeczywiste niż fukcja PHP, która często nie pokazuje losowości
Wywołanie : $randNumber = Common::losuj(100); // Losuje liczbę z zakresu 0-100
c) Usunięcie polskich znaków. Zamienia ą na a, ś na s itp.
Wywołanie : $withoutPL = Common::DelStringPL('Łódź'); // Zwróci „Lodz”
d) Zamiana polskiego stronga na małe litery. Funkcja strtolower nie potrafi zamienić np. Ś
na ś.
Wywołanie : $smallLetter = Common::strtolowerPL('ŚNIEŻka'); // Zwróci „śnieżka”
e) Zapisanie zmiennej do programu na stałe w postaci rekordu w bazie danych MySQL
(tabela adder_cfg). Jeśli była wcześniej zmienna to ją nadpisze. Jeśli nie było zmiennej to ją doda.
Wywołanie : Common::cfgSet('nazwaZmiennej','wartość');
f) Odczytanie zmiennej z programu zapisanej w bazie danych MySQL (tabela adder_cfg)
Wywołanie : $zmienna = Common::cfgGet('nazwaZmiennej');
g) Funkcja dopisuje http:// do adresu URL jeśli go brakuje.
Wywołanie : $urlZhttp = Common::prepareUrlWithHttp('wp.pl');
h) Funkcja usuwa http:// i https:// z adresu URL
Wywołanie : $urlBezhttp = Common::prepareUrlWithoutHttp('http://wp.pl');
i) Funkcja wyciąga główny adres URL z całego URLa i usuwa http:// np. z
http://wp.pl/kat/abc.php?a=6 zwraca wp.pl/kat/
Wywołanie : $mainUrl = Common::prepareMainUrlWithoutHttp('wp.pl/kat/b.html');
Klasa String ( adder/inc/class.string.php )
a) Metoda konwertująca stringa na dane kodowanie (najczesciej z UTF na ISO). $charset –
oczekiwane kodowanie. $from – z jakiego kodowania. $tekst - tekst do przekonwertowania (można
tekże podać tablicę)
Wywołanie : $tekst = String::prepareStringEncoded($charset, $tekst, $from = 'utf-8')
4. Plugin może wykorzystywać dane z bazy MySQL poprzez PDO. Nazwę tabel należy pisać
zawsze poprzez adder_. Program automatycznie zamienia na ewentualny inny prefix, który
był podany podcas instalacji. ( http://php.net/manual/en/book.pdo.php )
Przykład:
$sql = SPDO::getInstance();
$q = $sql->prepare('SELECT * FROM adder_url WHERE id = :id');
$q->bindValue(':id', 1500);
try
{
$q->execute();
}
catch(PDOException $e)
{
echo 'Error: '.$e->getMessage();
}
$wynik = $q->fetchAll(PDO::FETCH_ASSOC);
5. Szablony HTML obsługiwane są za pomocą Smarty ( http://www.smarty.net/ )
w PHP:
$tpl -> assign('zmienna', 'wartosc');
$tpl -> display('szablon.tpl');
w HTML:
<div>($zmienna)</div>
Zakazane funkcje
Z uwagi na różnorodność serwerów w programie Adder powstały funkcje zastępcze, które są
bardziej uniwersalne w zastosowaniu.
file_get_content() i cURL – należy zastosować zastępczo klasę EntersoCurl
iconv() – należy zastosować zastępczo klasę String
Oznaczenie pluginu
Plugin powinien zawierać podstawowe informacje takie jak nazwa, autor, kategoria narzędzia,
pomoc
Przykłądowa klasa
Proszę wejdź do folderu z programem Adder i odnajdź /adder/tools/schema.tools.php. Jest to plik,
który narzuca jak ma wyglądać klasa pluginu. Jeśli brakuje danej funkcji w pluginie to
schema.tools.php użyje funkcji domyślnej. Plik schema.tools.php i folder z przykładowym
pluginem /adder/tools/validate/ nie zostały zakodowane, abyś mógł przyjrzeć się jak wygląda
tworzenie pluginów w praktyce.
Pomoc
Zapraszamy do kontaktu z [email protected] w celu uzyskania szerszej pomocy lub informacji na
temat współpracy przy rozwijaniu programu Adder.

Podobne dokumenty