diff options
author | Kate Butler <kate@innocraft.com> | 2019-08-14 02:48:36 +0300 |
---|---|---|
committer | Thomas Steur <tsteur@users.noreply.github.com> | 2019-08-14 02:48:36 +0300 |
commit | 5f96a27e860de0da9cc86db8736e08a9573fbec8 (patch) | |
tree | 488de6bbcbc5dbe2ec735e3a27d968dc08a95e1b /plugins/Installation/Controller.php | |
parent | 85932196aa30e93cc0c28d4445b081b7f710c8ae (diff) |
Add newsletter signup button to user settings page (#14466)
* Add newsletter signup button to user settings page
* UI tests for newsletter signup on user settings page
* Move UI tests for user settings out of UIIntegrationTest
* Fix screenshots for UI tests
* Move newsletter signup logic out of API
* PR changes
* Require token to sign users up to newsletter
* Add privacy notice and checkbox to newsletter signup
* Update UI tests
* Fix UI test
* do things the angular way
* Update userSettings.twig
* PR changes
* Update reference screenshots
* Fix UI test to work with new piwik form elements; remove duplicate test
* Capture notification container in screenshot
* fix ui tests
Diffstat (limited to 'plugins/Installation/Controller.php')
-rw-r--r-- | plugins/Installation/Controller.php | 52 |
1 files changed, 13 insertions, 39 deletions
diff --git a/plugins/Installation/Controller.php b/plugins/Installation/Controller.php index d26fab9a75..fce3c42fc4 100644 --- a/plugins/Installation/Controller.php +++ b/plugins/Installation/Controller.php @@ -18,7 +18,6 @@ use Piwik\DataAccess\ArchiveTableCreator; use Piwik\Db; use Piwik\DbHelper; use Piwik\Filesystem; -use Piwik\Http; use Piwik\Option; use Piwik\Piwik; use Piwik\Plugin\Manager; @@ -26,7 +25,9 @@ use Piwik\Plugins\Diagnostics\DiagnosticService; use Piwik\Plugins\LanguagesManager\LanguagesManager; use Piwik\Plugins\SitesManager\API as APISitesManager; use Piwik\Plugins\UsersManager\API as APIUsersManager; +use Piwik\Plugins\UsersManager\NewsletterSignup; use Piwik\Plugins\UsersManager\UserUpdater; + use Piwik\ProxyHeaders; use Piwik\SettingsPiwik; use Piwik\Tracker\TrackerCodeGenerator; @@ -275,14 +276,21 @@ class Controller extends \Piwik\Plugin\ControllerAdmin if ($form->validate()) { try { - $this->createSuperUser($form->getSubmitValue('login'), + $loginName = $form->getSubmitValue('login'); + $email = $form->getSubmitValue('email'); + + $this->createSuperUser($loginName, $form->getSubmitValue('password'), - $form->getSubmitValue('email')); + $email); - $email = $form->getSubmitValue('email'); $newsletterPiwikORG = $form->getSubmitValue('subscribe_newsletter_piwikorg'); $newsletterProfessionalServices = $form->getSubmitValue('subscribe_newsletter_professionalservices'); - $this->registerNewsletter($email, $newsletterPiwikORG, $newsletterProfessionalServices); + NewsletterSignup::signupForNewsletter( + $loginName, + $email, + $newsletterPiwikORG, + $newsletterProfessionalServices + ); $this->redirectToNextStep(__FUNCTION__); } catch (Exception $e) { @@ -717,40 +725,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin } /** - * @param $email - * @param $newsletterPiwikORG - * @param $newsletterProfessionalServices - */ - protected function registerNewsletter($email, $newsletterPiwikORG, $newsletterProfessionalServices) - { - $url = Config::getInstance()->General['api_service_url']; - $url .= '/1.0/subscribeNewsletter/'; - $params = array( - 'email' => $email, - 'piwikorg' => $newsletterPiwikORG, - 'piwikpro' => $newsletterProfessionalServices, - 'url' => Url::getCurrentUrlWithoutQueryString(), - 'language' => StaticContainer::get('Piwik\Translation\Translator')->getCurrentLanguage(), - ); - if ($params['piwikorg'] == '1' - || $params['piwikpro'] == '1' - ) { - if (!isset($params['piwikorg'])) { - $params['piwikorg'] = '0'; - } - if (!isset($params['piwikpro'])) { - $params['piwikpro'] = '0'; - } - $url .= '?' . Http::buildQuery($params); - try { - Http::sendHttpRequest($url, $timeout = 2); - } catch (Exception $e) { - // e.g., disable_functions = fsockopen; allow_url_open = Off - } - } - } - - /** * @return array|bool */ protected function updateComponents() |