'off'), $trackSubmit); } function init() { HTML_QuickForm2_Factory::registerRule('checkLogin', 'Piwik\Plugins\Installation\Rule_isValidLoginString'); HTML_QuickForm2_Factory::registerRule('checkEmail', 'Piwik\Plugins\Installation\Rule_isValidEmailString'); $login = $this->addElement('text', 'login') ->setLabel(Piwik::translate('Installation_SuperUserLogin')); $login->addRule('required', Piwik::translate('General_Required', Piwik::translate('Installation_SuperUserLogin'))); $login->addRule('checkLogin'); $password = $this->addElement('password', 'password') ->setLabel(Piwik::translate('Installation_Password')); $password->addRule('required', Piwik::translate('General_Required', Piwik::translate('Installation_Password'))); $pwMinLen = UsersManager::PASSWORD_MIN_LENGTH; $pwLenInvalidMessage = Piwik::translate('UsersManager_ExceptionInvalidPassword', array($pwMinLen)); $password->addRule('length', $pwLenInvalidMessage, array('min' => $pwMinLen)); $passwordBis = $this->addElement('password', 'password_bis') ->setLabel(Piwik::translate('Installation_PasswordRepeat')); $passwordBis->addRule('required', Piwik::translate('General_Required', Piwik::translate('Installation_PasswordRepeat'))); $passwordBis->addRule('eq', Piwik::translate('Installation_PasswordDoNotMatch'), ['operand' => $password]); $email = $this->addElement('text', 'email') ->setLabel(Piwik::translate('Installation_Email')); $email->addRule('required', Piwik::translate('General_Required', Piwik::translate('Installation_Email'))); $email->addRule('checkEmail', Piwik::translate('UsersManager_ExceptionInvalidEmail')); $this->addElement('checkbox', 'subscribe_newsletter_piwikorg', null, array( 'content' => '  ' . Piwik::translate('Installation_PiwikOrgNewsletter'), )); $professionalServicesNewsletter = Piwik::translate('Installation_ProfessionalServicesNewsletter', array("", "") ); $privacyNoticeLink = ''; $privacyNotice = '
' . Piwik::translate('Installation_EmailPrivacyNotice', [$privacyNoticeLink, '']) . '
'; $this->addElement('checkbox', 'subscribe_newsletter_professionalservices', null, array( 'content' => $privacyNotice . '  ' . $professionalServicesNewsletter )); $this->addElement('submit', 'submit', array('value' => Piwik::translate('General_Next') . ' ยป', 'class' => 'btn')); // default values $this->addDataSource(new HTML_QuickForm2_DataSource_Array(array( 'subscribe_newsletter_piwikorg' => 0, 'subscribe_newsletter_professionalservices' => 0, ))); } } /** * Login id validation rule * */ class Rule_isValidLoginString extends HTML_QuickForm2_Rule { function validateOwner() { try { $login = $this->owner->getValue(); if (!empty($login)) { Piwik::checkValidLoginString($login); } } catch (\Exception $e) { $this->setMessage($e->getMessage()); return false; } return true; } } /** * Email address validation rule * */ class Rule_isValidEmailString extends HTML_QuickForm2_Rule { function validateOwner() { return Piwik::isValidEmailString($this->owner->getValue()); } }