Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKate Butler <kate@innocraft.com>2019-08-14 02:48:36 +0300
committerThomas Steur <tsteur@users.noreply.github.com>2019-08-14 02:48:36 +0300
commit5f96a27e860de0da9cc86db8736e08a9573fbec8 (patch)
tree488de6bbcbc5dbe2ec735e3a27d968dc08a95e1b /plugins/Installation/Controller.php
parent85932196aa30e93cc0c28d4445b081b7f710c8ae (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.php52
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()