Персональные настройки

Plesk SDK API позволяет изменять поведение расширений путем редактирования конфигурационного файла panel.ini.

Вы можете добавлять в panel.ini значения, которые будут читаться расширениями. Предполагается, что эти значения будут использоваться только для чтения, и пользователи будут редко их менять. Например, вы можете задать значение "connectionTimeout" в panel.ini вместо того, чтобы указывать его прямо в коде. Чтобы указать одно или несколько значений для чтения определенным расширением, добавьте в файл секцию, начинающуюся с [ext-<extension-id>], где <extension-id> – идентификатор расширения. Рассмотрим следующий пример:

[ext-custom-config]
timeout = 1200
homepage = "https://another-url.com"

Здесь указаны значения для timeout и homepage, и они будут считаны только расширением с идентификатором "custom-config".

Чтение значений из конфигурационного файла осуществляется посредством класса pm_Config.

Хранение значений по умолчанию необязательно, оно осуществляется через класс хука, реализованный в расширении. Этот класс должен находиться в plib/hooks/ConfigDefaults.php и расширять pm_Hook_ConfigDefaults.

Вложенные настройки конфигурации не поддерживаются.

Примеры

Чтений значений из файла конфигурации

$timeout = pm_Config::get('timeout');
$homepage = pm_Config::get('homepage');

Восстановление настроек по умолчанию

В файле plib/hooks/ConfigDefaults.php:

<?php
// Copyright 1999-2016. Parallels IP Holdings GmbH.
class Modules_CustomConfig_ConfigDefaults extends pm_Hook_ConfigDefaults
{
 public function getDefaults()
 {
 return [
 'homepage' => 'https://www.plesk.com/',
 'timeout' => 60,
 ];
 }
}

Простое расширение, иллюстрирующее этот принцип, можно найти здесь.