class ZoneTemplateService (View source)

Facade over the zone template use cases, kept so existing callers keep one entry point: ZoneTemplateWriteService (templates and the default flag), ZoneTemplateRecordService (template records) and ZoneTemplateAccessPolicy (who may use or owns a template). Lookups and linked-zone listings read the repository directly. New code should depend on the specific service.

Methods

array
getListZoneTempl(int $userid)

Get a list of all available zone templates

int|null
getDefaultTemplateId()

No description

setDefaultTemplate(int $zone_templ_id)

No description

addZoneTempl(array $details, int $userid, array $groupIds = [])

No description

deleteZoneTempl(int $zone_templ_id)

No description

addZoneTemplRecord(int $zone_templ_id, string $name, string $type, string $content, int $ttl, int $prio)

No description

editZoneTemplRecord(array $record, int $zone_templ_id)

No description

deleteZoneTemplRecord(int $rid, int $zone_templ_id)

No description

bool
canUseTemplate(mixed $zone_templ_id, int $userid, bool $isAdmin)

No description

bool
canCurrentUserUseTemplate(mixed $zone_templ_id)

No description

bool
isUserOwnerOfTemplate(int $zone_templ_id, int $userid)

No description

addZoneTemplSaveAs(string $template_name, string $description, int $userid, array $records, array $options, string $domain = '')

No description

array
getListZoneUseTempl(int $zone_templ_id, int $userid)

Get list of all zones using template

array
getZoneAndDomainIdsByTemplate(int $zone_templ_id, int $userid)

Get id pairs for zones using a template.

array
getZonesUsingTemplate(int $zone_templ_id, int $userid)

Get detailed information about zones using a specific template

editZoneTempl(array $details, int $zone_templ_id, int $user_id)

No description

bool
unlinkZoneFromTemplate(int $zone_id)

Unlink a zone from its template

array
getZonesByIds(array $zone_ids)

Get zone details by zone IDs

bool
zoneTemplIdExists(int $zone_templ_id)

Check if a zone template exists

bool
zoneTemplNameExists(string $zone_templ_name)

Check if zone template name exists

array
getZoneTemplIdsByName(string $name)

Get zone template IDs by name

bool
zoneTemplNameAndIdExists(string $zone_templ_name, int $zone_templ_id)

Check if another zone template carries this name

Details

array getListZoneTempl(int $userid)

Get a list of all available zone templates

Parameters

int $userid

User ID

Return Value

array

array of zone templates [id,name,descr]

int|null getDefaultTemplateId()

No description

Return Value

int|null

See also

ZoneTemplateWriteService::getDefaultTemplateId

ZoneTemplateWriteResult setDefaultTemplate(int $zone_templ_id)

No description

Parameters

int $zone_templ_id

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateWriteService::setDefaultTemplate

ZoneTemplateWriteResult addZoneTempl(array $details, int $userid, array $groupIds = [])

No description

Parameters

array $details
int $userid
array $groupIds

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateWriteService::addZoneTempl

ZoneTemplateWriteResult deleteZoneTempl(int $zone_templ_id)

No description

Parameters

int $zone_templ_id

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateWriteService::deleteZoneTempl

ZoneTemplateWriteResult addZoneTemplRecord(int $zone_templ_id, string $name, string $type, string $content, int $ttl, int $prio)

No description

Parameters

int $zone_templ_id
string $name
string $type
string $content
int $ttl
int $prio

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateRecordService::addZoneTemplRecord

ZoneTemplateWriteResult editZoneTemplRecord(array $record, int $zone_templ_id)

No description

Parameters

array $record
int $zone_templ_id

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateRecordService::editZoneTemplRecord

ZoneTemplateWriteResult deleteZoneTemplRecord(int $rid, int $zone_templ_id)

No description

Parameters

int $rid
int $zone_templ_id

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateRecordService::deleteZoneTemplRecord

bool canUseTemplate(mixed $zone_templ_id, int $userid, bool $isAdmin)

No description

Parameters

mixed $zone_templ_id
int $userid
bool $isAdmin

Return Value

bool

See also

ZoneTemplateAccessPolicy::canUseTemplate

bool canCurrentUserUseTemplate(mixed $zone_templ_id)

No description

Parameters

mixed $zone_templ_id

Return Value

bool

See also

ZoneTemplateAccessPolicy::canCurrentUserUseTemplate

bool isUserOwnerOfTemplate(int $zone_templ_id, int $userid)

No description

Parameters

int $zone_templ_id
int $userid

Return Value

bool

See also

ZoneTemplateAccessPolicy::isUserOwnerOfTemplate

ZoneTemplateWriteResult addZoneTemplSaveAs(string $template_name, string $description, int $userid, array $records, array $options, string $domain = '')

No description

Parameters

string $template_name
string $description
int $userid
array $records
array $options
string $domain

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateWriteService::addZoneTemplSaveAs

array getListZoneUseTempl(int $zone_templ_id, int $userid)

Get list of all zones using template

Parameters

int $zone_templ_id
int $userid

Return Value

array

array of zones ids

array getZoneAndDomainIdsByTemplate(int $zone_templ_id, int $userid)

Get id pairs for zones using a template.

Returns rows of ['zone_id' => zones.id, 'domain_id' => zones.domain_id] so callers can pass the right value to PowerDNS-side operations (domain_id) and to Poweradmin-native sync tracking (zone_id). On SQL backends the result is inner-joined against the PowerDNS domains table to skip orphaned mappings whose domain_id no longer exists (those would crash later in updateZoneRecords).

Parameters

int $zone_templ_id
int $userid

Return Value

array

array getZonesUsingTemplate(int $zone_templ_id, int $userid)

Get detailed information about zones using a specific template

Parameters

int $zone_templ_id
int $userid

Return Value

array

array of zone details

ZoneTemplateWriteResult editZoneTempl(array $details, int $zone_templ_id, int $user_id)

No description

Parameters

array $details
int $zone_templ_id
int $user_id

Return Value

ZoneTemplateWriteResult

See also

ZoneTemplateWriteService::editZoneTempl

bool unlinkZoneFromTemplate(int $zone_id)

Unlink a zone from its template

Parameters

int $zone_id

Return Value

bool

array getZonesByIds(array $zone_ids)

Get zone details by zone IDs

Parameters

array $zone_ids

Array of zone IDs

Return Value

array

Array of zone details

bool zoneTemplIdExists(int $zone_templ_id)

Check if a zone template exists

Parameters

int $zone_templ_id

Return Value

bool

bool zoneTemplNameExists(string $zone_templ_name)

Check if zone template name exists

Parameters

string $zone_templ_name

Return Value

bool

array getZoneTemplIdsByName(string $name)

Get zone template IDs by name

Template names are not unique, so several IDs may come back.

Parameters

string $name

Return Value

array

Array of matching template IDs

bool zoneTemplNameAndIdExists(string $zone_templ_name, int $zone_templ_id)

Check if another zone template carries this name

Parameters

string $zone_templ_name
int $zone_templ_id

Return Value

bool