Çok Amaçlı Müşteri Alanı Butonları
Müşteri alanı çıktısında çok amaçlı butonlar tanımlamak için öncelikle clientArea() fonksiyonunun tanımlı olduğuna ve içerisinde clientArea_buttons_output() fonksiyonunun çağırıldığına emin olunuz.
Butonları tanımlamak için clientArea_buttons() fonksiyonunu oluşturmalısınız ve fonksiyonun geri dönüşü dizi olmalıdır, örnek fonksiyon aşağıda belirtilmiştir.
Buton Dizi Parametreleri
- text : Butonun ekranda görünecek adı
- type                 : Butonun türünü belirtir, alacağı değerler:
 transaction : Butona tıklandığında javascript ajax ile müşteri alanı için tanımladığınız özel fonksiyona istek atar. Geri dönecek değer JSON veri türünde olmalıdır ve dönen değerde (status (örnek:successful veya error) , message) parametreleri dönmelidir. Butonun anahtar değerine özel fonksiyonun adını tanımlamanız gereklidir.
 page-loader : Butona tıklandığında javascript ajax ile müşteri alanı için tanımladığınız özel sayfanın çıktısını getirir, butonun anahtar değerine özel sayfanın adını tanımlamanız gerekir.
 page : Butona tıklandığında sayfayı yenileyerek müşteri alanı için tanımladığınız özel sayfanın çıktısını getirir, butonun anahtar değerine özel sayfanın dosya adını (uzantısız) tanımlamanız gerekir.
 function : Butona tıklandığında sayfayı yenileyerek tanımladığınız özel fonksiyonun çıktısını ekrana verirr, butonun anahtar değerine özel fonksiyonun adını tanımlamanız gerekir.
 link : Butona tıklandığında sayfayı yenileyerek tanımladığınız URL adresine yönlendirir.
- url : Eğer butonun türü link ise, yönlendirelecek URL adresini tanımlamalısınız.
- icon : Fontawesome Icons, Ionicons ikon kütüphanelerini kullanabilirsiniz, örnek: fa fa-rocket
- target_blank : Sayfa yenilemeli butonlarda, tıklayınca yeni sekmede açılabilmesi için boolean veri türü olarak "true" tanımlanması gerekir.
public function clientArea_buttons()
{
    $buttons    = [];
    if($this->page && $this->page != "home")
    {
        $buttons['home'] = [
            'text' => $this->lang["turn-back"],
            'type' => 'page-loader',
        ];
    }
    else
    {
        $status     = 'running'; /* With API, status information is obtained from the server. */
        if($status == 'running')
        {
            $buttons['restart']     = [
                'text'  => $this->lang["restart"],
                'type'  => 'transaction',
            ];
            $buttons['reboot']      = [
                'text'  => $this->lang["reboot"],
                'type'  => 'transaction',
            ];
            $buttons['stop']      = [
                'text'  => $this->lang["stop"],
                'type'  => 'transaction',
            ];
        }
        elseif($status == 'stop')
        {
            $buttons['start']      = [
                'text'  => $this->lang["start"],
                'type'  => 'transaction',
            ];
        }
        $buttons['change-password'] = [
            'text'  => $this->lang["change-password"],
            'type'  => 'page-loader',
        ];
        $buttons['another-page'] = [
            'text'  => 'Another Page',
            'type'  => 'page',
        ];
        $buttons['custom_function'] = [
            'text'  => 'Open Function',
            'type'  => 'function',
            'target_blank' => true,
        ];
        $buttons['another-link'] = [
            'text'      => 'Another link',
            'type'      => 'link',
            'url'       => 'https://www.google.com',
            'target_blank' => true,
        ];
    }
    return $buttons;
}