Klasa Ftp

namespace Kei\Webas\Dedicated

Klasa do zarządzania kontami FTP. Funkcjonalne odwzorowanie panelu na stronie https://webas12345.tld.pl/Ftp.

UWAGA!

Klasa ta zawiera bardzo ważną podklasę \Kei\Webas\Dedicated\Ftp\Profile. Koniecznie zapoznaj się z nią jeśli jeszcze tego nie zrobiłeś.


Charakterystyka

Metody obiektu - zapoznaj się z opisem pod tabelą.

Index Lista zasobów w postaci tabeli danych
Add Dodanie jednej pozycji listy
AddMany Dodanie większej ilości kont FTP
Edit Edycja wybranego konta FTP
Remove Usunięcie jednej lub więcej pozycji listy
Block Zablokowanie wybranego/ych kont/a
Unblock Odblokowanie wybranego/ych kont/a
IsBlocked Sprawdzenie stanu zablokowania obsługi stron www
ResetFileOwner Resetuj uprawnienia do plików na FTP
ServiceFtpPassword Hasło serwisowe do konta FTP

Każda z powyższych metod zwraca odpowiadający jej obiekt klasy znajdujący się w tej samej przestrzeni nazw i nazywający się tak samo jak metoda do której się odnosi.

Np. metoda Edit klasy \Kei\Webas\Dedicated\Ftp zwraca obiekt \Kei\Webas\Dedicated\Ftp\Edit itd.

Po kliknięciu w jedną z powyższych metod przejdziesz do strony charakteryzującej odpowiadający jej obiekt.



Podklasa Ftp

Klasa pochodząca z przestrzeni nazw \Kei\Webas\Dedicated\Ftp zawierająca metody pomocnicze

::exists($ftp_name)
return bool

Statyczna metoda oferująca sprawdzenie istnienia podanej domeny
$ftp_name → Nazwa domeny


Wyjątki

Wyjątki jakie zwraca ta klasa oraz pozostałe klasy powiązane są następujące:

  • \Kei\Webas\Dedicated\Ftp\Exception\FtpAccountNotFoundException
  • \Kei\Webas\Dedicated\Ftp\Exception\ProfileNotFoundException
  • \Kei\Webas\Dedicated\Ftp\Exception\ProfileOptionValueException
  • \Kei\Webas\Dedicated\Ftp\Exception\ResultException
  • \Kei\Webas\Dedicated\Ftp\Exception\ValidationException
  • \Kei\Webas\Dedicated\Ftp\Exception\WrongTypeException

oraz wyjątki standardowe dla wszystkich obiektów położonych wyżej w hierarchii:

  • \Kei\Webas\Dedicated\Exception\DefaultPaginatorActionException
  • \Kei\Webas\Dedicated\Exception\InfoTableColumnCountException
  • \Kei\Webas\Dedicated\Exception\InitialCookieNotFoundException
  • \Kei\Webas\Dedicated\Exception\ServiceNumberFormatException
  • \Kei\Webas\Dedicated\Exception\UncountableResultsException
  • \Kei\Webas\Dedicated\Exception\WebasAuthenticationException
  • \Kei\Webas\Dedicated\Exception\WebasConnectionException

Pamiętaj o tym, aby zawsze być przygotowanym na zwrócenie wyjątku przez skrypt PHP niezależnie od tego jak bardzo małoprawdopodobnym uważasz jego wystąpienie.


Przykłady wykorzystania metod

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 wyszukiwania
\Kei\Library\Out::vd($webas->Ftp()->Index()->paginate());
\Kei\Library\Out::pd($webas->Ftp()->Index()->setPaginator(1,5)->paginate());
\Kei\Library\Out::pd($webas->Ftp()->Index()->setSearch("admin", \Kei\Webas\Dedicated\Ftp\Index::buildSearchParams("bez-limitow"))->paginate());
\Kei\Library\Out::pd($webas->Ftp()->Index()->setSearch("", \Kei\Webas\Dedicated\Ftp\Index::buildSearchParams("inny"))->paginate());
\Kei\Library\Out::pd($webas->Ftp()->Index()->countAllResults());
        
// Dodanie nowego konta FTP o profilu bez-limitow wraz z domeną oraz bazą danych
$webas->Ftp()->
    Add("wapi_test", "lorem lipsum", "tajnehasloftp", "2020-02-02", \Kei\Webas\Dedicated\Ftp\Profile::load("bez-limitow"))->
        addDomain('wapi_test.example.pl', 'bez-limitow', 'wapi_test')->
        addDatabase("baza_wp_pl", "qweW123w")->
        execute();

// Edycja konta FTP 'wapi_test' wraz ze zmianą w ustawieniach profilu konta
$wapi_test = $webas->Ftp()->Edit('wapi_test');
$wapi_test_profile = $wapi_test->getProfile();
$wapi_test->
    setDescription("nowy opis 2")->
    setLockFtp(\Kei\Webas\Dedicated\YesNoUserlockEnum::UserLock)->
    setProfile($wapi_test_profile->
        setPhpMode(\Kei\Webas\Dedicated\Ftp\Profile\phpMode::Factory(\Kei\Webas\Dedicated\PhpModeEnum::MultiPhp, \Kei\Webas\Dedicated\PhpVersionsEnum::Php55)))->
    execute();
        
// Reset uprawnień do plików na koncie FTP 'wapi_test'
$webas->Ftp()->
    ResetFileOwner('wapi_test')->
    execute();
        
// Ustawienie hasła serwisowego na jedną godzinę dla konta FTP 'wapi_test'
$webas->Ftp()->
    ServiceFtpPassword('wapi_test', 'qweW123', \Kei\Webas\Dedicated\TtlEnum::Time1Hour)->
    execute();
        
// Dodanie wielu kont FTP za jednym razem
$webas->Ftp()->
    AddMany(["wapi_test", "wapi_test2"], "lorem lipsum", "qwe123", "2016-04-30", \Kei\Webas\Dedicated\Ftp\Profile::load("bez-limitow"))->
    execute();

// Zablokowanie kont FTP
$webas->Ftp()->
    Block(['wapi_test', 'wapi_test2'])->
    execute();
        
// Odblokowanie konta FTP
$webas->Ftp()->
    Unblock('wapi_test')->
    execute();
        
// Sprawdzenie blokady na kontach FTP
$is_blocked = $webas->Ftp()->IsBlocked(['wapi_test', 'default'])->execute();
\Kei\Library\Out::vd($is_blocked->getActionResult());

// Weryfikacja istnienia konta
$ftp_exists = \Kei\Webas\Dedicated\Ftp\Ftp::exists('admin');
\Kei\Library\Out::vd($ftp_exists);

// Usunięcie kont FTP
$webas->Ftp()->
    Remove(['wapi_test', 'wapi_test2'])->
    execute();

Klasa Ftp · NiceAPI dla PHP 5.6