Overview
  • Namespace
  • Class

Namespaces

  • Omines
    • DirectAdmin
      • Context
      • Objects
        • Database
        • Domains
        • Email
        • Users
      • Utility

Classes

  • Omines\DirectAdmin\Context\AdminContext
  • Omines\DirectAdmin\Context\BaseContext
  • Omines\DirectAdmin\Context\ResellerContext
  • Omines\DirectAdmin\Context\UserContext
  • Omines\DirectAdmin\DirectAdmin
  • Omines\DirectAdmin\Objects\BaseObject
  • Omines\DirectAdmin\Objects\Database
  • Omines\DirectAdmin\Objects\Database\AccessHost
  • Omines\DirectAdmin\Objects\Domain
  • Omines\DirectAdmin\Objects\DomainObject
  • Omines\DirectAdmin\Objects\Domains\Subdomain
  • Omines\DirectAdmin\Objects\Email\Forwarder
  • Omines\DirectAdmin\Objects\Email\Mailbox
  • Omines\DirectAdmin\Objects\Email\MailObject
  • Omines\DirectAdmin\Objects\Users\Admin
  • Omines\DirectAdmin\Objects\Users\Reseller
  • Omines\DirectAdmin\Objects\Users\User
  • Omines\DirectAdmin\Utility\Conversion

Exceptions

  • Omines\DirectAdmin\DirectAdminException
 1 <?php
 2 
 3 /*
 4  * DirectAdmin API Client
 5  * (c) Omines Internetbureau B.V. - https://omines.nl/
 6  *
 7  * For the full copyright and license information, please view the LICENSE
 8  * file that was distributed with this source code.
 9  */
10 
11 namespace Omines\DirectAdmin\Objects\Users;
12 
13 use Omines\DirectAdmin\Context\AdminContext;
14 use Omines\DirectAdmin\Context\UserContext;
15 use Omines\DirectAdmin\DirectAdminException;
16 
17 /**
18  * Admin.
19  *
20  * @author Niels Keurentjes <niels.keurentjes@omines.com>
21  */
22 class Admin extends Reseller
23 {
24     /**
25      * {@inheritdoc}
26      */
27     public function __construct($name, UserContext $context, $config = null)
28     {
29         parent::__construct($name, $context, $config);
30     }
31 
32     /**
33      * @return AdminContext
34      */
35     public function impersonate()
36     {
37         /** @var AdminContext $context */
38         if (!($context = $this->getContext()) instanceof AdminContext) {
39             throw new DirectAdminException('You need to be an admin to impersonate another admin');
40         }
41         return $context->impersonateAdmin($this->getUsername());
42     }
43 }
44 
API documentation generated by ApiGen