Abstrakcyjna klasa rozszerzająca możliwości wszystkich obiektów o nazwie Index. Wykorzystywana w obiekcie InfoTable.
paginate()return InfoTable |
Bezparametrowana metoda wykonująca, filtrująca oraz grupująca wyniki zapytania w obiekcie InfoTable - zwraca ten obiekt |
setPaginator($p1,$p2)return $this |
Ustawia aktualny stan paginacji prezentowanych wyników w obiekcie InfoTable. Zwraca obiekt klasy dziedziczącej po tej klasie abstrakcyjnej. |
setSearch($p1,$p2)return $this |
Metoda pozwalająca na sprecyzowanie słów kluczowych dla wyszukiwania w tabeli danych. Wyszukiwanie wykonywane jest po stronie panelu Webas. Zwraca obiekt klasy dziedziczącej po tej klasie abstrakcyjnej. |
countAllResults()return int |
Bezparametrowana metoda zwracająca liczbę wszystkich znalezionych wierszy w tabeli obiektu (bez zastosowania filtrowania) InfoTable. Można wykonać zamiast metody paginate(). |
getCurrentPage()return int |
Bezparametrowana metoda zwracająca aktualny numer strony ustawiony za pomocą metody setPaginator(). |
getRowsOnPage()return int |
Bezparametrowana metoda zwracająca aktualną liczbę wyników na stronę. Wartość ustawiana za pomocą metody setPaginator() |
W poniższym przykładzie pominięto autoryzację do serwera. Obiekt Client znajduje się w zmiennej $webas. Więcej o autoryzacji przeczytasz w dziale jak rozpocząć ?
Nie zawijaj wierszy<?php
// Autoryzacja...
// Filtrowanie wyników dla tabeli kont FTP. Zasadza działania jest taka sama
// jak gdyby w panelu Webas, w wyszukiwarce wprowadzono ciąg "added" (bez cudzysłowia)
// a z pola selectbox po prawej wybrano opcję "bez limitów" i kliknięto przycisk "szukaj"
// (wykonanie metody "paginate")
$tb1 = $webas->Ftp()->Index()->setSearch("added", ['profile' => "bez-limitow"])->paginate();
\Kei\Library\Out::pd($tb1);
// Resetujemy pole input przez co wyszukujemy w całej tabeli
$tb2 = $webas->DnsRecord()->Index()->setSearch("")->paginate();
\Kei\Library\Out::pd($tb2);
// Możemy też wykorzystywać metody statyczne ::buildSearchParams() charakterystyczne
// dla każdej klasy Index osobno aby przyspieszyć filtrowanie w szczególności jeśli
// nie wiemy jakie pola filtrujące obsługuje strona w panelu Webas.
$tb3 = $webas->EmailAccount()->Index()->setSearch("", \Kei\Webas\Dedicated\EmailAccount\Index::buildSearchParams("master-test.v12345.tld.pl"))->paginate();
\Kei\Library\Out::pd($tb3);
// Możemy też wykonać metodę setSearch oraz tuż za nią (lub przed nią - kolejność nie
// ma znaczenia) metodę setPaginator. W tym momencie uzyskamy wyniki z drugiej strony
// przy wyświetlaniu 5 wyników na stronie oraz przy opcjach szukania pomiędzy datami
// od 2016-01-01 do 2016-03-28
$tb4 = $webas->StatFtpSummary()->Index()->
setSearch("", \Kei\Webas\Dedicated\StatFtpSummary\Index::buildSearchParams("2016-01-01", "2016-03-28"))->
setPaginator(2, 5)->
paginate();
\Kei\Library\Out::pd($tb4);
// UWAGA! ZAMIAST METODY paginate MOŻEMY POSŁUŻYĆ SIĘ METODAMI WYLICZENIOWYMI
// countAllResults, getCurrentPage, getRowsOnPage
// Ile mamy kont FTP spełniających podane kryteria (o ile są zdefiniowane) ?
\Kei\Library\Out::pd($webas->Ftp()->Index()->countAllResults());
\Kei\Library\Out::pd($webas->Ftp()->Index()->setSearch("adm")->countAllResults());