├── .github └── workflows │ └── main.yml ├── .gitignore ├── .phive └── phars.xml ├── README.md ├── SDK ├── Certificate.php ├── Hook │ ├── Dns │ │ └── Dnssec.php │ ├── ExternalDns.php │ ├── Home.php │ ├── Home │ │ └── Block.php │ ├── HookInterface.php │ ├── Repair │ │ └── Mail.php │ └── Webmail.php ├── Mailname.php ├── Middleware │ ├── Access │ │ ├── Client.php │ │ ├── Cors.php │ │ ├── Csrf.php │ │ ├── Domain.php │ │ ├── Session.php │ │ └── UserRole.php │ ├── Auth │ │ ├── ApiKey.php │ │ └── Basic.php │ ├── ErrorHandler.php │ ├── HttpsRedirect.php │ └── Server │ │ ├── ApiAllowed.php │ │ ├── ApiEnabled.php │ │ └── Initialized.php ├── Repair │ └── Context.php ├── Server │ └── Components.php └── Webmail.php ├── composer.json ├── phpdoc.dist.xml └── pm ├── ActionLog.php ├── ApiCli.php ├── ApiRpc.php ├── Application.php ├── Auth.php ├── Backup └── Manager.php ├── Bootstrap.php ├── Client.php ├── Config.php ├── Context.php ├── Controller └── Action.php ├── Crypt.php ├── Dns ├── Record.php ├── SoaRecord.php ├── Template.php ├── Template │ ├── Record.php │ └── SoaRecord.php └── Zone.php ├── Domain.php ├── DomainAlias.php ├── Exception.php ├── Exception ├── InvalidArgumentException.php └── ResultException.php ├── Extension.php ├── FileManager.php ├── FileManager └── Action.php ├── Form ├── Simple.php └── SubForm.php ├── Hook ├── ActionLog.php ├── ActiveList.php ├── ApiCli.php ├── ApiRest.php ├── ApiRpc.php ├── Applications.php ├── Auth.php ├── Backup.php ├── Backup │ ├── Client.php │ ├── Domain.php │ ├── Server.php │ ├── Task.php │ └── Transport.php ├── ConfigDefaults.php ├── ContentInclude.php ├── CustomButtons.php ├── DynamicList.php ├── Form.php ├── Interface.php ├── Limits.php ├── LoginContentInclude.php ├── LongTasks.php ├── Navigation.php ├── Notifications.php ├── Permissions.php ├── PlanItems.php ├── Promos.php ├── Search.php ├── SimpleList.php ├── SystemServices.php └── WebServer.php ├── License.php ├── Loader.php ├── Locale.php ├── Log.php ├── LongTask ├── Manager.php └── Task.php ├── Navigation ├── OverviewPage.php └── Page.php ├── Notification.php ├── Notifications ├── EmailNotification.php └── PanelNotification.php ├── Plan.php ├── ProductInfo.php ├── Promo ├── AdminHome.php ├── CustomerHome.php └── Home.php ├── Scheduler.php ├── Scheduler └── Task.php ├── SearchIndex.php ├── ServerFileManager.php ├── Session.php ├── Settings.php ├── SystemService └── Service.php ├── View ├── Helper │ ├── ActiveList.php │ ├── BaseUrl.php │ ├── DomainOverviewUrl.php │ ├── Lmsg.php │ ├── RenderList.php │ ├── RenderSmallTools.php │ ├── RenderTabs.php │ └── RenderTools.php ├── List │ └── Simple.php └── Status.php ├── WebServer.php └── WebServer ├── Abstract.php ├── Apache.php ├── IIS.php ├── Interface.php └── Nginx.php /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: CI 4 | 5 | # Controls when the workflow will run 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the master branch 8 | push: 9 | branches: [ master ] 10 | 11 | # Allows you to run this workflow manually from the Actions tab 12 | workflow_dispatch: 13 | 14 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 15 | jobs: 16 | # This workflow contains a single job called "build" 17 | build: 18 | # The type of runner that the job will run on 19 | runs-on: ubuntu-latest 20 | 21 | # Steps represent a sequence of tasks that will be executed as part of the job 22 | steps: 23 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 24 | - uses: actions/checkout@v2 25 | 26 | - uses: szepeviktor/phive@v1 27 | 28 | - name: "Install PHP tools with PHIVE" 29 | uses: "szepeviktor/phive-install@v1" 30 | with: 31 | trustGpgKeys: "0x67F861C3D889C656" 32 | 33 | - name: Run PhpDocumentator 34 | run: php "-derror_reporting=E_ERROR|E_WARNING|E_PARSE" tools/phpdocumentor 35 | 36 | - name: Add backward compatibility links 37 | working-directory: docs/classes 38 | run: ls *-*.html | xargs -I{} bash -c 'ln -s {} $(echo {} | tr - _)' 39 | 40 | - name: GitHub Pages action 41 | uses: peaceiris/actions-gh-pages@v3 42 | with: 43 | github_token: ${{ secrets.GITHUB_TOKEN }} 44 | publish_dir: . 45 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | phpdoc.xml 3 | docs-cache 4 | tools 5 | -------------------------------------------------------------------------------- /.phive/phars.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Plesk Extensions API stubs 2 | ========================== 3 | 4 | Plesk Extensions API PHP files stubs for IDE. 5 | 6 | Target version: Plesk 18.0 7 | 8 | [API reference](https://plesk.github.io/pm-api-stubs/docs/) 9 | 10 | Install Via Composer 11 | -------------------- 12 | 13 | [Composer](https://getcomposer.org/) is a preferable way to install the library: 14 | 15 | `composer require --dev plesk/pm-api-stubs` 16 | 17 | composer.json: 18 | ```php 19 | "require-dev": { 20 | "plesk/pm-api-stubs": "*" 21 | }, 22 | ``` 23 | -------------------------------------------------------------------------------- /SDK/Certificate.php: -------------------------------------------------------------------------------- 1 | , methods?: array, headers?: array, credentials?: bool, expose?: array} $options 26 | * CORS configuration is applied as follows: 27 | * origin: Configures the `Access-Control-Allow-Origin` header. 28 | * Array with the allowed origins. `null` value dynamically generates header based on the Origin of the request. 29 | * If wildcard value is present in the array, `*` will always be returned as the allowed origin. 30 | * Default value: null 31 | * methods: Configures the `Access-Control-Allow-Methods` header. 32 | * Array with the allowed HTTP verbs. 33 | * Default value: [GET, HEAD, PUT, PATCH, POST, DELETE] 34 | * headers: Configures the `Access-Control-Allow-Headers` header. 35 | * Array with the allowed headers. 36 | * Default value: [X-Forgery-Protection-Token, Authorization] 37 | * credentials: Configures the presence of the `Access-Control-Allow-Credentials` header. 38 | * Default value: false 39 | * expose: Configures the `Access-Control-Expose-Headers` header. 40 | * Array with the headers that should be exposed to the browser client. 41 | * Default value: [] 42 | */ 43 | public function __construct(\Psr\Http\Message\ResponseFactoryInterface $factory, array $options = []) { } 44 | 45 | public function process(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler): \Psr\Http\Message\ResponseInterface { } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /SDK/Middleware/Access/Csrf.php: -------------------------------------------------------------------------------- 1 | " }' if Plesk is not initialized yet. 7 | * @since 18.0.41 8 | */ 9 | class Initialized implements \Psr\Http\Server\MiddlewareInterface 10 | { 11 | 12 | public function __construct(\Psr\Http\Message\ResponseFactoryInterface $factory) { } 13 | 14 | public function process(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Server\RequestHandlerInterface $handler): \Psr\Http\Message\ResponseInterface { } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /SDK/Repair/Context.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | docs 11 | docs-cache 12 | 13 | 14 | 15 | 16 | pm 17 | SDK 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /pm/ActionLog.php: -------------------------------------------------------------------------------- 1 | 'John Smith', 'email' => 'user@new.example.com', 'login_name' => 'user1') 23 | * @param string[] $newValues 24 | * @example array('contact_name' => 'John Smith', 'email' => 'user@old.example.com', 'login_name' => 'user1') 25 | * @return void 26 | * 27 | * @throws Exception 28 | */ 29 | public static function submit($actionId, $objectId = null, $oldValues = [], $newValues = []) { } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /pm/ApiCli.php: -------------------------------------------------------------------------------- 1 | ' zone 40 | */ 41 | public function __construct() { } 42 | 43 | /** 44 | * Return template of DNS record by ID. 45 | * 46 | * @throws pm_Exception 47 | * 48 | * @return pm_Dns_Template_Record 49 | */ 50 | public static function getById(int $id): pm_Dns_Record { } 51 | 52 | /** 53 | * Remove template of DNS record. 54 | */ 55 | public function remove(): void { } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /pm/Dns/Template/SoaRecord.php: -------------------------------------------------------------------------------- 1 | string, // Image type, can be either png or jpeg. Default: 'png'. 280 | * 'width' => int, // Browser window width, between 16-2048. Default: 1600. 281 | * 'height' => int, // Browser window height, between 16-2048. Default: 1200. 282 | * 'scale' => float, // Browser scale factor, between 0.01-1. Default: 1. 283 | * 'delay' => int, // Time in seconds, to delay the rendering of the snapshot, between 0-45. Default: 0. 284 | * 'cache' => int, // Time in seconds, after which the screenshot is considered obsolete and will be generated again. Default: 3600. 285 | * ] 286 | * ``` 287 | * 288 | * @param string $path 289 | * @param array $options 290 | * @return string 291 | * @since 18.0 292 | */ 293 | public function getScreenshotUrl(string $path = '/', array $options = []): string { } 294 | 295 | /** 296 | * Check if domain has SSL support for web hosting 297 | * 298 | * @return bool 299 | * @throws pm_Exception 300 | * @since 18.0.24 301 | */ 302 | public function hasSsl(): bool { } 303 | 304 | /** 305 | * Check if domain has redirect from HTTP to HTTPS 306 | * 307 | * @return bool 308 | * @throws pm_Exception 309 | * @since 18.0.24 310 | */ 311 | public function hasSslRedirect(): bool { } 312 | 313 | /** 314 | * Check if domain is resolved to assigned IP 315 | * 316 | * @return bool 317 | * @since 18.0.32 318 | * @since 18.0.46 Returns false by default if there is no an explicit value 319 | */ 320 | public function isResolved(): bool { } 321 | 322 | /** 323 | * Return DNS zone of domain 324 | * 325 | * @return pm_Dns_Zone 326 | * 327 | * @throws pm_Exception 328 | * @since 18.0.33 329 | */ 330 | public function getDnsZone(): pm_Dns_Zone { } 331 | 332 | /** 333 | * Returns an SSL/TLS certificate of the domain 334 | * 335 | * @return Certificate|null 336 | * @throws pm_Exception 337 | * @since 18.0.55 338 | */ 339 | public function getHostingCertificate(): ?Plesk\SDK\Certificate { } 340 | 341 | /** 342 | * Returns an SSL/TLS certificate of webmail 343 | * 344 | * @return Certificate|null 345 | * @throws pm_Exception 346 | * @since 18.0.55 347 | */ 348 | public function getWebmailCertificate(): ?Plesk\SDK\Certificate { } 349 | 350 | /** 351 | * Returns an SSL/TLS certificate of mail 352 | * 353 | * @return Certificate|null 354 | * @throws pm_Exception 355 | * @since 18.0.55 356 | */ 357 | public function getMailCertificate(): ?Plesk\SDK\Certificate { } 358 | 359 | } 360 | -------------------------------------------------------------------------------- /pm/DomainAlias.php: -------------------------------------------------------------------------------- 1 | 'hello.txt', 18 | * 'modificationTimestamp' => '1380276799', 19 | * 'modificationDate' => 'Sep 27, 2013 05:13 PM', 20 | * 'size' => '8192', 21 | * 'formatedSize' => '8.0 KB', 22 | * 'user' => 'user_ifvbjsgcdk', 23 | * 'group' => 'psacln', 24 | * 'filePerms' => 'rw- r-- r-- ', 25 | * 'isDirectory' => false, 26 | * 'icon' => '/theme/icons/16/plesk/file-txt.png', 27 | * 'isReadonly' => false, 28 | * 'currentDir' => '/httpdocs', 29 | * ] 30 | * ``` 31 | * 32 | * @var array 33 | */ 34 | protected $_item = []; 35 | 36 | /** 37 | * Retrieve translated message from locale file 38 | * 39 | * @param string $key 40 | * @param array $params 41 | * @return string 42 | */ 43 | public function lmsg($key, $params = []) { } 44 | 45 | /** 46 | * Retrieve name for action 47 | * 48 | * @return string 49 | */ 50 | public function getName() { } 51 | 52 | /** 53 | * Retrieve title for action 54 | * 55 | * @return string 56 | */ 57 | public function getTitle() { } 58 | 59 | /** 60 | * Retrieve URL for action 61 | * 62 | * @return string 63 | */ 64 | public function getHref() { } 65 | 66 | /** 67 | * Checks if action is available for a file 68 | * 69 | * @return bool 70 | */ 71 | public function isActive() { } 72 | 73 | /** 74 | * Checks if action is default for a file 75 | * 76 | * @return bool 77 | */ 78 | public function isDefault() { } 79 | 80 | } 81 | -------------------------------------------------------------------------------- /pm/Form/Simple.php: -------------------------------------------------------------------------------- 1 | string, 112 | * 'sendHidden' => bool, 113 | * 'cancelTitle' => string, 114 | * 'cancelLink' => string, 115 | * 'cancelHidden' => bool, 116 | * 'withSeparator' => bool, 117 | * 'hideLegend' => bool, 118 | * 'presubmitHandler' => string, 119 | * ] 120 | * ``` 121 | * 122 | * @param array|null $params 123 | */ 124 | public function addControlButtons(?array $params = null) { } 125 | 126 | /** 127 | * Get element id 128 | * 129 | * @return string 130 | */ 131 | public function getId() { } 132 | 133 | /** 134 | * Translate message by key according to current locale 135 | * 136 | * @param string $key 137 | * @param array $params 138 | * @return string 139 | */ 140 | public function lmsg($key, $params = []) { } 141 | 142 | /** 143 | * Add a sub form 144 | * 145 | * @param Zend_Form $form 146 | * @param string $name 147 | * @param null $order 148 | * @return Zend_Form 149 | */ 150 | public function addSubForm(Zend_Form $form, $name, $order = null) { } 151 | 152 | /** 153 | * Retrieve a single sub form 154 | * 155 | * @param string $name 156 | * @return null|Zend_Form 157 | */ 158 | public function getSubForm($name) { } 159 | 160 | /** 161 | * Retrieve all sub forms 162 | * 163 | * @return Zend_Form[] 164 | */ 165 | public function getSubForms() { } 166 | 167 | } 168 | -------------------------------------------------------------------------------- /pm/Form/SubForm.php: -------------------------------------------------------------------------------- 1 | 'Event title', 18 | * ... 19 | * ] 20 | * ``` 21 | * 22 | * @return array 23 | */ 24 | abstract public function getEvents(); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /pm/Hook/ActiveList.php: -------------------------------------------------------------------------------- 1 | string, 19 | * 'icon' => string, 20 | * 'link' => string, 21 | * 'description' => string, 22 | * 'toolbar' => [ // optional 23 | * [ 24 | * 'title' => string, 25 | * 'link' => string, 26 | * ], 27 | * ... 28 | * ], 29 | * 'messages' => [ // optional 30 | * [ 31 | * 'icon' => string, // optional 32 | * 'info' => string, 33 | * 'noEscape' => bool, // optional, default is false 34 | * ], 35 | * ... 36 | * ], 37 | * ], 38 | * ] 39 | * ``` 40 | * 41 | * @param string $controller 42 | * @param string $action 43 | * @param string $itemId 44 | * @return array 45 | */ 46 | public function getItemServices($controller, $action, $itemId) { } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /pm/Hook/ApiCli.php: -------------------------------------------------------------------------------- 1 | 'My Extension REST API v1.0 (Beta)', 19 | * 'url' => '/api/my-extension/schema/openapi', 20 | * ], 21 | * [ 22 | * 'name' => 'My Extension REST API v0.2', 23 | * 'url' => '/modules/my-extension/public/swagger.json', 24 | * ], 25 | * ... 26 | * ] 27 | * ``` 28 | * 29 | * @return array 30 | */ 31 | abstract public function getSchema(): array; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /pm/Hook/ApiRpc.php: -------------------------------------------------------------------------------- 1 | Extra link'; 19 | * return $status; 20 | * } 21 | * ``` 22 | * 23 | * @param array $status Original status 24 | * @return array Updated status 25 | */ 26 | public function getStatus(array $status): array { } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /pm/Hook/Backup/Transport.php: -------------------------------------------------------------------------------- 1 | ['message', ...], 'warnings' => ['message', ...]]. 49 | * The method may be overridden in extension class. Default implementation returns empty array. 50 | * @return array 51 | */ 52 | public function check() { } 53 | 54 | /** 55 | * Describes this extension for backup manager UI. The description should include storage name, internal path, etc. 56 | * The method may be overridden in extension class. 57 | * Default implementation returns extension's display name. 58 | * @return string 59 | */ 60 | public function getDescription() { } 61 | 62 | /** 63 | * Returns array ['name' => ..., 'size' => ..., 'isDir' => ...]. 64 | * Override this method in the extension class. Default implementation returns null. 65 | * @param string $path 66 | * @return null|array 67 | */ 68 | public function stat($path) { } 69 | 70 | /** 71 | * Returns array [['name' => ..., 'size' => ..., 'isDir' => ...], ...]. 72 | * Override this method in the extension class. Default implementation returns empty array. 73 | * @param $path 74 | * @return array 75 | */ 76 | public function listDir($path) { } 77 | 78 | /** 79 | * Creates the specified directory. 80 | * Override this method in the extension class. Default implementation does nothing. 81 | * @param string $path 82 | */ 83 | public function createDir($path) { } 84 | 85 | /** 86 | * Removes the specified file. 87 | * Override this method in the extension class. Default implementation does nothing. 88 | * @param string $path 89 | */ 90 | public function deleteFile($path) { } 91 | 92 | /** 93 | * Removes the specified directory. 94 | * Override this method in the extension class. Default implementation does nothing. 95 | * @param string $path 96 | */ 97 | public function deleteDir($path) { } 98 | 99 | /** 100 | * Prepare a file with the specified name on the storage to read from the specified offset. 101 | * Override this method in the extension class. Default implementation returns empty string. 102 | * @param string $path 103 | * @param int $offset 104 | * @return mixed Returns file descriptor for readFile 105 | */ 106 | public function openFileRead($path, $offset) { } 107 | 108 | /** 109 | * Reads file content to the local file. 110 | * Override this method in the extension class. Default implementation returns 0. 111 | * @param mixed $fd descriptor returned by openFileRead method 112 | * @param string $localFile 113 | * @param int|null $size if the size is null the whole file should be read 114 | * @return int Bytes read 115 | */ 116 | public function readFile($fd, $localFile, $size = null) { } 117 | 118 | /** 119 | * Prepares the storage to write a new file with the specified name. 120 | * The method returns handle which should be used in appendFile and closeFile methods. 121 | * Override this method in the extension class. Default implementation returns empty string. 122 | * @param string $path 123 | * @return mixed File descriptor 124 | */ 125 | public function openFileWrite($path) { } 126 | 127 | /** 128 | * The method appends content of the local file to the file in the external storage. 129 | * Override this method in the extension class. Default implementation returns 0. 130 | * @param mixed $fd descriptor returned by openFileWrite 131 | * @param string $localFile 132 | * @return int Bytes written 133 | */ 134 | public function appendFile($fd, $localFile) { } 135 | 136 | /** 137 | * Closes file. 138 | * Override this method in the extension class. Default implementation does nothing. 139 | * @param mixed $fd descriptor returned by openFileWrite or openFileRead 140 | */ 141 | public function closeFile($fd) { } 142 | 143 | /** 144 | * Returns subform with storage settings. 145 | * Override this method in the extension class. Default implementation empty an instance of pm_Form_SubForm. 146 | * @return pm_Form_SubForm 147 | */ 148 | public function getSettingsSubForm() { } 149 | 150 | /** 151 | * Is called just before show subform provided by getSettingsSubForm. This method may be used for 152 | * OAuth2 authorization. 153 | * The method may be overridden in extension class. Default implementation does nothing. 154 | * @param $controller Zend_Controller_Action 155 | */ 156 | public function authorize(Zend_Controller_Action $controller) { } 157 | 158 | /** 159 | * Returns array with information about user disk quota in bytes. If the storage cannot provide 160 | * information about quota an empty array should be returned. 161 | * Example ['total' => 5368709120, 'free' => 3221225472] 162 | * The method may be overridden in extension class. Default implementation returns empty array. 163 | * @return array 164 | */ 165 | public function getQuota(): array { } 166 | 167 | /** 168 | * Returns an array with information about hash values that the extension returns for files. If the extension 169 | * is not configured to return hash values or cannot provide them an empty array should be returned. 170 | * Example ['type' => 'md5', 'blockSize' => 0] 171 | * If the extension defines the hash it should return it via stat() method or may return it via listDir() method. 172 | * Hash values should be returned via 'hash' key and should be scalar if blockSize = 0 or array if blockSize != 0. 173 | * Hash values are used for verify content of backup files right after creation. 174 | * Supported hash types: md5, sha1, sha256, quickXor 175 | * The method may be overridden in extension class. Default implementation returns an empty array. 176 | * @return array 177 | * @since 18.0.28 178 | */ 179 | public function getHash(): array { } 180 | 181 | } 182 | -------------------------------------------------------------------------------- /pm/Hook/ConfigDefaults.php: -------------------------------------------------------------------------------- 1 | 'some value', 18 | * 'anotherSetting' => 12345, 19 | * ... 20 | * ] 21 | * ``` 22 | * 23 | * @return array 24 | */ 25 | abstract public function getDefaults(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /pm/Hook/ContentInclude.php: -------------------------------------------------------------------------------- 1 | self::PLACE_DOMAIN_PROPERTIES_DYNAMIC, 151 | * 'section' => self::SECTION_DOMAIN_PROPS_DYNAMIC_DEV_TOOLS, 152 | * 'title' => 'Example Button', 153 | * 'description' => 'Description for example button', 154 | * 'icon' => pm_Context::getBaseUrl() . 'images/icon.png', 155 | * 'link' => pm_Context::getBaseUrl() . 'index.php/index/index', 156 | * 'newWindow' => false, 157 | * 'contextParams' => true, 158 | * 'visibility' => [$this, 'isExampleButtonVisible'], 159 | * ], 160 | * ... 161 | * ] 162 | * ``` 163 | * 164 | * @return array 165 | */ 166 | abstract public function getButtons(); 167 | 168 | } 169 | -------------------------------------------------------------------------------- /pm/Hook/DynamicList.php: -------------------------------------------------------------------------------- 1 | [ 18 | * 'title' => 'My Awesome Tab', 19 | * 'content' => 'My awesome tab content', 20 | * 'order' => 3, 21 | * 'default' => false, 22 | * ] 23 | * ] 24 | * ``` 25 | * 26 | * @param string $itemId identifier of domain or alias object in format {a|d}:{objectId} 27 | * @return array 28 | */ 29 | public function getTabs($itemId) { } 30 | 31 | /** 32 | * Retrieve the left sidebar of domain card 33 | * 34 | * ```php 35 | * 'My awesome card sidebar' 36 | * ``` 37 | * 38 | * @since 18.0.56 39 | * @param string $itemId 40 | * @return string|null 41 | */ 42 | public function getSidebar(string $itemId): ?string { } 43 | 44 | /** 45 | * Retrieve the list of columns 46 | * 47 | * ```php 48 | * [ 49 | * 'column-key' => [ 50 | * 'title' => 'My Column', 51 | * 'order' => 'before:status', 52 | * ] 53 | * ] 54 | * ``` 55 | * 56 | * @since 18.0.56 57 | * @return array 58 | */ 59 | public function getColumns(): array { } 60 | 61 | /** 62 | * Retrieve data of visible list items 63 | * 64 | * @since 18.0.56 65 | * @param array $data 66 | * @return array 67 | */ 68 | public function getData(array $data): array { } 69 | 70 | /** 71 | * Retrieve all list data 72 | * 73 | * @param array $data 74 | * @return array 75 | * @since 18.0.56 76 | */ 77 | public function getDataProvider(array $data): array { } 78 | 79 | public function getInitContent(): ?string { } 80 | 81 | public function getAdditionalTitleContent(): ?string { } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /pm/Hook/Form.php: -------------------------------------------------------------------------------- 1 | [ 22 | * 'default' => false, 23 | * 'place' => self::PLACE_MAIN, 24 | * 'name' => 'Limit name', 25 | * 'description' => 'Limit description', 26 | * ], 27 | * ... 28 | * ] 29 | * ``` 30 | * 31 | * @return array 32 | */ 33 | abstract public function getLimits(); 34 | 35 | } 36 | -------------------------------------------------------------------------------- /pm/Hook/LoginContentInclude.php: -------------------------------------------------------------------------------- 1 | string, // Action name to use when generating href to the page. 19 | * 'action' => string, // Controller name to use when generating href to the page. 20 | * 'pages' => [ // Child pages of the page. (optional) 21 | * ... 22 | * ] 23 | * ], 24 | * ... 25 | * ] 26 | * ``` 27 | * 28 | * @return array An array of pages config 29 | */ 30 | abstract public function getNavigation(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /pm/Hook/Notifications.php: -------------------------------------------------------------------------------- 1 | \pm_Notifications_EmailNotification, 18 | * 'unique_panel_notification_id' => \pm_Notifications_PanelNotification, 19 | * ... 20 | * ] 21 | * ``` 22 | * 23 | * @return array of \pm_Notifications_EmailNotification or \pm_Notifications_PanelNotification 24 | */ 25 | abstract public function getNotifications(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /pm/Hook/Permissions.php: -------------------------------------------------------------------------------- 1 | [ 55 | * 'default' => false, 56 | * 'place' => self::PLACE_MAIN, 57 | * 'name' => 'Permission name', 58 | * 'description' => 'Permission description', 59 | * 'master' => 'master_permission_id', 60 | * ], 61 | * 'another_unique_permission_id' => [ 62 | * 'default' => true, 63 | * 'place' => self::PLACE_ADMIN, 64 | * // 'section' is only active when self::PLACE_ADMIN is used, if omitted, defaults to self::SECTION_ADMIN_MODULES 65 | * 'section' => self::SECTION_ADMIN_APPS, 66 | * 'name' => 'Permission name', 67 | * 'description' => 'Permission description', 68 | * 'master' => 'another_master_permission_id', 69 | * ], 70 | * ... 71 | * ] 72 | * ``` 73 | * 74 | * @return array 75 | */ 76 | abstract public function getPermissions(); 77 | 78 | } 79 | -------------------------------------------------------------------------------- /pm/Hook/PlanItems.php: -------------------------------------------------------------------------------- 1 | 'Plan item name' 18 | * ... 19 | * ] 20 | * ``` 21 | * 22 | * @return array 23 | */ 24 | abstract public function getPlanItems(); 25 | 26 | /** 27 | * Specify whether plan items are exclusive (dropdown is used) or non-exclusive (checkboxes are used) 28 | * 29 | * @return bool 30 | */ 31 | public function isExclusive() { } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /pm/Hook/Promos.php: -------------------------------------------------------------------------------- 1 | [ 50 | * 'title' => string, 51 | * 'noEscape' => bool, 52 | * 'searchable' => bool, 53 | * 'sortable' => bool, 54 | * ], 55 | * ... 56 | * ] 57 | * ``` 58 | * 59 | * @param string $controller 60 | * @param string $action 61 | * @param boolean $activeList 62 | * @return array 63 | * 64 | * @see pm_View_List_Simple::setColumns() 65 | */ 66 | public function getColumnsOverride($controller, $action, $activeList) { } 67 | 68 | /** 69 | * Get additional columns 70 | * 71 | * ```php 72 | * [ 73 | * 'new-column-id' => [ 74 | * 'title' => string, 75 | * 'noEscape' => bool, 76 | * 'searchable' => bool, 77 | * 'sortable' => bool, 78 | * ], 79 | * ... 80 | * ] 81 | * ``` 82 | * 83 | * @param string $controller 84 | * @param string $action 85 | * @param boolean $activeList 86 | * @return array 87 | * 88 | * @see pm_View_List_Simple::setColumns() 89 | */ 90 | public function getColumns($controller, $action, $activeList) { } 91 | 92 | } 93 | -------------------------------------------------------------------------------- /pm/Hook/SystemServices.php: -------------------------------------------------------------------------------- 1 | directive in vhost config 14 | * 15 | * @param pm_Domain $domain 16 | * @return string 17 | */ 18 | public function getDomainApacheConfig(pm_Domain $domain) { } 19 | 20 | /** 21 | * Retrieve string which will be inserted into server {...} directive in vhost config 22 | * 23 | * @param pm_Domain $domain 24 | * @return string 25 | */ 26 | public function getDomainNginxConfig(pm_Domain $domain) { } 27 | 28 | /** 29 | * Retrieve string which will be inserted into server {...} directive in vhost config 30 | * in case nginx is working in proxy mode 31 | * 32 | * @param pm_Domain $domain 33 | * @return string 34 | */ 35 | public function getDomainNginxProxyConfig(pm_Domain $domain) { } 36 | 37 | /** 38 | * Retrieve xml as string which will be inserted to Plesk IIS configurator 39 | * 40 | * @param pm_Domain $domain 41 | * @return string 42 | */ 43 | public function getDomainIisConfig(pm_Domain $domain) { } 44 | 45 | /** 46 | * Retrieve string which will be inserted into directive in webmail config 47 | * 48 | * @param pm_Domain $domain 49 | * @param string $type webmail type 50 | * @return string 51 | * @since 18.0 52 | */ 53 | public function getWebmailApacheConfig(pm_Domain $domain, string $type) { } 54 | 55 | /** 56 | * Retrieve string which will be inserted into server {...} directive in webmail config 57 | * 58 | * @param pm_Domain $domain 59 | * @param string $type webmail type 60 | * @return string 61 | * @since 18.0 62 | */ 63 | public function getWebmailNginxConfig(pm_Domain $domain, string $type) { } 64 | 65 | /** 66 | * Retrieve string which will be inserted into directive in vhost config of the forwarding domain 67 | * 68 | * @param pm_Domain $domain 69 | * @return string 70 | * @since 18.0.26 71 | */ 72 | public function getForwardingDomainApacheConfig(pm_Domain $domain) { } 73 | 74 | /** 75 | * Retrieve string which will be inserted into server {...} directive in vhost config of the forwarding domain 76 | * 77 | * @param pm_Domain $domain 78 | * @return string 79 | * @since 18.0.26 80 | */ 81 | public function getForwardingDomainNginxConfig(pm_Domain $domain) { } 82 | 83 | /** 84 | * Retrieve xml as string which will be inserted to Plesk IIS configurator for the forwarding domain 85 | * 86 | * @param pm_Domain $domain 87 | * @return string 88 | * @since 18.0.26 89 | */ 90 | public function getForwardingDomainIisConfig(pm_Domain $domain) { } 91 | 92 | /** 93 | * Process the web server's template file and returns a new one if necessary 94 | * 95 | * @param string $templateFile 96 | * @param string $content 97 | * @param pm_Domain|null $domain 98 | * @return string 99 | * 100 | * @since 18.0.52 101 | */ 102 | public function processTemplate(string $templateFile, string $content, ?pm_Domain $domain) { } 103 | 104 | } 105 | -------------------------------------------------------------------------------- /pm/License.php: -------------------------------------------------------------------------------- 1 | get(Psr\Log\LoggerInterface::class) 10 | */ 11 | class pm_Log 12 | { 13 | 14 | /** 15 | * Error: error conditions 16 | * 17 | * @param string|Exception $message 18 | * @return void 19 | */ 20 | public static function err($message) { } 21 | 22 | /** 23 | * Warning: warning conditions 24 | * 25 | * @param string|Exception $message 26 | * @return void 27 | */ 28 | public static function warn($message) { } 29 | 30 | /** 31 | * Informational: informational messages 32 | * 33 | * @param string|Exception $message 34 | * @return void 35 | */ 36 | public static function info($message) { } 37 | 38 | /** 39 | * Debug: debug messages 40 | * 41 | * Example: "Task ID is $taskId" 42 | * 43 | * @static 44 | * @param string|Exception $message 45 | * @return void 46 | */ 47 | public static function debug($message) { } 48 | 49 | /** 50 | * Debug: debug messages with backtrace 51 | * 52 | * @param string $message 53 | * @return void 54 | */ 55 | public static function backtrace($message) { } 56 | 57 | /** 58 | * Debug: debug messages with var_dump 59 | * 60 | * @param mixed $var 61 | * @param string $message 62 | * @return void 63 | */ 64 | public static function vardump($var, $message = '') { } 65 | 66 | /** 67 | * @static 68 | * @param int $priority 69 | * @param string|Exception $message 70 | * @return void 71 | */ 72 | public static function log($priority, $message) { } 73 | 74 | /** 75 | * @return string 76 | */ 77 | public static function getLogName() { } 78 | 79 | } 80 | -------------------------------------------------------------------------------- /pm/LongTask/Manager.php: -------------------------------------------------------------------------------- 1 | $paramValue] 99 | */ 100 | public function setParams(array $params) { } 101 | 102 | /** 103 | * Get task parameter 104 | * 105 | * @param string $name Parameter name 106 | * @param mixed $default Default parameter value 107 | * @return mixed Parameter value 108 | */ 109 | public function getParam($name, $default = null) { } 110 | 111 | /** 112 | * Get all task parameters as array 113 | * 114 | * @return array All task parameters specified in format [$paramName => $paramValue] 115 | */ 116 | public function getParams() { } 117 | 118 | /** 119 | * Get ID of launched task 120 | * @return int Task instance identifier 121 | */ 122 | public function getInstanceId() { } 123 | 124 | /** 125 | * Get task progress 126 | * 127 | * @return int Current task progress (from 0 to 100) or -1 if task progress is not trackable 128 | */ 129 | public function getProgress() { } 130 | 131 | /** 132 | * Get task status 133 | * 134 | * @return string Current task status, one of STATUS_NOT_STARTED|STATUS_RUNNING|STATUS_ERROR|STATUS_DONE 135 | */ 136 | public function getStatus() { } 137 | 138 | /** 139 | * Update task progress 140 | * 141 | * @param int $progress Task progress, from 0 to 100 142 | */ 143 | public function updateProgress($progress) { } 144 | 145 | /** 146 | * Sequence of steps in ProgressDialog 147 | * 148 | * ```php 149 | * [ 150 | * 'example-step' => [ 151 | * 'icon' => pm_Context::getBaseUrl() . 'images/icon.png', 152 | * 'title' => 'Example Processing', 153 | * 'progressStatus' => 'Processed 10 of 100 items', 154 | * 'progress' => 10, 155 | * ], 156 | * ... 157 | * ] 158 | * ``` 159 | * 160 | * @return array 161 | */ 162 | public function getSteps() { } 163 | 164 | /** 165 | * Human-readable description of the task 166 | * 167 | * @since 18.0.35 168 | * @return string 169 | */ 170 | public function getDescription(): string { } 171 | 172 | /** 173 | * List of tags for concurrency limitation 174 | * Each tag limits the number of concurrent tasks that can be executed at the same time. 175 | * Limits per tag are configured in Task Manager configuration. 176 | * Tags without limit configuration default to a limit of 1 (no concurrent execution). 177 | * Empty tags list results in no additional limits. 178 | * 179 | * @since 18.0.36 180 | * @return string[] 181 | */ 182 | public function getConcurrencyRules(): array { } 183 | 184 | /** 185 | * Array representation of task 186 | * 187 | * @return array 188 | */ 189 | public function toArray() { } 190 | 191 | } 192 | -------------------------------------------------------------------------------- /pm/Navigation/OverviewPage.php: -------------------------------------------------------------------------------- 1 | string, 19 | * 'title' => string, 20 | * ], 21 | * ... 22 | * ] 23 | * ``` 24 | * 25 | * @return array 26 | */ 27 | abstract public function getData(); 28 | 29 | /** 30 | * Returns context object for this page 31 | * 32 | * ```php 33 | * [ 34 | * 'id' => string, 35 | * 'title' => string, 36 | * ] 37 | * ``` 38 | * 39 | * @return array|null 40 | */ 41 | public function getCurrentItem() { } 42 | 43 | /** 44 | * Returns page label 45 | * 46 | * @return string 47 | */ 48 | public function getLabel() { } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /pm/Navigation/Page.php: -------------------------------------------------------------------------------- 1 | value). 22 | * @param pm_Client|null $client client or reseller who gets a notification. 23 | * @return array list of recipients 24 | * @throws pm_Exception 25 | */ 26 | public function send($id, array $params = [], ?pm_Client $client = null) { } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /pm/Notifications/EmailNotification.php: -------------------------------------------------------------------------------- 1 | '*', 65 | * 'hour' => '*', 66 | * 'dom' => '*', 67 | * 'month' => '*', 68 | * 'dow' => '*', 69 | * ] 70 | * ``` 71 | * 72 | * @param array $schedule Associated array with keys minute, hour, dom, month, dow 73 | * @return void 74 | */ 75 | public function setSchedule(array $schedule) { } 76 | 77 | /** 78 | * Return module identity of task 79 | * @return string 80 | */ 81 | public function getModuleId() { } 82 | 83 | /** 84 | * Return task status 85 | * @return bool 86 | * @since 18.0.52 87 | */ 88 | public function isActive(): bool { } 89 | 90 | } 91 | -------------------------------------------------------------------------------- /pm/SearchIndex.php: -------------------------------------------------------------------------------- 1 | 'title', 48 | * 'content' => 'some text data', 49 | * 'boost' => 0.5, 50 | * ], 51 | * ] 52 | * ``` 53 | * 54 | * @return array[]|string[]|string 55 | */ 56 | abstract public function getIndexedFields(); 57 | 58 | /** 59 | * Returns a title for the search result 60 | * 61 | * @return string 62 | */ 63 | public function getTitle() { } 64 | 65 | /** 66 | * Returns a description (tooltip) for the search result. 67 | * 68 | * @return string 69 | */ 70 | public function getDescription() { } 71 | 72 | /** 73 | * Returns an icon (32x32px) for the search result. 74 | * 75 | * @return string 76 | */ 77 | public function getIcon() { } 78 | 79 | /** 80 | * Returns a link for the search result 81 | * 82 | * @return string 83 | */ 84 | public function getLink() { } 85 | 86 | /** 87 | * Finds whether the search result should be visible to the current user. 88 | * 89 | * @return bool 90 | */ 91 | public function isVisible() { } 92 | 93 | /** 94 | * Returns a boost of the search result. 95 | * 96 | * @return float 97 | */ 98 | public function getBoost() { } 99 | 100 | } 101 | -------------------------------------------------------------------------------- /pm/ServerFileManager.php: -------------------------------------------------------------------------------- 1 | activeList([ 27 | * 'data' => array, 28 | * 'layout' => string|array, 29 | * 'locale' => array, 30 | * ]); 31 | * ``` 32 | * 33 | * @param array $options 34 | * 35 | * @return $this 36 | */ 37 | public function activeList(array $options = []) { } 38 | 39 | /** 40 | * Set data 41 | * 42 | * ```php 43 | * $this->activeList()->setData([ 44 | * [ 45 | * 'id' => string, 46 | * 'icon' => string, // optional 47 | * 'title' => string, 48 | * 'type' => string // optional 49 | * 'labels' => [ // optional 50 | * [ 51 | * 'type' => string, 52 | * 'value' => string 53 | * ], 54 | * ... 55 | * ], 56 | * 'primaryActions' => [ // optional 57 | * [ 58 | * 'title' => string, 59 | * 'link' => string, 60 | * ], 61 | * ... 62 | * ], 63 | * 'summary' => [ // optional 64 | * [ 65 | * 'name' => string, 66 | * 'value' => string, 67 | * ], 68 | * ... 69 | * ], 70 | * 'toolbar' => [ // optional 71 | * [ 72 | * 'title' => string, 73 | * 'iconClass' => string, 74 | * 'link' => string, 75 | * ], 76 | * ... 77 | * ], 78 | * 'services' => [ // optional 79 | * [ 80 | * 'title' => string, 81 | * 'icon' => string, 82 | * 'link' => string, 83 | * 'toolbar' => [ // optional 84 | * [ 85 | * 'title' => string, 86 | * 'link' => string, 87 | * ], 88 | * ... 89 | * ], 90 | * 'messages' => [ // optional 91 | * [ 92 | * 'icon' => string, // optional 93 | * 'info' => string, 94 | * 'noEscape' => bool, // optional, default is false 95 | * ], 96 | * ... 97 | * ], 98 | * ], 99 | * ... 100 | * ], 101 | * 'additionalHtml' => string, // optional 102 | * 'actions' => [ // optional 103 | * [ 104 | * 'title' => string, 105 | * 'icon' => string, 106 | * 'link' => string, 107 | * ], 108 | * ... 109 | * ], 110 | * ], 111 | * ... 112 | * ]); 113 | * ``` 114 | * 115 | * @param array $data 116 | * 117 | * @return $this 118 | */ 119 | public function setData(array $data) { } 120 | 121 | /** 122 | * Set the layout for items. Layout may be specified as either as a String or as an Object: 123 | * 124 | * **Specify as a String** 125 | * ```php 126 | * $this->activeList()->setLayout(pm_View_Helper_ActiveList::LAYOUT_RESPONSIVECOLUMN); 127 | * ``` 128 | * 129 | * **Specify as an Object** 130 | * ```php 131 | * $this->activeList()->setLayout([ 132 | * 'type' => pm_View_Helper_ActiveList::LAYOUT_RESPONSIVECOLUMN, 133 | * 'stretched' => true, 134 | * 'columns' => 'xl-2 xxl-3', 135 | * ]); 136 | * ``` 137 | * 138 | * The *type* option can take the following values pm_View_Helper_ActiveList::LAYOUT_AUTO (by default) 139 | * or pm_View_Helper_ActiveList::LAYOUT_RESPONSIVECOLUMN 140 | * 141 | * The pm_View_Helper_ActiveList::LAYOUT_RESPONSIVECOLUMN layout id a simple grid-like layout 142 | * for proportionally dividing container space and allocating it to each item. You can set 143 | * additional optional options *stretched* and *columns* for this layout type. 144 | * 145 | * The *stretched* option is making elements the equal height in row. 146 | * 147 | * The *columns* option is whitespace separated configuration of how many columns in 148 | * list for specific viewport size in following format (sm|md|lg|xl|xxl|xxxl)-(1-6). 149 | * For example, 'xl-2 xxl-3' means that there will be 2 columns when viewport is "xl" 150 | * and 3 columns when viewport is "xxl". 151 | * 152 | * @param string|array $layout 153 | * 154 | * @return $this 155 | */ 156 | public function setLayout($layout) { } 157 | 158 | /** 159 | * Set locale 160 | * 161 | * ```php 162 | * $this->activeList()->setLocale([ 163 | * 'noObjects' => $this->lmsg('noObjects'), 164 | * ]); 165 | * ``` 166 | * 167 | * @param array $locale 168 | * 169 | * @return $this 170 | */ 171 | public function setLocale(array $locale = []) { } 172 | 173 | } 174 | -------------------------------------------------------------------------------- /pm/View/Helper/BaseUrl.php: -------------------------------------------------------------------------------- 1 | string, 26 | * 'action' => string, 27 | * 'link' => string, 28 | * ] 29 | * ``` 30 | * 31 | * @param array|string $params 32 | * @return string 33 | */ 34 | public function moduleUrl($params) { } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /pm/View/Helper/DomainOverviewUrl.php: -------------------------------------------------------------------------------- 1 | string, 19 | * 'title' => string, 20 | * 'description' => string, 21 | * 'class' => string, 22 | * 'controller' => string, 23 | * 'action' => string, 24 | * 'link' => string, 25 | * ], 26 | * ... 27 | * ] 28 | * 29 | * @param array $tools 30 | * @return string 31 | */ 32 | public function renderSmallTools(array $tools) { } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /pm/View/Helper/RenderTabs.php: -------------------------------------------------------------------------------- 1 | string, 19 | * 'title' => string, 20 | * 'active' => bool, 21 | * 'controller' => string, 22 | * 'action' => string, 23 | * 'link' => string, 24 | * ], 25 | * ... 26 | * ] 27 | * ``` 28 | * 29 | * @param array $tabs 30 | * @return string 31 | */ 32 | public function renderTabs(array $tabs) { } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /pm/View/Helper/RenderTools.php: -------------------------------------------------------------------------------- 1 | string, 19 | * 'icon' => string, 20 | * 'title' => string, 21 | * 'description' => string, 22 | * 'controller' => string, 23 | * 'action' => string, 24 | * 'link' => string, 25 | * ], 26 | * ... 27 | * ] 28 | * ``` 29 | * 30 | * @param array $tools 31 | * @return string 32 | */ 33 | public function renderTools(array $tools) { } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /pm/View/List/Simple.php: -------------------------------------------------------------------------------- 1 | boolean, 91 | * 'defaultItemsPerPage' => int, 92 | * 'defaultSortField' => string, 93 | * 'defaultSortDirection' => string, 94 | * 'dataUrl' => array|string, 95 | * 'columns' => array, 96 | * 'data' => array, 97 | * 'tools' => array, 98 | * ] 99 | * ``` 100 | * 101 | * @param Zend_View $view 102 | * @param Zend_Controller_Request_Abstract $request 103 | * @param array $options Additional options available in $this->_options property 104 | */ 105 | public function __construct(Zend_View $view, Zend_Controller_Request_Abstract $request, $options = []) { } 106 | 107 | /** 108 | * Set list columns from associated array 109 | * 110 | * ```php 111 | * [ 112 | * 'first-column-id' => [ 113 | * 'title' => string, 114 | * 'noEscape' => bool, 115 | * 'searchable' => bool, 116 | * 'sortable' => bool, 117 | * ], 118 | * ... 119 | * ] 120 | * ``` 121 | * 122 | * @param array $columns 123 | * @return void 124 | */ 125 | public function setColumns(array $columns) { } 126 | 127 | /** 128 | * add search filters from associated array 129 | * 130 | * ```php 131 | * [ 132 | * 'column-id' => 133 | * [ 134 | * 'title' => string, 135 | * 'fields' => [string, string], 136 | * 'options' => [string => string], 137 | * ] 138 | * ] 139 | * ``` 140 | * 141 | * @param array $filters 142 | * @return void 143 | * @since 12.5 144 | */ 145 | public function addSearchFilters(array $filters) { } 146 | 147 | /** 148 | * Set list data from associated array 149 | * 150 | * ```php 151 | * [ 152 | * [ 153 | * 'first-column-id' => string, 154 | * ], 155 | * ... 156 | * ] 157 | * ``` 158 | * 159 | * @param array $data 160 | * @return void 161 | */ 162 | public function setData(array $data): void { } 163 | 164 | /** 165 | * Fetch list data 166 | * 167 | * @return array 168 | */ 169 | public function fetchData() { } 170 | 171 | /** 172 | * Set URL for retrieving list data 173 | * 174 | * ```php 175 | * [ 176 | * 'controller' => string, 177 | * 'action' => string, 178 | * 'link' => string, 179 | * ] 180 | * ``` 181 | * 182 | * @param array|string $params 183 | * @return void 184 | */ 185 | public function setDataUrl($params) { } 186 | 187 | /** 188 | * Set list tools from associated array 189 | * 190 | * ```php 191 | * [ 192 | * [ 193 | * 'title' => string, 194 | * 'description' => string, 195 | * 'class' => string, 196 | * 'controller' => string, 197 | * 'action' => string, 198 | * 'link' => string, 199 | * 'execGroupOperation' => string|[ 200 | * 'url' => string, 201 | * 'submitHandler' => 'function(url, ids) {}' 202 | * ], 203 | * ], 204 | * ] 205 | * ``` 206 | * 207 | * @param array $tools 208 | * @return void 209 | */ 210 | public function setTools(array $tools) { } 211 | 212 | /** 213 | * Translate message by key according to current locale 214 | * 215 | * @param string $key 216 | * @param array $params 217 | * @return string 218 | * @since 12.0 added argument $params 219 | */ 220 | public function lmsg($key, $params = []) { } 221 | 222 | /** 223 | * Get unique list identifier 224 | * 225 | * @return string 226 | */ 227 | public function getId() { } 228 | 229 | } 230 | -------------------------------------------------------------------------------- /pm/View/Status.php: -------------------------------------------------------------------------------- 1 | STATUS_INFO|STATUS_WARNING|STATUS_ERROR, 72 | * 'content' => string, 73 | * ], 74 | * ... 75 | * ] 76 | * ``` 77 | * 78 | * @param bool $clearMessages [optional] Default is true. 79 | * @return array 80 | * @since 17.0 81 | */ 82 | public static function getAllMessages($clearMessages = true) { } 83 | 84 | /** 85 | * Check if status message with certain type is present 86 | * 87 | * @param string $type Status message type, one of STATUS_INFO|STATUS_WARNING|STATUS_ERROR 88 | * @return bool 89 | * @since 17.0 90 | */ 91 | public static function hasMessagesByType($type) { } 92 | 93 | } 94 | -------------------------------------------------------------------------------- /pm/WebServer.php: -------------------------------------------------------------------------------- 1 |