diff --git a/contrib/openldap/core-fd.schema b/contrib/openldap/core-fd.schema index 792d5c80ecca3dce8648eb97f8211db41a26632a..42beec3c29e35d8dce6384bfbb73c00bce55e777 100644 --- a/contrib/openldap/core-fd.schema +++ b/contrib/openldap/core-fd.schema @@ -92,6 +92,40 @@ attributetype ( 1.3.6.1.4.1.38414.62.11.4 NAME 'fdSubscriptionContractId' attributetype ( 1.3.6.1.4.1.38414.62.11.5 NAME 'fdSubscriptionName' DESC 'FusionDirectory - Subscription client name' SUP name ) + +#Macro Attributes + +attributetype ( 1.3.6.1.4.1.38414.90.1.1 NAME 'fdMacroRDN' + DESC 'FusionDirectory - Macro RDN' + EQUALITY caseExactIA5Match + SUBSTR caseExactIA5SubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + SINGLE-VALUE) + +attributetype ( 1.3.6.1.4.1.38414.90.1.2 NAME 'fdMacroMail' + DESC 'FusionDirectory - Macro RDN' + EQUALITY octetStringMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.40) + SINGLE-VALUE) + +attributetype ( 1.3.6.1.4.1.38414.90.1.3 NAME 'fdMacroInvitations' + DESC 'FusionDirectory - template mail field' + EQUALITY octetStringMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.40) + +attributetype ( 1.3.6.1.4.1.38414.90.1.4 NAME 'fdMacroUserRecovery' + DESC 'FusionDirectory - template mail field' + EQUALITY octetStringMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.40) + +attributetype ( 1.3.6.1.4.1.38414.90.1.5 NAME 'fdMacroUserReminder' + DESC 'FusionDirectory - template mail field' + EQUALITY octetStringMatch + SUBSTR caseIgnoreSubstringsMatch + SYNTAX 1.3.6.1.4.1.1466.115.121.1.40) # Classes @@ -130,3 +164,12 @@ objectclass ( 1.3.6.1.4.1.38414.62.2.2 NAME 'fdSubscriptionInformation' SUP top DESC 'FusionDirectory - Information about current subscription' MUST ( cn ) MAY ( uid $ fdSubscriptionStartDate $ fdSubscriptionEndDate $ fdSubscriptionType $ fdSubscriptionContractId $ fdSubscriptionName )) + +# Classes Macros Related + +objectclass ( 1.3.6.1.4.1.38414.90.2.1 NAME 'fdMacroConf' + DESC 'FusionDirectory Macro Configuration' + SUP top AUXILIARY + MUST ( cn ) + MAY ( fdMacroRDN $ fdMacroMail $ fdMacroInvitations $ fdMacroUserRecovery $ fdMacroUserReminder ) ) + diff --git a/plugins/config/class_macroConfig.inc b/plugins/config/class_macroConfig.inc new file mode 100644 index 0000000000000000000000000000000000000000..69003a75ce435c81bdbc984393c34edd6a738950 --- /dev/null +++ b/plugins/config/class_macroConfig.inc @@ -0,0 +1,67 @@ +<?php +/* + This code is part of FusionDirectory (http://www.fusiondirectory.org/) + Copyright (C) 2012-2022 FusionDirectory + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +class macrosConfig extends multiPluginSection +{ + static function plInfo (): array + { + return [ + 'plShortName' => _('macrosConfiguration'), + 'plDescription' => _('FusionDirectory macro configuration tool'), + 'plObjectClass' => ['fdMacrosConf'], + 'plCategory' => ['configuration'], + 'plObjectType' => ['smallConfig'], + + 'plProvidedAcls' => parent::generatePlProvidedAcls(static::getAttributesInfo()) + ]; + } + + static function getAttributesInfo (): array + { + return [ + 'macrosConf' => [ + 'name' => _('Macros'), + 'attrs' => [ + new StringAttribute( + _('Macros RDN'), _('Branch in which Directory Base, Macro will be stored'), + 'fdMacroRDN', TRUE, + 'ou=macroConfig' + ), + ] + ], + 'Macro' => [ + 'name' => _('Linked Object'), + 'attrs' => [ + new SelectAttribute( + _('Primary affiliation'), _('eduPersonPrimaryAffiliation - Main status of the person'), + 'mailTemplate', FALSE + ), + new SetAttribute( + new SelectAttribute( + _('Macro'), _('List Of Available Macro'), + 'fdMacroMail', FALSE + ) + ), + ] + ], + ]; + } +} +