Skip to content

Sidlegionair/ispconfig-wrapper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISPConfig 3 remoting API Wrapper

Introduction

A simple wrapper for ispconfig3 remote API.

Designed to interoperate with ISPConfig 3, it aims to provide an expressive yet simple interface to perform all actions provided by the API.

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Requirements

  • PHP >= 5.3.0 (with soap support)

Getting started

The library acts as a proxy between ISPConfig 3 SOAP server and your app. All functions are renamed to a more expressive (IMHO) camelCase syntax. IT doesn't do any validation, just proxies every request to the related SOAP call. The only change is that every response is returned as a json encoded array.

  • Exceptions are trapped and converted to json, wrapped as errors.
  • Single value responses are converted to json , wrapped as result.
  • Array responses are converted to json.

Composer

$ composer require pemedina/ispconfig-wrapper 1.*

Usage

The wrapper can be included & used on any PHP application.

Examples

Expressive syntax.

<?php
$webService = new ISPConfigWS(
    new \SoapClient(NULL,
        array('location'   => 'http://192.168.0.55/remote/index.php',
              'uri'        => 'http://192.168.0.55/remote/',
              'exceptions' => 0)
    )
);

// Login
$webService
    ->with(array('loginUser' => 'admin', 'loginPass' => 'password'))
    ->login();


$result = $webService
            ->with(array('client_id' => 5))
            ->getClient()
            ->response();

print_r json_decode( $result ));

// Single call

$result = $webService
            ->with(array('loginUser' => 'admin', 'loginPass' => 'password', 'password' => 'newPass', 'client_id' => 5))
            ->changeClientPassword()
            ->response();

print_r json_decode( $result ));

Standard Usage.

<?php
$webService = new ISPConfigWS(
    new \SoapClient(NULL,
        array('location'   => 'http://192.168.0.55/remote/index.php',
              'uri'        => 'http://192.168.0.55/remote/',
              'exceptions' => 0)
    )
);

$loginDetails = array('loginUser' => 'admin', 'loginPass' => 'password');
$webService->setParameters( $loginDetails );
$webService->login();
...
...
$parameters = array('client_id' => 5);
$webService->setParameters( $parameters );
$webService->getClient();

print_r json_decode( $webService->getResponse() ));

Feedback and questions

Found a bug or missing a feature? Don't hesitate to create a new issue here on GitHub.

About

A simple wrapper for ISPconfig3 remote API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%