Klasa ProfileFtp

namespace Kei\Webas\Dedicated

Klasa oferująca zarządzanie profilami skrzynek FTP. Funkcjonalne odwzorowanie panelu na stronie https://webas12345.tld.pl/ProfileFtp.

UWAGA!

Klasa ta wykorzystuje bardzo ważną klasę \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
Edit Edycja wybranego profilu domeny
Remove Usunięcie profilu domeny

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 Add klasy \Kei\Webas\Dedicated\ProfileFtp zwraca obiekt \Kei\Webas\Dedicated\ProfileFtp\Add itd.

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



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\ProfileFtp\Exception\ProfileNotFoundException
  • \Kei\Webas\Dedicated\Ftp\Exception\ProfileOptionNotFoundException
  • \Kei\Webas\Dedicated\ProfileFtp\Exception\ResultException
  • \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...

// Lista wszystkich profili FTP
$all_profiles = $webas->ProfileFtp()->Index()->paginate();
\Kei\Library\Out::pd($all_profiles);

// Utworzenie nowego profilu konta FTP
$profile = new \Kei\Webas\Dedicated\Ftp\Profile("nowy-testowy-profil", "lorem lipsum");
$profile->
    setQuotasValue(\Kei\Webas\Dedicated\Ftp\Profile\Quotas::Factory()->
        setQuotaIndividualMode()->
        setQuotaFtpLimit(2048)->
        setQuotaEmailLimit(5)->
        setDbLimit(100)->
        setDbNameMode(true));

\Kei\Library\Out::pd($profile);

// Załadowanie poprzednio zapisanego profilu profilu
$profile = \Kei\Webas\Dedicated\Ftp\Profile::load("testowy");
\Kei\Library\Out::pd($profile->getQuotasValue());

// Zapisanie nowego profilu wraz ze zmianami pod nową nazwą 'no-limits'
$profile = \Kei\Webas\Dedicated\Ftp\Profile::load("bez-limitow");
$profile->getIdentityValue()->setName("no-limits");
$webas->ProfileFtp()->
    Add($profile)->
execute();

// Edycja profilu
$profile_source = \Kei\Webas\Dedicated\Ftp\Profile::load("ddd");
$profile_source->getIdentityValue()->setDescription("Aktualizacja ".date("d-m-Y H-i"));
$webas->ProfileFtp()->
    Edit("ddd", $profile_source)->
execute();

// Usunięcie profilu
$webas->ProfileFtp()->
    Remove('ddd')->
execute();

Klasa ProfileFtp · NiceAPI dla PHP 5.6