diff --git a/_config/base-extensions.yml b/_config/base-extensions.yml index 673a3c2..5733a5d 100755 --- a/_config/base-extensions.yml +++ b/_config/base-extensions.yml @@ -58,8 +58,6 @@ SilverStripe\Core\Injector\Injector: properties: Authenticators: default: '%$A2nt\CMSNiceties\Forms\Authenticator' - SilverStripe\Control\Email\Email: - class: A2nt\CMSNiceties\MailerFix SilverStripe\UserForms\Form\UserForm: extensions: diff --git a/_config/templates-requirements.yml b/_config/templates-requirements.yml index 96c9c53..b2428d3 100755 --- a/_config/templates-requirements.yml +++ b/_config/templates-requirements.yml @@ -1,19 +1,6 @@ --- Name: a2nt-cms-niceties-templates-requirements --- -A2nt\CMSNiceties\Templates\DeferredRequirements: - nofontawesome: false - version: false - static_domain: false - deferred: true - noreact: false - nojquery: true - jquery_version: '3.4.1' - fontawesome_svg: true - -SilverStripe\FontAwesome\FontAwesomeField: - version: '5.12.0' - SilverStripe\View\Requirements: disable_flush_combined: true SilverStripe\View\Requirements_Backend: diff --git a/_config/templates-themes.yml b/_config/templates-themes.yml index 6f3a1d1..a0c58fb 100755 --- a/_config/templates-themes.yml +++ b/_config/templates-themes.yml @@ -3,6 +3,20 @@ Name: a2nt-cms-niceties-templates-themes After: - a2nt-cms-niceties-options-elements --- + +A2nt\CMSNiceties\Templates\DeferredRequirements: + nofontawesome: false + version: false + static_domain: false + deferred: true + noreact: false + nojquery: true + jquery_version: '3.4.1' + fontawesome_svg: false + +SilverStripe\FontAwesome\FontAwesomeField: + version: '6.5.1' + SilverStripe\View\SSViewer: source_file_comments: false themes: diff --git a/composer.json b/composer.json index 6f300eb..c5f8c99 100644 --- a/composer.json +++ b/composer.json @@ -13,11 +13,10 @@ }], "minimum-stability": "dev", "require": { - "silverstripe/cms": "^4", + "silverstripe/cms": "^5", "a2nt/silverstripe-elemental-basics": "*", "silverstripe/widgets": "*", - "gorriecoe/silverstripe-linkfield": "*", - "symfony/mailer": "^6" + "gorriecoe/silverstripe-linkfield": "*" }, "autoload": { "psr-4": { diff --git a/src/Ajax/Ex/AjaxControllerEx.php b/src/Ajax/Ex/AjaxControllerEx.php index 4af4c2e..011ac0c 100755 --- a/src/Ajax/Ex/AjaxControllerEx.php +++ b/src/Ajax/Ex/AjaxControllerEx.php @@ -75,8 +75,11 @@ class AjaxControllerEx extends Extension { $ctrl = Security::singleton(); + $auth = $ctrl->getApplicableAuthenticators()['default']; + $loginHandler = $auth->getLoginHandler('login'); + /* @var Form $form */ - $form = $ctrl->getLoginForms()['default'][0]; + $form = $loginHandler->LoginForm(); self::_processFields($form); //$form->addExtraClass('ajax-form'); diff --git a/src/Extensions/EmbedObjectField.php b/src/Extensions/EmbedObjectField.php deleted file mode 100755 index b1d5196..0000000 --- a/src/Extensions/EmbedObjectField.php +++ /dev/null @@ -1,59 +0,0 @@ -getName(); - $fields = [ - CheckboxField::create( - $name . '[autoplay]', - _t(self::class.'AUTOPLAY', 'Autoplay video?') - )->setValue($this->object->getField('Autoplay')), - - CheckboxField::create( - $name . '[loop]', - _t(self::class.'LOOP', 'Loop video?') - )->setValue($this->object->getField('Loop')), - - CheckboxField::create( - $name.'[controls]', - _t(self::class.'CONTROLS', 'Show player controls?') - )->setValue($this->object->getField('Controls')) - ]; - - return CompositeField::create(array_merge([ - LiteralField::create( - $name.'Options', - parent::FieldHolder($properties) - ) - ], $fields)); - } -} diff --git a/src/Extensions/SiteConfigExtension.php b/src/Extensions/SiteConfigExtension.php index 80864c8..8c65ce3 100755 --- a/src/Extensions/SiteConfigExtension.php +++ b/src/Extensions/SiteConfigExtension.php @@ -142,16 +142,18 @@ class SiteConfigExtension extends DataExtension $fields->addFieldsToTab('Root.Maps', $addrFields); - if (MapboxField::getAccessToken()) { - $fields->addFieldsToTab('Root.Maps', [ - //TextField::create('MapAPIKey'), - TextField::create('MapZoom'), - MapboxField::create('Map', 'Choose a location', 'Latitude', 'Longitude'), - ]); - } else { - $fields->addFieldsToTab('Root.Maps', [ - LiteralField::create('MapNotice', '

No Map API keys specified.

') - ]); + if (\class_exists(MapboxField::class)) { + if (MapboxField::getAccessToken()) { + $fields->addFieldsToTab('Root.Maps', [ + //TextField::create('MapAPIKey'), + TextField::create('MapZoom'), + MapboxField::create('Map', 'Choose a location', 'Latitude', 'Longitude'), + ]); + } else { + $fields->addFieldsToTab('Root.Maps', [ + LiteralField::create('MapNotice', '

No Map API keys specified.

') + ]); + } } /*GoogleMapField::create( diff --git a/src/MailerFix.php b/src/MailerFix.php deleted file mode 100644 index d9108b7..0000000 --- a/src/MailerFix.php +++ /dev/null @@ -1,127 +0,0 @@ -args = func_get_args(); - parent::__construct($from, $to, $subject, $body, $cc, $bcc, $returnPath); - } - - private static function convertVars($mails) - { - return is_array($mails) ? implode(',', $mails) : $mails; - } - - private function loadDetails() - { - $fields = [ - 'From', - 'To', - 'Subject', - 'Body', - 'CC', - 'BCC', - 'ReturnPath', - ]; - - $i = 0; - foreach ($fields as $f) { - $func = 'get'.$f; - - $v = $this->$func(); - - if ($v) { - $this->args[$i] = is_array($v) ? array_keys($v) : $v; - } - - $i++; - } - } - - public function send() - { - $transport = Transport::fromDsn('native://default');//smtp://localhost - $mailer = new Mailer($transport); - - $this->loadDetails(); - $this->render(); - - $body = $this->getBody(); - $to = self::convertVars($this->args[1]); - - $email = (new MimeEmail()) - ->to($to) - //->priority(Email::PRIORITY_HIGH) - ->subject($this->args[2]) - ->text(strip_tags($body, [])) - ->html($body); - - $from = self::convertVars($this->args[0]); - $from = $from ? $from : self::getDefaultFrom(); - if ($from) { - $email->from($from); - } - - $cc = isset($this->args[4]) ? self::convertVars($this->args[4]) : null; - if ($cc) { - $email->cc($cc); - } - - $bcc = isset($this->args[5]) ? self::convertVars($this->args[5]) : null; - if ($bcc) { - $email->bcc($bcc); - } - - $reply = isset($this->args[6]) ? self::convertVars($this->args[6]) : null; - if ($reply) { - $email->replyTo($reply); - } - - return $mailer->send($email); - //parent::send(); - } - - private function getDefaultFrom(): string - { - // admin_email can have a string or an array config - // https://docs.silverstripe.org/en/4/developer_guides/email/#administrator-emails - $adminEmail = Email::config()->get('admin_email'); - if (is_array($adminEmail) && count($adminEmail ?? []) > 0) { - $defaultFrom = array_keys($adminEmail)[0]; - } else { - if (is_string($adminEmail)) { - $defaultFrom = $adminEmail; - } else { - $defaultFrom = ''; - } - } - if (empty($defaultFrom)) { - $host = Director::host(); - if (empty($host)) { - throw new RuntimeException('Host not defined'); - } - $defaultFrom = sprintf('noreply@%s', $host); - } - - return $defaultFrom; - } -} diff --git a/src/Tasks/PublishAllFiles.php b/src/Tasks/PublishAllFiles.php new file mode 100755 index 0000000..56e3969 --- /dev/null +++ b/src/Tasks/PublishAllFiles.php @@ -0,0 +1,31 @@ +exists()) { + echo ''.$file->getField('Name').'
'; + $file->publishRecursive(); + } + + $i++; + } + + die('Done!'); + } +} diff --git a/src/Templates/DeferredRequirements.php b/src/Templates/DeferredRequirements.php index 286881d..a7587b7 100755 --- a/src/Templates/DeferredRequirements.php +++ b/src/Templates/DeferredRequirements.php @@ -22,7 +22,7 @@ class DeferredRequirements implements TemplateGlobalProvider private static $nojquery = false; private static $jquery_version = '3.4.1'; private static $nofontawesome = false; - private static $fontawesome_svg = true; + private static $fontawesome_svg = false; private static $custom_requirements = []; /**