* @git Joomla Component Builder * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace VDM\Joomla\Componentbuilder\Compiler\Creator; use VDM\Joomla\Componentbuilder\Compiler\Config; use VDM\Joomla\Componentbuilder\Compiler\Language; use VDM\Joomla\Componentbuilder\Compiler\Component; use VDM\Joomla\Componentbuilder\Compiler\Builder\ConfigFieldsets; use VDM\Joomla\Componentbuilder\Compiler\Builder\ConfigFieldsetsCustomfield as Customfield; use VDM\Joomla\Componentbuilder\Compiler\Utilities\Indent; use VDM\Joomla\Componentbuilder\Compiler\Utilities\Line; /** * Config Fieldsets Email Helper Creator Class * * @since 3.2.0 */ final class ConfigFieldsetsEmailHelper { /** * The Config Class. * * @var Config * @since 3.2.0 */ protected Config $config; /** * The Language Class. * * @var Language * @since 3.2.0 */ protected Language $language; /** * The Component Class. * * @var Component * @since 3.2.0 */ protected Component $component; /** * The ConfigFieldsets Class. * * @var ConfigFieldsets * @since 3.2.0 */ protected ConfigFieldsets $configfieldsets; /** * The ConfigFieldsetsCustomfield Class. * * @var Customfield * @since 3.2.0 */ protected Customfield $customfield; /** * Constructor. * * @param Config $config The Config Class. * @param Language $language The Language Class. * @param Component $component The Component Class. * @param ConfigFieldsets $configfieldsets The ConfigFieldsets Class. * @param Customfield $customfield The ConfigFieldsetsCustomfield Class. * * @since 3.2.0 */ public function __construct(Config $config, Language $language, Component $component, ConfigFieldsets $configfieldsets, Customfield $customfield) { $this->config = $config; $this->language = $language; $this->component = $component; $this->configfieldsets = $configfieldsets; $this->customfield = $customfield; } /** * Set Email Helper Config Fieldsets * * @param string $lang * * @since 3.2.0 */ public function set(string $lang): void { if ($this->component->get('add_email_helper')) { // main lang prefix $lang = $lang . ''; // set main lang string $this->language->set( $this->config->lang_target, $lang . '_MAIL_CONFIGURATION', "Mail Configuration" ); $this->language->set($this->config->lang_target, $lang . '_DKIM', "DKIM"); // start building field set for email helper functions $this->configfieldsets->add('component', PHP_EOL . Indent::_(1) . "configfieldsets->add('component', Indent::_(2) . "name=\"mail_configuration_custom_config\""); $this->configfieldsets->add('component', Indent::_(2) . "label=\"" . $lang . "_MAIL_CONFIGURATION\">"); // add custom Mail Configurations if ($this->customfield->isArray('Mail Configuration')) { $this->configfieldsets->add('component', implode( "", $this->customfield->get('Mail Configuration') )); $this->customfield->remove('Mail Configuration'); } else { // set all the laguage strings $this->language->set( $this->config->lang_target, $lang . '_MAILONLINE_LABEL', "Mailer Status" ); $this->language->set( $this->config->lang_target, $lang . '_MAILONLINE_DESCRIPTION', "Warning this will stop all emails from going out." ); $this->language->set($this->config->lang_target, $lang . '_ON', "On"); $this->language->set($this->config->lang_target, $lang . '_OFF', "Off"); $this->language->set( $this->config->lang_target, $lang . '_MAILER_LABEL', "Mailer" ); $this->language->set( $this->config->lang_target, $lang . '_MAILER_DESCRIPTION', "Select what mailer you would like to use to send emails." ); $this->language->set($this->config->lang_target, $lang . '_GLOBAL', "Global"); $this->language->set( $this->config->lang_target, $lang . '_PHP_MAIL', "PHP Mail" ); $this->language->set( $this->config->lang_target, $lang . '_SENDMAIL', "Sendmail" ); $this->language->set($this->config->lang_target, $lang . '_SMTP', "SMTP"); $this->language->set( $this->config->lang_target, $lang . '_EMAILFROM_LABEL', " From Email" ); $this->language->set( $this->config->lang_target, $lang . '_EMAILFROM_DESCRIPTION', "The global email address that will be used to send system email." ); $this->language->set( $this->config->lang_target, $lang . '_EMAILFROM_HINT', "Email Address Here" ); $this->language->set( $this->config->lang_target, $lang . '_FROMNAME_LABEL', "From Name" ); $this->language->set( $this->config->lang_target, $lang . '_FROMNAME_DESCRIPTION', "Text displayed in the header "From:" field when sending a site email. Usually the site name." ); $this->language->set( $this->config->lang_target, $lang . '_FROMNAME_HINT', "From Name Here" ); $this->language->set( $this->config->lang_target, $lang . '_EMAILREPLY_LABEL', " Reply to Email" ); $this->language->set( $this->config->lang_target, $lang . '_EMAILREPLY_DESCRIPTION', "The global email address that will be used to set as the reply email. (leave blank for none)" ); $this->language->set( $this->config->lang_target, $lang . '_EMAILREPLY_HINT', "Email Address Here" ); $this->language->set( $this->config->lang_target, $lang . '_REPLYNAME_LABEL', "Reply to Name" ); $this->language->set( $this->config->lang_target, $lang . '_REPLYNAME_DESCRIPTION', "Text displayed in the header "Reply To:" field when replying to the site email. Usually the the person that receives the response. (leave blank for none)" ); $this->language->set( $this->config->lang_target, $lang . '_REPLYNAME_HINT', "Reply Name Here" ); $this->language->set( $this->config->lang_target, $lang . '_SENDMAIL_LABEL', "Sendmail Path" ); $this->language->set( $this->config->lang_target, $lang . '_SENDMAIL_DESCRIPTION', "Enter the path to the sendmail program directory on your host server." ); $this->language->set( $this->config->lang_target, $lang . '_SENDMAIL_HINT', "/usr/sbin/sendmail" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPAUTH_LABEL', "SMTP Authentication" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPAUTH_DESCRIPTION', "Select yes if your SMTP host requires SMTP Authentication." ); $this->language->set($this->config->lang_target, $lang . '_YES', "Yes"); $this->language->set($this->config->lang_target, $lang . '_NO', "No"); $this->language->set( $this->config->lang_target, $lang . '_SMTPSECURE_LABEL', "SMTP Security" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPSECURE_DESCRIPTION', "Select the security model that your SMTP server uses." ); $this->language->set($this->config->lang_target, $lang . '_NONE', "None"); $this->language->set($this->config->lang_target, $lang . '_SSL', "SSL"); $this->language->set($this->config->lang_target, $lang . '_TLS', "TLS"); $this->language->set( $this->config->lang_target, $lang . '_SMTPPORT_LABEL', "SMTP Port" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPPORT_DESCRIPTION', "Enter the port number of your SMTP server. Use 25 for most unsecured servers and 465 for most secure servers." ); $this->language->set( $this->config->lang_target, $lang . '_SMTPPORT_HINT', "25" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPUSER_LABEL', "SMTP Username" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPUSER_DESCRIPTION', "Enter the username for access to the SMTP host." ); $this->language->set( $this->config->lang_target, $lang . '_SMTPUSER_HINT', "email@demo.com" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPPASS_LABEL', "SMTP Password" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPPASS_DESCRIPTION', "Enter the password for access to the SMTP host." ); $this->language->set( $this->config->lang_target, $lang . '_SMTPHOST_LABEL', "SMTP Host" ); $this->language->set( $this->config->lang_target, $lang . '_SMTPHOST_DESCRIPTION', "Enter the name of the SMTP host." ); $this->language->set( $this->config->lang_target, $lang . '_SMTPHOST_HINT', "localhost" ); // set the mailer fields $this->configfieldsets->add('component', PHP_EOL . Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"radio\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"mailonline\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_MAILONLINE_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_MAILONLINE_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"btn-group btn-group-yesno\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"1\">"); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"list\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"mailer\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_MAILER_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_MAILER_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"list_class\""); $this->configfieldsets->add('component', Indent::_(3) . "multiple=\"false\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"WORD\""); $this->configfieldsets->add('component', Indent::_(3) . "required=\"true\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"global\">"); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"emailfrom\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_EMAILFROM_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_EMAILFROM_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "validate=\"email\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add email address here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_EMAILFROM_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp,sendmail,default\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"fromname\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_FROMNAME_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_FROMNAME_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add some name here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_FROMNAME_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp,sendmail,default\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"replyto\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_EMAILREPLY_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_EMAILREPLY_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "validate=\"email\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add email address here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_EMAILREPLY_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp,sendmail,default\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"replytoname\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_REPLYNAME_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_REPLYNAME_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add some name here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_REPLYNAME_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp,sendmail,default\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"sendmail\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SENDMAIL_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SENDMAIL_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "required=\"false\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"PATH\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add path to you local sendmail here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_SENDMAIL_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:sendmail\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"radio\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"smtpauth\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SMTPAUTH_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SMTPAUTH_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"btn-group btn-group-yesno\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"0\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp\">"); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"list\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"smtpsecure\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SMTPSECURE_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SMTPSECURE_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"list_class\""); $this->configfieldsets->add('component', Indent::_(3) . "multiple=\"false\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"WORD\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"none\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp\">"); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"smtpport\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SMTPPORT_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"25\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SMTPPORT_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"INT\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add the port number of your SMTP server here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_SMTPPORT_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"smtpuser\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SMTPUSER_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SMTPUSER_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add the username for SMTP server here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_SMTPUSER_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"password\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"smtppass\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SMTPPASS_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SMTPPASS_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"raw\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add the password for SMTP server here.\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"smtphost\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_SMTPHOST_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"localhost\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_SMTPHOST_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add the name of the SMTP host here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_SMTPHOST_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"mailer:smtp\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); } // close that fieldset $this->configfieldsets->add('component', Indent::_(1) . ""); // start dkim field set $this->configfieldsets->add('component', Indent::_(1) . "configfieldsets->add('component', Indent::_(2) . "name=\"dkim_custom_config\""); $this->configfieldsets->add('component', Indent::_(2) . "label=\"" . $lang . "_DKIM\">"); // add custom DKIM fields if ($this->customfield->isArray('DKIM')) { $this->configfieldsets->add('component', implode( "", $this->customfield->get('DKIM') )); $this->customfield->remove('DKIM'); } else { $this->language->set( $this->config->lang_target, $lang . '_DKIM_LABEL', "Enable DKIM" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_DESCRIPTION', "Set this option to Yes if you want to sign your emails using DKIM." ); $this->language->set($this->config->lang_target, $lang . '_YES', "Yes"); $this->language->set($this->config->lang_target, $lang . '_NO', "No"); $this->language->set( $this->config->lang_target, $lang . '_DKIM_DOMAIN_LABEL', "Domain" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_DOMAIN_DESCRIPTION', "Set the domain. Eg. domain.com" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_DOMAIN_HINT', "domain.com" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_SELECTOR_LABEL', "Selector" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_SELECTOR_DESCRIPTION', "Set your DKIM/DNS selector." ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_SELECTOR_HINT', "vdm" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_PASSPHRASE_LABEL', "Passphrase" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_PASSPHRASE_DESCRIPTION', "Enter your passphrase here." ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_IDENTITY_LABEL', "Identity" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_IDENTITY_DESCRIPTION', "Set DKIM identity. This can be in the format of an email address 'you@yourdomain.com' typically used as the source of the email." ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_IDENTITY_HINT', "you@yourdomain.com" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_PRIVATE_KEY_LABEL', "Private key" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_PRIVATE_KEY_DESCRIPTION', "set private key" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_PUBLIC_KEY_LABEL', "Public key" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_PUBLIC_KEY_DESCRIPTION', "set public key" ); $this->language->set( $this->config->lang_target, $lang . '_NOTE_DKIM_USE_LABEL', "Server Configuration" ); $this->language->set( $this->config->lang_target, $lang . '_NOTE_DKIM_USE_DESCRIPTION', "

Using the below details, you need to configure your DNS by adding a TXT record on your domain:

" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_KEY_LABEL', "Key" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_KEY_DESCRIPTION', "This is the KEY to use in the DNS record." ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_KEY_HINT', "vdm._domainkey" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_VALUE_LABEL', "Value" ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_VALUE_DESCRIPTION', "This is the TXT value to use in the DNS. Replace the PUBLICKEY with your public key." ); $this->language->set( $this->config->lang_target, $lang . '_DKIM_VALUE_HINT', "v=DKIM1;k=rsa;g=*;s=email;h=sha1;t=s;p=PUBLICKEY" ); $this->configfieldsets->add('component', PHP_EOL . Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"radio\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"btn-group btn-group-yesno\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"0\""); $this->configfieldsets->add('component', Indent::_(3) . "required=\"true\">"); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(3) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_domain\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_DOMAIN_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_DOMAIN_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add DKIM Domain here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_DKIM_DOMAIN_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(3) . "onchange=\"vdm_dkim();\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_selector\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_SELECTOR_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "default=\"vdm\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_SELECTOR_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add DKIM/DNS selector here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_DKIM_SELECTOR_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(3) . "onchange=\"vdm_dkim();\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"password\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_passphrase\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_PASSPHRASE_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_PASSPHRASE_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"raw\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add passphrase here.\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_identity\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_IDENTITY_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"60\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_IDENTITY_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"raw\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add DKIM Identity here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_DKIM_IDENTITY_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"textarea\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_private_key\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_PRIVATE_KEY_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "rows=\"15\""); $this->configfieldsets->add('component', Indent::_(3) . "cols=\"5\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_PRIVATE_KEY_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"input-xxlarge span12\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"textarea\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_public_key\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_PUBLIC_KEY_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "rows=\"5\""); $this->configfieldsets->add('component', Indent::_(3) . "cols=\"5\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_PUBLIC_KEY_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"input-xxlarge span12\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(3) . "onchange=\"vdm_dkim();\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_key\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_KEY_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"40\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"150\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_KEY_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add KEY here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_DKIM_KEY_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); $this->configfieldsets->add('component', Indent::_(2) . ""); $this->configfieldsets->add('component', Indent::_(2) . "configfieldsets->add('component', Indent::_(3) . "type=\"text\""); $this->configfieldsets->add('component', Indent::_(3) . "name=\"dkim_value\""); $this->configfieldsets->add('component', Indent::_(3) . "label=\"" . $lang . "_DKIM_VALUE_LABEL\""); $this->configfieldsets->add('component', Indent::_(3) . "size=\"80\""); $this->configfieldsets->add('component', Indent::_(3) . "maxlength=\"350\""); $this->configfieldsets->add('component', Indent::_(3) . "description=\"" . $lang . "_DKIM_VALUE_DESCRIPTION\""); $this->configfieldsets->add('component', Indent::_(3) . "class=\"text_area\""); $this->configfieldsets->add('component', Indent::_(3) . "filter=\"STRING\""); $this->configfieldsets->add('component', Indent::_(3) . "message=\"Error! Please add TXT record here.\""); $this->configfieldsets->add('component', Indent::_(3) . "hint=\"" . $lang . "_DKIM_VALUE_HINT\""); $this->configfieldsets->add('component', Indent::_(3) . "showon=\"dkim:1\""); $this->configfieldsets->add('component', Indent::_(2) . "/>"); } // close that fieldset $this->configfieldsets->add('component', Indent::_(1) . ""); } } }